본문 바로가기
728x90

Computer Science/OS10

교착 상태 처리 기법 교착상태 처리 기법 교착상태의 처리는 아래 세 가지 기법이 존재합니다. 예방 : 네 가지 필요조건이 동시에 만족되는 것을 피하며 교착상태 발생 예방 회피 : 프로세스에 필요한 자원의 최대량에 대한 정보를 이용, 교착상태가 발생하지 않도록 함 탐지 및 복구 : 사후처리 방법으로 교착상태의 발생 여부 조사, 발생한 경우 적절한 조치를 취해 정상상태로 복구 한 가지씩 자세히 알아보겠습니다. 교착상태의 예방 상호배제 조건 제거 상호배제 조건을 제거하여 교착상태를 예방하고자 하는 방법입니다. 하지만 읽기 전용파일 등 상호배제가 필요 없는 공유자원이 있는 반면 프린터 등의 자원은 반드시 상호배제가 필요합니다. 해서 해당 조건 제거로 교착상태 예방은 불가능합니다. 점유대기 조건 제거 이 경우는 대기를 제거 혹은 점유.. 2023. 4. 25.
[OS] 교착 상태 프로세스의 자원 사용을 위해 자원 요구 → 사용 → 해제의 단계를 거칩니다. 만약 위 과정에서 가용자원이 없다면 자원획득이 가능할 때까지 대기가 필요합니다. 자원을 사용하고 있는 프로세스가 자원을 해제하면 그때 자원을 획득해 사용하게 됩니다. 오늘은 이러한 상황에서 발생할 수 있는 교착상태에 대하여 알아보겠습니다. 교착상태와 기아상태교착상태영어로는 DeadLock 이라고 칭하는 교착상태는 위와 같은 상황에서 여러 개의 프로세스가 서로 상대방의 작업 종료를 기다리고 있어 어느 쪽도 영원히 진행하지 못하는 상태를 말합니다. 여기서 키포인트는 영원히 라는 키워드인데요. 언젠간 해소될 수 있다면 교착상태라고 부르지 않습니다. 기아상태기아상태는 언젠가는 해소될 수 있는 가능성이 있는 경우를 칭합니다. 교착상태의 .. 2023. 4. 24.
[OS] 협력프로세스 안녕하세요. 지난번 포스팅에서 병행프로세스 상황에서의 프로세스의 관계에 대하여 알아보았습니다. 병행프로세스에는 독립프로세스와 협력프로세스가 존재한다고 말씀드렸었습니다. 오늘은 그중 하나인 협력 프로세스에 대해서 더 자세하게 알아보려고 합니다. 협력프로세스 지난 포스팅에서 협력프로세스란 수행 중인 다른 프로세스와 영향을 주고받으며 데이터 및 상태를 공유하는 프로세스라고 말씀드렸습니다. 협력 프로세스의 실행은 비결정적, 재생불가능 하다는 특징을 가지고 있고 실행 결과가 실행 순서에 따라 좌우되며 같은 입력에 대해 항상 동일한 결과를 보장하지 못한다는 특징을 가집니다. 이러한 협력 프로세스 사이에는 다양한 문제가 발생할 수 있는데요. 어떤 문제들이 발생할 수 있는지 알아보며 협력프로세스의 일반적 구현방법에 대.. 2023. 4. 24.
[OS] 병행성 문제 안녕하세요. 이번 포스팅에서는 지난번에 이어 병행프로세스에 대하여 알아보겠습니다. 오늘은 병행프로세스에서 발생할 수 있는 문제들과 해결방법에 대해 포스팅해보려고 합니다. 병행성 문제 병행성 문제는 협력 프로세스인 경우에 발생 가능합니다. 대표적으로는 아래와 같은 문제들이 존재하는데요. 상호배제 동기화 통신 이렇게 협력 프로세스는 병행성과 관점에서 상호배제, 동기화, 통신과 관련한 다양한 문제가 발생할 수 있습니다. 상호배제 상호배제를 이해하기 위해서는 먼저 임계영역이라는 개념을 알 필요가 있습니다. 두 개 이상의 프로세스가 동시에 사용할 수 없는 공유자원을 임계자원이라고 합니다. 이러한 임계자원에 접근할 수 있는 프로그램 코드 영역을 임계영역이라고 칭합니다. 상호배제란 이러한 임계 영역을 2개 이상의 프.. 2023. 4. 23.
728x90