본문 바로가기
728x90

OS9

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