본문 바로가기

반응형
SMALL

공룡책

공룡책 6장 프로세스 동기화 이 글은 공룡책으로 유명한 운영체제 9판을 가지고 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. 협력적 프로세스는 시스템 내에서 실행 중인 다른 프로세스의 실행에 영향을 주거나 영향을 받는 프로세스입니다. 협력적 프로세스는 논리 주소 공간(코드와 데이터)을 직접 공유하거나, 단지 파일 또는 메시지에 의해서 데이터의 공유가 허용됩니다. 전자의 경우 4장에서 논의한 스레드를 사용해 달성할 수 있습니다. 공유 데이터에 대한 동시 접근은 데이터의 비일관성을 낳을 수 있습니다. 이 장에서는, 논리 주소 공간을 공유하는 협력적 프로세스의 질서 있는 실행을 보장하여, 이를 통해 데이터의 일관성을 유지하는 다양한 메커니즘을 논의합니다. 배경 저흰 이미 프로세스가 병행하게 또는 병렬로 .. 더보기
공룡책 4장 스레드 이 글은 공룡책으로 유명한 운영체제 9판을 가지고 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. 앞선 3장 프로세스 글은 하나의 프로세스가 하나의 스레드를 가지고 프로그램을 실행한다고 가정했습니다. 그러나 현대 운영체제에서는 한 프로세스에 다중 스레드를 포함하는 특성을 가집니다. 스레드란? 스레드는 CPU 이용의 기본 단위입니다. 스레드는 스레드 ID, 프로그램 카운터, 레지스터 집합, 그리고 스택으로 구성됩니다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터, 운영체제 자원들을 공유합니다. 프로세스는 하나의 스레드는 반드시 가집니다. 만약 다수의 스레드를 가지면 프로세스는 한 번에 하나 이상의 작업을 수행할 수 있습니다. 이 두 가지의 차이가 단일 스레드,.. 더보기
공룡책 3장 프로세스 이 글은 공룡책으로 유명한 운영체제 9판을 가지고 작성한 글입니다. 다르거나 이상한 점이 있다면 댓글로 알려주시면 감사하겠습니다. 옛날엔 한 번에 하나의 프로세스만을 실행하도록 했지만, 오늘 날의 컴퓨터 발전으로 다수의 프로그램이 적재되어 실행되는 것을 허용하게 되었습니다. 그렇기에 프로그램을 보다 견고하게 제어해야하여 프로세스의 개념이 나오게 되었습니다. 프로세스란? 프로세스란 실행 중인 프로그램을 말합니다. 멀티태스킹(시분할) 시스템에서 작업의 단위가 되기도 합니다. 프로세스는 스택, 힙, 데이터, 텍스트 섹션들을 가지고 있습니다. 스택의 경우엔 함수의 매개변수, 복귀 주소, 지역 변수와 같은 임시적인 자료를 가지고 있습니다. 데이터는 전역 변수를 포함합니다. 힙의 경우엔 프로그램 실행 중에 동적으로.. 더보기

반응형
LIST