프로세스
프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다. 프로세스 관리는 운영 체제의 중요한 부분이 되었다.
세마포어
세마포어(Semaphore)는 에츠허르 데이크스트라가 고안한, 두 개의 원자적 함수로 조작되는 정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다. 이는 철학자들의 만찬 문제의 고전적인 해법이지만 모든 교착 상태를 해결하지는 못한다.
이전에 philosophers 과제를 진행하기전에 평가를 하면서 대략적인 설명을 들은 적이 있었는데
그때 피평가자분께서 설명하길, 뮤텍스는 간단하게 설명하자면 화장실 열쇠라고 생각하면 된다고 하였다.
하나밖에 없는 열쇠를 누군가 들고가서 사용하고 있다면 다음 사람은 열쇠가 제자리에 올때까지 기다리고,
먼저 들어간 사람이 다시 열쇠를 놓으면 대기하고있던 다음 사람이 열쇠를 쓸 수 있듯이 말이다.
'42seoul > philosophers' 카테고리의 다른 글
스레드(thread)와 뮤텍스(mutex) (0) | 2021.06.12 |
---|---|
philosopher 허용함수 정리 (0) | 2021.06.06 |
philosopher subject (1) | 2021.06.06 |