[OS] OS의 구조와 작동방식

Jaehyeong Kwon·2022년 4월 30일
0

OS(Operating System)이란?

운영체제(OS: Operating System)는 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 하드웨어와 유저간의 인터페이스를 담당하는 프로그램이다.

OS = Kernel + System Programs + libraries + Utility Services(compiler, shell)

운영체제의 목적은 사람이 컴퓨터를 편하게 이용하고 효율적으로 HW를 관리하는 것이다. 따라서 OS는 어플리케이션에 대한 인터페이스를 제공하고 자원 관리자로서 CPU, RAM, I/O device 등을 관리한다.

OS의 목적

os는 사람이 하드웨어와 소프트웨어를 편리하게 사용하며 컴퓨터의 성능을 높여주는 것이 1차원적인 목적이다. 일반적으로 4가지 정도의 OS의 목적이 있다.

  • 처리 능력(Throughput)의 향상 : 일정한 단위 시간 내에 처리할 수 있는 일의 양으로 수치가 높을 수록 좋다.
  • 반환 시간(Turn-around time)의 최소화 : 어떠한 작업을 시작한 시간부터 끝날 때까지 걸리는 시간
  • 사용 가능도(Availability)의 향상 : 시스템을 이용하고 싶을 때 언제든지 이용할 수 있는 가를 나타낸다.
  • 신뢰도(Reliability)의 향상 : 시스템이 주어진 문제를 얼마나 정확하게 해결할 수 있는 지를 나타냅니다.

OS의 역할

OS는 하드웨어를 활용할 수 있게 소프트웨어나 펌웨어로 만들어져 있는 시스템 프로그램이다. OS는 컴퓨터의 능력을 사용자가 잘 활용할 수 있게하고, 하드웨어가 높은 성능을 발휘할 수 있게 관리하는 역할을 한다. 운영체제의 역할은 다음과 같다.

  • 부팅
  • 저장 매체 관리
  • UI
  • 컴퓨터 자원 관리
  • 파일 관리
  • 프로세스 관리

OS의 작동 방식

멀티 프로그래밍

컴퓨터에는 CPU와 다양한 I/O 디바이스들이 존재하는데 CPU에는 단 하나의 프로그램 밖에 올라가지 않는다. 만약 해결중이던 프로세스가 I/O 대기 상태면 CPU는 그동안 놀게 된다. 따라서 메모리에 여러 프로세스들을 올려두고 I/O 대기 상태가 되면 다음 Job으로 넘어가 최대한 CPU의 대기 상태를 제거하는 방식이다. 하지만 이 방식에도 단점이 존재하는데 사용자가 현재 진행중인 작업에 대해 관여할 수 없다는 것이다. 중요한 일이 급하게 해결해야 한다 하더라도 자발적 양보에 의존하기 때문에 I/를 하지 않는 작업이라면 기다릴 수 밖에 없다.

타임 셰어링

시간 공유 방식은 멀티 프로그래밍에서 확장된 방식이다. 멀티 태스킹이라고 부르기도 한다. 일괄 처리 시스템에서는 하나의 Job이 끝날 때까지 다른 작업이 CPU를 사용할 수 없는 문제가 있다. CPU가 스케쥴링을 통해 작업들을 빠르게 스위칭하면서 동시에 프로그램이 작동하는 것처럼 느껴지게 한다. CPU의 실행 시간을 나누는 단위를 타임 슬라이스라고 한다. 일반적으로 10ms이며 모든 job은 타임 슬라이스동안 CPU를 점유하고 시간이 지나면 다시 양보한다.

인터럽트

CPU가 Job을 처리하고 있을 때, I/O 디바이스 등의 장치나 예외 상황이 발생하여 처리가 필요한 경우 신호를 주어 처리할 수 있도록 하는 것이다.

profile
나무와 같이 성장하는 사람

0개의 댓글