[운영체제] 운영체제 본문

CS/운영체제

[운영체제] 운영체제

미니모아 2022. 4. 17. 21:45
반응형

운영체제란

운영체제란 응용프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어를 말한다. 컴퓨터의 하드웨어 바로 윗단에 설치된다.

운영체제는 컴퓨터 내의 자원을 효율적으로 관리하는 것(자원 관리)와 추상화된 인터페이스를 통해 쉽게 프로그램을 사용할 수 있도록 (시스템 관리)하는 주요 기능을 가진다. 이 때 자원은 하드웨어와 소프트웨어를 통틀어 말한다.

운영체제는 자원 관리자라고 불리며 커널 함수를 실행하면서 스위칭한다.

기능

프로세스 관리

운영체제에서 작동하는 응용프로그램을 관리하는 기능

CPU를 점유해야할 프로세스를 결정하고, 할당하며 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다.

  • 프로세스 스케줄링 및 동기화
  • 프로세스 생성 제거, 시작과 정지
  • 스케줄링
  • IPC 통신

기억장치 관리

1차 저장 장치: 메인 메모리, 2차 저장장치: 하드디스크, NAND

  • 메모리 관리
  • 가상 메모리
  • 파일 시스템

네트워킹

네트워크 프로토콜을 지원한다.

  • TCP/IP
  • 기타 프로토콜

사용자관리

  • 계정 관리
  • 접근 권한 관리

디바이스 드라이버

시스템의 자원, 하드웨어를 관리한다. 시스템에 붙어 있는 여러 하드웨어들을 운영체제에서 인식하고 관리하여 응용 프로그램이 하드웨어를 사용할 수 있게 만든다.

  • 순차접근 장치
  • 임의접근 장치
  • 네트워크 장치

발전

1. 순차처리 (serial processing)

  • 작업별 순차처리
  • 비싼 자원의 비효율적인 사용

2. 일괄 처리 (Simple Batch)

  • setup 시간을 줄이기 위해 비슷한 유형의 작업들을 묶어서 처리
  • 최초의 일괄 처리 OS로 Monitor를 사용

요구되는 기능

  • memory protection
    • 프로그램이 실행되는 동안 Monitor를 포함한 메모리공간은 변경되면 안됨
  • system timer
    • 작업이 시스템을 독점하는 것을 방지하기 위함
  • priviledged instruction
    • Monitor에 의해서만 수행되는 명령어
  • I/O device controller
  • CPU와 비동기 I/O의 overlapping을 위한 인터럽트
    • Synchronous I/O
      • I/O 시작되면 끝날 때까지 프로그램이 기다려야함
    • Asynchronous I/O
      • I/O 시작되면 끝날 때까지 프로그램이 기다리지 않음

느리고 CPU가 게으름

3. 멀티 프로그래밍 (Multiprogrammed Batch System)

CPU의 사용효율을 높이는 것이 목표이다. 여러 개의 프로그램을 메모리에 나눠서 적재한 후 CPU를 번갈아 할당하여 프로세서 사용을 극대화시키면서 여러 프로그램을 동시에 실행시킨다.

요구되는 기능

  • Relocation : job이 어느 위치에 로드될지를 사용자는 알 수 없기 때문에 임의의 주소에서도 문제 없이 수행될 수 있어야 한다. 논리적 주소를 물리적 주소로 바꿨을때도 job이 수행될 수 있어야 한다.
  • Memory Protection: 프로세스에 의한 메모리 참조는 런타임 안에 체크 되어야 한다.

위 두가지 요구사항을 수행하는 하드웨어를 MMU라고 한다.

4. 시분할시스템 (Time Sharing System) = 멀티 태스킹 = 라운드 로빈

  • 다중 상호적인 job을 처리하고 반응 시간을 줄이는 것을 목표로 한다.
  • 프로세스의 작업 시간을 여러 사용자가 나눠서 사용한다.
  • 여러 사용자가 각자의 프로그램을 실행한다. 하나의 CPU는 같은 시점에서 여러 개의 작업을 동시에 수행할 수 없기 때문에 전체 사용 시간을 작은 작업 시간량으로 쪼개어 그 시간량 동안만 번갈아가면서 CPU를 할당하여 각 작업을 처리한다.

반응형

'CS > 운영체제' 카테고리의 다른 글

[운영체제] 스레드, 프로세스 vs 스레드  (0) 2022.04.18
[운영체제] 프로세스  (0) 2022.04.17
[운영체제] 캐시 Cache  (0) 2022.04.17
[운영체제] 가상메모리  (0) 2022.04.14
[운영체제] 메모리 관리  (0) 2022.04.14
Comments