방학 더주세요
이번주는 프로세스의 동기화와 교착상태에 대해 알아보았다.
프로세스 동기화
- 프로세스들 사이의 수행 시기를 맞추어 실행순서를 제어하고 동시에 접근해서는 안되는 자원에는 하나의 프로세스만 접근할 수 있도록 상호배제 하는것
공유자원과 임계구역
- 공유자원: 동시에 실행되는 프로세스들의 자원 (전역변수, 파일 등)
- 임계구역: 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드영역
임계구역은 두 개 이상의 프로세스가 동시에 실행되면 안되는 여역이지만, 잘못된 실행으로 인해 여러 프로세스가 동시 다발적으로 임계구역의 코드를 실행하는 경우가 있다. 이를 레이스컨디션이라고 한다.
레이스컨디션이 발생하지 않도록 운영체제는 세 가지 원칙 하에 프로세스 자원을 관리한다.
- 상호 배제(mutual exclusion): 한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없다.
- 진행(progress): 임계 구역에 어떤 프로세스도 진입하지 않았다면 임계 구역에 진입하고자 하는 프로세스는 들어갈 수 있어야 한다.
- 유한 대기(bounded waiting): 한 프로세스가 임계 구역에 진입하고 싶다면 그 프로세스는 언젠가는 임계 구역에 들어올 수 있어야 한다. (임계구역에 들어오기위해 무한정 대기해서는 안된다.)
기본미션
뮤텍스락: 하나의 공유자원에 접근하는 프로세스를 상정한 방식
세마포: 공유 자원이 여러개 있는 상황에서 Stop/Go 신호를 이용해 각 공유자원에 접근이 가능한 방식
뮤텍스락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요.
4. 반드시 바쁜대기를 해야한다(X) => 반드시 바쁜 대기를 할 필요가 없고 대기상태로 접어들게 할 수도 있다.
'개발 > Inafolio' 카테고리의 다른 글
[혼공단 10기] 혼공컴운 - 굿바이 혼공단! 회고 (0) | 2023.08.21 |
---|---|
[혼공단 10기] 혼공컴운 - 6주차 미션 (2) | 2023.08.19 |
[혼공단 10기] 혼공컴운 - 4주차 미션 (0) | 2023.07.30 |
[혼공단 10기] 혼공컴운 - 3주차 미션 (0) | 2023.07.21 |
[원티드 7월 프리온보딩] 직접 만져보는 Next.js해부학 교실 - CSR / SSR with Next.js 후기 (with 오종택) (0) | 2023.07.17 |