[운영체제] 5. 운영체제 서비스

이호용·2021년 4월 3일
0

운영체제

목록 보기
4/12
post-thumbnail

아래 내용들은 양희재 교수님의 운영체제 강의를 듣고 정리한 내용입니다.

운영체제 서비스.

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

    os에서 컴퓨터에 있는 자원들을 효율적으로 나누어준다. os에는 아래 그림처럼 프로세스를 관리하는 부서, 메모리를 관리하느 부서 등 이런식으로 나뉘어져서 관리해주는 부서들이 있다고 생각하면 된다.

1. 프로세스 관리

  • Process management(프로세스)
  • 메모리에서 실행 중인 프로그램 (program in execution) 관리

주요기능

  • 프로세스의 생성, 소멸 (creation, deletion)
  • 프로세스 활동 일시 중지, 활동 재개 (suspend, resume)
  • 프로세스간 통신 (interprocess communication: IPC)
  • 프로세스간 동기화 (synchronization)
  • 교착상태 처리 (deadlock handling)(메인메모리에 프로세스가 많아지고 프로세스가 많아지면 순서가 뒤죽박죽 되면서 작동에 어려움을 겪을수도 있다 이런것들도 처리함.)

2 주기억장치 관리

  • Main memory management

주요기능

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

3 파일 관리

  • File management
  • Track/sector 로 구성된 디스크를 파일이라는 논리적 관
    점으로 보게

주요기능

  • 파일의 생성과 삭제 (file creation & deletion)
  • 디렉토리(directory)의 생성과 삭제 (또는 폴더 folder)
  • 기본동작지원: open, close, read, write, create, delete
  • Track/sector (파일에 저장하거나 불러오는것들? 잘 이해안되서 그냥 넘김..)
  • file 간의 매핑(mapping)
  • 백업(backup)

4 보조기억장치 관리

  • track/sector들을 모으면 block이라고 하는데, 블락들에 데이터를 저장한다. 포멧하면 블락들은 아무것도 사용하지 않고 있음. 그러다 컴퓨터를 쓰다 보면 블락들을 사용하게 되고 여러 블락중 남아있는 공간을 관리하고 새로 들어올 데이터를 어디에넣을지 관리해주는 역활을 보조기억장치 관리에서 함.
  • Secondary storage management
  • 하드 디스크, 플래시 메모리 등

주요기능

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

5. 입출력 장치 관리

  • I/O device management
  • 입출력 장치 관리

주요기능

  • 장치 드라이브 (Device drivers)
  • 입출력 장치의 성능향상: buffering, caching, spooling (버퍼링은 입출력 장치에서 읽은 내용을 메모리로 들고옴., spooling, 예를들어 프린터로 글자를 찍는동안 cpu는 다른일을 해야하기 때문에 프린터에 필요한 데이터는 하드웨어에 저장하는걸 spooling이라고함. )

6. 시스템 콜

  • System calls
  • 프로그램들(프로세스)이 하드웨어에 필요한 요청들을 운영체제를 통해 진행

주요 시스템 콜

  • 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

  • 위 사진처럼 프로세스에서 하드웨어에 직접적으로 요청을 할수 없다. 그래서 운영체제를 통해 하드웨어를 변경 시키는데, 여기서 프로세스가 운영체제에게 부탁하는 작업을 syscall이라고 한다.

시스콜로 파일 만들어보는예제 (예제: Linux)

  • INT 80H
  • 예제: 파일 만들기 (Create file)
  • EAX = 8, ECX = file attributes, EBX = file name, 이런식으로 레지스터에 파일에 속성 정보들을 넣고, int 80 을 호출해서 os에 부탁하면 해당 데이들을 가지고 파일을 만들어 준다.
  • 시스템 콜 라이브러리 (library)

0개의 댓글