본문 바로가기
728x90

세마포어2

[OS] 협력프로세스 안녕하세요. 지난번 포스팅에서 병행프로세스 상황에서의 프로세스의 관계에 대하여 알아보았습니다. 병행프로세스에는 독립프로세스와 협력프로세스가 존재한다고 말씀드렸었습니다. 오늘은 그중 하나인 협력 프로세스에 대해서 더 자세하게 알아보려고 합니다. 협력프로세스 지난 포스팅에서 협력프로세스란 수행 중인 다른 프로세스와 영향을 주고받으며 데이터 및 상태를 공유하는 프로세스라고 말씀드렸습니다. 협력 프로세스의 실행은 비결정적, 재생불가능 하다는 특징을 가지고 있고 실행 결과가 실행 순서에 따라 좌우되며 같은 입력에 대해 항상 동일한 결과를 보장하지 못한다는 특징을 가집니다. 이러한 협력 프로세스 사이에는 다양한 문제가 발생할 수 있는데요. 어떤 문제들이 발생할 수 있는지 알아보며 협력프로세스의 일반적 구현방법에 대.. 2023. 4. 24.
[OS] 병행성 문제 안녕하세요. 이번 포스팅에서는 지난번에 이어 병행프로세스에 대하여 알아보겠습니다. 오늘은 병행프로세스에서 발생할 수 있는 문제들과 해결방법에 대해 포스팅해보려고 합니다. 병행성 문제 병행성 문제는 협력 프로세스인 경우에 발생 가능합니다. 대표적으로는 아래와 같은 문제들이 존재하는데요. 상호배제 동기화 통신 이렇게 협력 프로세스는 병행성과 관점에서 상호배제, 동기화, 통신과 관련한 다양한 문제가 발생할 수 있습니다. 상호배제 상호배제를 이해하기 위해서는 먼저 임계영역이라는 개념을 알 필요가 있습니다. 두 개 이상의 프로세스가 동시에 사용할 수 없는 공유자원을 임계자원이라고 합니다. 이러한 임계자원에 접근할 수 있는 프로그램 코드 영역을 임계영역이라고 칭합니다. 상호배제란 이러한 임계 영역을 2개 이상의 프.. 2023. 4. 23.
728x90