OS의 일반적인 작동 원리

이지수·2022년 10월 27일
0

Backend Loadmap

목록 보기
15/22
post-thumbnail

OS(운영체제)

운영체제(OS, Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다.

대표적인 컴퓨터 운영체제로는 윈도우(Windows), 맥 OS(Mac OS), 리눅스(Linux), 유닉스(Unix) 등이 있습니다.

목적

운영체제의 목적에는 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등이 있습니다. 처리능력, 반환시간, 사용가능도, 신뢰도는 운영체제의 성능을 평가하는 기준이 됩니다.

  • 처리능력(Throughput): 일정 시간 내에 시스템이 처리하는 일의 양
  • 반환시간(Turn Around Time): 시스템에 작업을 의뢰한 시간부터 처리가 완료될 떄까지 걸린 시간
  • 사용가능도(Availability): 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  • 신뢰도(Reliabilty): 시스템이 주어진 문제를 정확하게 해결하는 정도

기능

  • 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리합니다.
  • 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공합니다.
  • 사용자와 시스템간의 편리한 인터페이스를 제공합니다.
  • 시스템의 각종 하드웨어와 네트워크를 관리, 제어합니다.
  • 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공합니다.
  • 시스템의 오류를 검사하고 복구합니다.
  • 자원 보호 기능을 제공합니다.
  • 입 출력에 대한 보조 기능을 제공합니다.
  • 가상 계산기 능력을 제공합니다.

OS의 구조

운영체제는 커널과 인터페이스로 이루어져 있습니다.

  • 커널 :프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로 운영체제의 성능을 좌우합니다.
  • 인터페이스 :사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 합니다.

운영체제는 커널과 인터페이스를 분리하여 같은 커널을 사용하더라도 다른 인터페이스를 가질 수 있습니다.

OS의 작동 원리

  1. 우리가 컴퓨터의 전원을 누르는 순간 컴퓨터에 전원을 공급하는 파워 서플라이는 메인보드에 부착된 장치들(CPU, 디스크, 메모리)에게 전력을 공급합니다.

  2. CPU가 ROM에 저장된 펌웨어인 BIOS를 실행합니다.

  3. 실행된 BIOS는 컴퓨터를 켤 때 문제가 있나 확인하는 프로그램인 POST를 실행해 주변 하드웨어 체크를 합니다.

  4. POST 과정이 끝난 BIOS는 부팅매체를 선택하고 부팅매체의 MBR에 저장된 부팅정보를 읽어오는 부트스트랩을 실행합니다.

    모든 기억장치(USB, 디스크 등)은 MBR란 영역을 가지고 있습니다.
    MBR이라는 기억 공간에는 디스크에 있는 운영체제(OS) 코드가 복사되어 있는 부트로더라는 프로그램이 저장되어 있습니다. 디스크는 MBR 정보를 읽고 BIOS는 부팅 과정을 도와주는 부트 스트랩을 이용해 부트로더를 RAM으로 옮깁니다. 부트로더의 OS 코드는 RAM에서 실행되어 제어권이 OS에 넘어갑니다. 이것을 부팅(Booting)이라고 합니다.

  5. 부트스트랩 과정으로 RAM에 부트로더가 올라가고, 부트로더는 디스크에 있는 OS 코드를 복사해 RAM에 붙여서 OS를 실행합니다.

  6. 제어권이 OS에 넘어오며 성공적으로 OS가 부팅됩니다.

  7. OS는 대기하고 있던 첫번째 프로세스를 실행합니다.

  8. 인터럽트가 발생하면서 CPU는 각종 작업을 처리합니다.

  • ROM(Read Only Memory): 오직 읽기만 가능한 메모리이며 전력 공급이 끊겨도 저장된 데이터가 사라지지 않습니다.
  • RAM(Random Access Memory): 자유롭게 데이터를 올리고 지우지만 전력공급이 끊기면 데이터가 모두 사라지는 휘발성 메모리입니다.
  • BIOS(Basic Input/Output System): 사용자가 컴퓨터를 키면 시작되는 프로그램으로 주변장치와 운영체제(OS) 사이의 데이터의 흐름을 관리합니다.
  • 인터럽트(Interrupt): 인터럽트란 어떠한 방해물이나 개입적인 요소를 의미합니다. CPU가 프로세스를 실행할 때 예외상황이 일어나면 현재 하던 일을 중단하고 그 인터럽트에 대한 처리를 먼저 하게 됩니다.

참고
운영체제란 무엇인가?
운영체제의 구조
OS의 기본적인 작동방식

0개의 댓글