본문 바로가기

반응형
SMALL

프로세스

데드락 (Deadlock) 교착상태라고도 불리는 데드락을 알아보도록 하겠습니다. 데드락은 어느 프로세스도 일을 할 수 없는 상태를 말합니다. Process 상태 Blocked/Asleep state : 프로세스가 특정 이벤트를 기다리는 상태 Deadlock 상태 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우입니다. 그렇다면 여기서 궁금한게 생깁니다. 기아 상태도 이벤트를 기다리는 경우인데 Deadlock과 무슨 차이가 있을까요? Deadlock과 Starvation의 차이 Deadlock은 asleep 상태에서 자원이나 이벤트를 기다리는데 일어날 가능성이 없는 것을 기다리는 경우입니다. Starvation은 ready 상태에서 CPU를 기다리는데 발생할 수 있는데, 계속해서 새치기를 당하는 경우입니다. Deadlock은 자.. 더보기
프로세스 동기화 (Process Synchronization and Mutual Exclusive) 이 글은 앞서 포스팅한 공룡책 6장 프로세스 동기화에서 이해되지 못한 부분을 정리하기 위해서 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. Process Synchronization (동기화) 다중 프로그래밍 시스템 여러 개의 프로세스들이 존재합니다. 프로세스들은 서로 독립적으로 동작합니다. 즉, 동시에 동작합니다. 만약 공유 자원을 동시에 접근하려고 하면 문제가 생길 수 있습니다. 예를들어 한 종이에 두 명의 사람이 그림을 그리려고 하는데, 한 종이에 두 사람이 동시에 그림을 그리면 그림은 엉망이 됩니다. 그래서 그림을 그리기 위해 대화를 해야하는데, 이 대화하는 행위가 동기화입니다. 공유 자원 또는 데이터가 있을 때, 문제 발생 가능합니다. 동기화 (Synchroni.. 더보기
공룡책 6장 프로세스 동기화 이 글은 공룡책으로 유명한 운영체제 9판을 가지고 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. 협력적 프로세스는 시스템 내에서 실행 중인 다른 프로세스의 실행에 영향을 주거나 영향을 받는 프로세스입니다. 협력적 프로세스는 논리 주소 공간(코드와 데이터)을 직접 공유하거나, 단지 파일 또는 메시지에 의해서 데이터의 공유가 허용됩니다. 전자의 경우 4장에서 논의한 스레드를 사용해 달성할 수 있습니다. 공유 데이터에 대한 동시 접근은 데이터의 비일관성을 낳을 수 있습니다. 이 장에서는, 논리 주소 공간을 공유하는 협력적 프로세스의 질서 있는 실행을 보장하여, 이를 통해 데이터의 일관성을 유지하는 다양한 메커니즘을 논의합니다. 배경 저흰 이미 프로세스가 병행하게 또는 병렬로 .. 더보기
공룡책 3장 프로세스 이 글은 공룡책으로 유명한 운영체제 9판을 가지고 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. 옛날엔 한 번에 하나의 프로세스만을 실행하도록 했지만, 오늘 날의 컴퓨터 발전으로 다수의 프로그램이 적재되어 실행되는 것을 허용하게 되었습니다. 그렇기에 프로그램을 보다 견고하게 제어해야하여 프로세스의 개념이 나오게 되었습니다. 프로세스란? 프로세스란 실행 중인 프로그램을 말합니다. 멀티태스킹(시분할) 시스템에서 작업의 단위가 되기도 합니다. 프로세스는 스택, 힙, 데이터, 텍스트 섹션들을 가지고 있습니다. 스택의 경우엔 함수의 매개변수, 복귀 주소, 지역 변수와 같은 임시적인 자료를 가지고 있습니다. 데이터는 전역 변수를 포함합니다. 힙의 경우엔 프로그램 실행 중에 동적으로.. 더보기

반응형
LIST