728x90
반응형

운영체제 2

[운영체제 공룡책] 6장 Synchronization Tools(동기화 도구)

6.1 Background 동시성 및 병렬성프로세스는 동시성(concurrent) 또는 병렬성(parallel)을 통해 실행될 수 있다.CPU 스케줄러는 프로세스 간 빠르게 전환하며 동시 실행을 가능하게 한다.병렬성은 여러 프로세스가 별도의 처리 코어에서 동시에 실행되는 것을 의미한다.공유 데이터와 무결성 문제여러 프로세스가 공유 데이터를 동시에 수정할 때 데이터 무결성 문제가 발생할 수 있다.예로 생산자-소비자 문제가 있으며, 공유 메모리에서 데이터의 생산과 소비를 조율한다.레이스 조건(Race Condition)여러 프로세스가 동일한 데이터에 접근해 조작할 때 실행 순서에 따라 결과가 달라지는 상황을 의미한다.동기화 필요성레이스 조건을 방지하려면 공유 데이터에 대해 하나의 프로세스만 접근 가능하도록 ..

[운영체제 공룡책] 3장 ProcessManagement

운영체제 공룡책: 3장 Process Management3.1 Process Concept프로세스 정의:실행 중인 프로그램을 의미하며, 프로그램 카운터와 프로세서 레지스터의 상태로 현재 활동이 표현됨. 프로그램과의 차이점:프로그램은 디스크에 저장된 명령어의 집합으로 수동적(entity)이다.프로세스는 실행 중이며 자원을 가진 능동적(entity)이다.3.1.1 The Process프로세스 메모리 구조:텍스트 섹션: 실행 코드 (크기 고정).데이터 섹션: 전역 변수 (크기 고정).스택: 함수 호출 시 매개변수, 반환 주소, 지역 변수를 저장하며 동적으로 변함.힙: 동적 메모리 할당 시 확장 및 축소 가능. 프로세스와 작업(job)의 관계:프로세스는 현대적 용어, 작업(job)은 초기 운영체제의 용어로 역사..

728x90
반응형