![[워밍업 클럽] CS 전공지식 2주차 발자국](https://cdn.inflearn.com/public/files/blogs/6329d6fb-ede1-444f-85c9-551e65dae620/336224.png)
[워밍업 클럽] CS 전공지식 2주차 발자국
운영체제
프로세스 동기화
공유 자원 : 프로세스 간 통신을 할 때 공동으로 이용하는 변수나 파일들
임계 구역(Critical Section) : 여러 프로세스가 동시에 사용하면 안되는 영역
경쟁 조건(Race Condition) : 공유 자원을 서로 사용하기 위해 경쟁하는 것
상호 배제(Mutual Exclusion) : 임계 구역 문제 해결하기 위한 메커니즘
상호 배제 요구사항
1. 임계영역엔 동시에 하나의 프로세스만 접근한다.
2. 여러 요청에도 하나의 프로세스의 접근만 허용한다.
3. 임계구역에 들어간 프로세스는 빠르게 나와야한다.세마포어 : 상호 배제 메커니즘/정수형 변수/동기화 방지/잘못 사용할 가능성 있음
모니터 : 세마포어 단점 해결한 상호 배제 메커니즘/프로그래밍 언어 차원에서 지원(예: 자바의
synchronized
)
데드락
데드락(교착상태) : 여러 프로세스가 서로 다른 프로세스의 작업이 끝나기를 기다리다가 아무도 작업을 진행하지 못하는 상태/
공유자원 때문에 발생
교착상태의 필요조건
상호배제
비선점
점유와 대기
원형 대기
교착상태 회피(Deadlock avoidance) - 은행원 알고리즘
교착상태 검출
가벼운 교착 상태 검출 : 타이머 이용
무거운 교착 상태 검출 : 자원 할당 그래프 이용
자료구조
재귀
어떠한 것을 정의할 때 자기 자신을 참조하는 것
재귀 함수는 호출할 때마다 콜스택의 영역을 차지
기저 조건(탈출 조건)이 반드시 있어야
하위 문제의 결과를 기반으로 현재(상위) 문제 계산하는 데 유용(하향식 계산)
회고
칭찬하고 싶은 점
강의를 듣고 주력 언어인 자바로 복습하고 있다.
아쉬웠던 점
계획보다 진도가 밀려서 목표한 학습량을 채우지 못한 점
보완하고 싶은 점
공부한 내용을 나의 언어로 정리해서 발행하기(Output 만들기)
댓글을 작성해보세요.