💡 운영체제 서비스
운영체제? 컴퓨터 하드웨어를 효율적으로 관리하는 프로그램! 효율적으로 관리하기 위한 방법?
- 프로세스 관리
- 주기억장치 관리
- 파일 관리
- 보조기억장치 관리
- 입출력장치 관리
- 네트워킹
- 보호
👉 1. 프로세스 관리 (Process Management)
- 프로그램(Program)
: 하드디스크와 같은 보조기억장치에서 아무런 동작을 하지 않는 상태
- 프로세스 (Process)
: 프로그램을 어떠한 요청에 의해 메인 메모리에 할당하여 CPU를 사용하면서 실행
: = 메모리에서 실행 중인 프로그램
프로세스의 주요 기능
- 프로세스의 생성과 소멸(creation, deletion)
- 프로세스 활동 일시 중지, 활동 재게(suspend, resume)
- 프로세스간 통신(interprocess communication: IPC)
- 프로세스간 동기화(synchronization)
- 교착상태 처리(deadlock handling)
👉 2. 주기억장치 관리 (Main memory management)
- 주기억 장치 관리
: 주기억 장치 (메인메모리) : 프로그램이 실행되기 위한 공간으로, CPU는 오직 메인 메모리에 있는 프로그램(프로세스)하고만 소통할 수 있음
: 메인메모리를 효율적으로 사용하도록 관리
주요 기능
- 프로세스에게 메모리 공간 할당 (allocation)
- 메모리의 어느 부분이 어느 프로세스에세 할당되었는가 추적 및 감시
- 프로세스 종료 시 메모리 회수 (deallocation)
- 메모리의 효과적 사용
- 가상 메모리 : 물리적 실제 메모리보다 큰 용량을 사용
👉 3. 파일 관리 (File management)
: 디스크는 물리적으로 Track과 sector로 구성되어 있으며, 여기서 파일이라는 논리적 관점으로 데이터를 바라보고 관리
주요 기능
- 파일의 생성과 삭제(file creation, deletion)
- 디렉토리(Directory)의 생성과 삭제
- 기본 동작 지원: open, close, read, write, create, delete
- Track/sector - file 간의 매핑(mapping)
- 백업(Backup)
👉 4. 보조기억장치 관리(Secondary storage management)
- 보조기억장치 - 하드 디스크, 플래시 메모리(주로 스마트폰에 사용)
- 하드 디스크를 예로 들면, 하드 디스크에서 아무 것도 저장되어 있지 않는 공간을 block이라 하는데, 보조기억장치 관리는 이를 관리
주요 기능
- 빈 공간 관리(Free space management)
- 저장공간 할당(Storage allocation)
- 디스크 스케줄링(Disk scheduling)
👉 5. 입출력장치 관리 (I/O device management)
- 입출력 장치에는 키보드, 마우스, 프린터, 스피커, 마이크 등
주요 기능
- 장치 드라이브(Device drivers)
- 입출력 장치의 성능향상: buffering, caching, spooling
👉 6. 시스템 콜 (System Call)
- 시스템콜 : 유저 프로세스에서 운영체제 서비스를 받기 위해 사용하는 호출

주요 시스템 콜
- Process: end(정상 종료), abort(강제 종료), load, execute, create, terminate, get/set, attributes, wait event, signal event
- Memory: allocate, free
- File: create, delete, open, close, read, write, get/set attributes
- Device: request, release, read, write, get/set attributes, attach/detach devices
- information: get/set time, get/set system data
- Communication: socket, send, receive
참고
참고 강의 - 운영체제 양희재 교수님 강의