Operating System Concepts 10th, 3.3장을 요약한 내용입니다. 시스템 내의 프로세스들은 병행 실행될 수 있으며, 반드시 동적으로 생성되고 제거되어야 한다. 따라서 OS는 프로세스 생성 및 종료를 위한 기법을 제공해야 한다. 1. 프로세스 생성 Process Creation 부모 프로세스와 자식 프로세스 실행되는 동안 프로세스는 여러 개의 새로운 프로세스를 생성할 수 있다. 생성하는 프로세스는 부모 프로세스라고 한다. 생성되는 새로운 프로세스는 자식 프로세스라고 한다. 이렇게 생성된 자식 프로세스는 다시 다른 프로세스를 생성할 수 있다. 그리고 이렇게 만들어진 프로세스는 트리 형태를 보인다. 프로세스 식별자 (pid) 현대 운영체제들은 유일한 프로세스 식별자(pid)를 사용하여 프..
process
Operating System Concepts 10th, 3.2장을 요약한 내용입니다. 1. 프로세스 스케줄러의 목적 다중 프로그래밍의 목적 CPU 이용을 최대화하기 위해 항상 어떤 프로그램을 실행되도록 하는 데 있다. 시분할의 목적 프로그램이 실행되는 동안 사용자가 상호작용할 수 있도록 프로세스들 사이에서 CPU 코어를 빈번하게 교체하는 것이다. 위 목적을 달성하기 위해 프로세스 스케줄러는 실행 가능한 여러 프로세스 중에서 하나의 프로세스를 선택한다. CPU 코어는 한 번에 하나의 프로세스만 실행시킬 수 있어 아래와 같은 경우를 생각해야 한다. 단일 CPU 코어 시스템인 경우 한 번에 2개 이상의 프로세스를 수행할 수 없다. 다중 코어 시스템은 경우 한 번에 여러 프로세스를 수행할 수 있지만, 코어보다..
Operating System Concepts 10th, 3.1장을 요약한 내용입니다. 1. 프로세스 (The Process) 프로세스란 프로세스는 실행 중인 프로그램이다. 프로세스의 현재 활동 상태는 프로그램 카운터 값과 프로세서 레지스터의 내용으로 나타낸다. 프로세스 메모리 배치는 일반적으로 여러 섹션으로 구분된다. 프로세스 메모리 배치 텍스트 섹션: 실행 코드 데이터 섹션: 전역 변수 힙 섹션: 프로그램 실행 중에 동적으로 할당되는 메모리 스택 섹션: 함수를 호출할 때 임시 데이터 저장 장소 (예: 함수 매개변수, 복귀 주소 및 지역 변수) 텍스트 및 데이터 섹션의 크기는 고정되기 때문에 프로그램 실행 동안 크기가 변하지 않는다. 스택 및 힙 섹션은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 ..