운영체제 서비스

이상훈·2022년 9월 25일
0

CS

목록 보기
18/27

운영체제 서비스

하드웨어 자원에는 CPU, Memory, 키보드 등이 있다. 모든 애플리케이션들은 자원을 사용하는데 그 자원들을 효율적으로 나누고 관리하는 것이 운영체제이다. 운영체제는 이를 위하여 다음과 같은 서비스들을 제공한다.

  • Process management
  • Main memory management
  • File management
  • Secondary storage management
  • I/O device management

Process management와 Main memory management가 가장 중요!!


Process management

주요 기능

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

프로세스(process) : 메모리에서 실행 중인 프로그램


Main memory management

주요 기능

  • 프로세스에게 메모리 공간 할당 (allocation)
  • 메모리의 어느 부분이 어느 프로세스에게 할당되었는가 추적 및 감시
  • 프로세스 종료 시 메모리 회수 (deallocation)
  • 메모리의 효과적 사용
  • 가상 메모리: for 물리적 실제 메모리보다 큰 용량 갖기 위해

File management

주요 기능

  • 파일의 생성과 삭제 (file creation & deletion)
  • 디렉토리(directory)의 생성과 삭제 (또는 folder)
  • 기본동작 지원: open, close, read, write, create, delete
  • Track/sector와 file 간의 매핑(mapping)
    • Track/sector로 구성된 디스크를 파일이라는 논리적 관점으로 보이도록 관리
  • 백업(backup)

Secondary storage management

대표적인 보조 기억 장치 : 하드 디스크, 플래시 메모리 등

주요 기능

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

I/O device management

주요 기능

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

시스템 콜이란

시스템 콜이란 일반 애플리케이션 프로그램이 OS의 서비스를 받기 위해 호출하는 것을 의미한다.

  • 아래는 User 1 Process가 File management에 시스템 콜한 상황이다.

P : Process management
M : Main memory management
F : File management
S : Secondary storage management
I/O : I/O device management


주요 시스템 콜

  • 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/detache devices
  • Information : get/set time, get/set system data
  • Communication : socket, send, receive

시스템 콜 VS 인터럽트

  • 시스템 콜 : 프로그래밍 언어에서 운영체제(커널)의 서비스를 호출하여 사용하는 것을 말한다. 만약 일반 응용 프로그램이 시스템의 자원을 사용하여 작업을 하려고 한다면 시스템 콜을 사용하여 작업을 하면 된다.
  • 인터럽트 : 프로세서가 프로그램을 실행 도중 하드웨어나 소프트웨어의 문제 때문에 프로그램이 실행되고 있던 순서를 변경하여 좀 더 급한 이벤트를 수행한 후에 원래의 프로그램으로 복귀하여 나머지 프로그램을 수행하는 것을 인터럽트라고 한다. 인터럽트가 발생하면 현재 위치가 자동으로 인터럽트의 스택에 복귀 주소로써 저장되어 인터럽트의 끝에서 복귀 명령을 만나면 다시 복귀 주소로 돌아온다.

시스템콜은 인터럽트의 일부이다!!

profile
Problem Solving과 기술적 의사결정을 중요시합니다.

0개의 댓글