운영체제 서비스



학습목표

  • 서비스의 종류와 역할에 대해 이해한다.
  • 시스템 콜이 무엇인지 설명할 수 있다.


1. 서비스란 무엇인가?

서비스는 하드웨어(자원)들이 효율적으로 사용되도록 관리하는 주체를 의미한다.
각 하드웨어마다 관리하는 서비스가 존재한다.


2. 서비스의 종류

  • 프로세스 관리
  • 주기억장치 관리
  • 파일 관리
  • 보조기억장치 관리
  • 입출력 장치 관리
  • 네트워킹
  • 보호
  • 기타 ...등등


3. 각 서비스의 역할

1. 프로세스 관리(Process management)

프로세스(Process)란 메인메모리에 적재되어 실행 중인 프로그램을 의미한다.
프로그램은 디스크나 메모리에 있는 모든 프로그램을 지칭할 수 있지만, 프로세스는 메모리에서 실행중인 프로그램만을 의미한다는 점에서 보다 좁은 범위라고 볼 수 있다.

  • 주요 기능
    • 프로세스의 생성, 소멸(creation, deletion)
    • 프로세스 활동 일시 중지, 활동 재개(suspend, resume)
    • 프로세스간 통신(interprocess communication: IPC)
    • 프로세스간 동기화(synchronization)
    • 교착상태 처리(deadlock handling)


2. 주기억장치 관리(Main memory management)

메인메모리 자원을 효율적으로 활용할 수 있도록 관리한다.

  • 주요 기능
    • 프로세스에게 메모리 공간 할당(allocation)
    • 메모리의 어느 부분이 어느 프로세스에게 할당 되었는지 추적 및 감시
    • 프로세스 종료 시 메모리 회수(deallocation)
    • 메모리의 효과적 사용
    • 가상 메모리


3. 파일 관리(File management)

디스크의 트랙(Track)과 섹터(Sector)라는 물리적인 영역을 파일(File)이라는 논리적인 개념으로 관리한다.
덕분에 사용자는 파일을 생성하거나 삭제해달라고 하지 트랙과 섹터에 데이터를 쓰고 지워달라고하지 않는다.
파일을 삭제하는것은 실제로 대상 파일의 트랙과 섹터에 해당되는 부분을 지운다는 것을 뜻한다.
사용자가 파일이라는 단위로 생각할 수 있는것은 OS가 트랙과 섹터를 '파일'이라는 논리적인 관점에서 볼 수 있도록 도와주기 때문이다.

  • 주요 기능
    • 파일의 생성과 삭제(file creation & deletion)
    • 디렉토리의 생성과 삭제
    • 기본동작 지원: open, close, read, write, create, delete
    • 트랙/섹터와 파일간의 매핑(mapping)
    • 백업(backup)


4. 보조기억장치 관리(Secondary storage management)

보조기억장치(하드디스크, 플래시 메모리 등)를 효율적으로 사용할 수 있도록 관리한다.

  • 주요 기능
    • 빈 공간 관리(free space management)
    • 저장공간 할당(storage allocation)
    • 디스크 스케쥴링(disk scheduling)


5. 입출력장치 관리(I/O device management)

입출력장치(키보드, 마우스, 웹캠, 사운드카드 등...)의 사용을 돕는다.

  • 주요 기능
    • 장치 드라이브(Device drivers)
    • 입출력 장치의 성능 향상: buffering, caching, spooling


4. 시스템 콜(System calls)

어플리케이션이 OS의 서비스를 받기위한 호출이다.

  • 주요 시스템 콜
    • Process: end, abort, load, excute, 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/detache devices
    • Information: get/set time, get/set system data
    • Communication: socket, send, receive


Reference