Operating System
-
[운영체제: 아주 쉬운 세 가지 이야기] 4장 - 프로세스의 개념Operating System 2025. 8. 8. 15:49
프로세스 == 실행 중인 프로그램 [프로세스 API] - 생성 (예: fork(), exec()) - 제거 (예: exit()) - 대기 (예: wait()) - 각종 제어 (예: kill(), signal(), suspend(), resume()) - 상태 (예: ps(), getpid(), getppid(), proc filesystem) [프로세스 생성]프로그램 -> 프로세스로 전환시키려면 어떻게 해야할까? 어떻게 프로그램을 준비하고 실행시켜야할까?1. 프로그램 코드와 정적 데이터를 메모리, 프로세스의 주소 공간에 load (lazy loading, paging, swapping)2. 지역 변수, 함수 인자, 리턴 주소 등의 정적 데이터를 저장하기 위해 스택 할당3. 가변적인 자료 구조를 저장하기 ..
-
[운영체제: 아주 쉬운 세 가지 이야기] 2장 - 운영체제 개요Operating System 2025. 8. 8. 14:58
프로그램은 프로그램이 수행해야 할 명령어가 소진될 때까지 명령어 반입(fetch), 해석(decode), 실행(execute)을 반복한다.그리고 프로그램의 실행 제어, 프로그램 간 메모리 공유, 프로그램과 장치간 상호작용을 가능케 하는 것이 바로 운영체제다!운영체제가 하는 일1. 물리자원 가상화 => 운영체제를 '가상머신' 이라고도 함 1) CPU 가상화 : 실제 CPU 는 제한되어있지만 마치 무한대의 CPU가 제공되어 모든 프로세스가 동시에 실행되는 것처럼 보이게 함 * 시분할(time-sharing)을 통해 CPU를 여러 프로세스에 분할 2) 메모리 가상화 : 각 프로그램은 각자의 메모리를 가지고 있는 것처럼 보이지만, 실제로는 운영체제가 분배한 하나의 물리메모리를 ..