운영체제 #1

김상현·2020년 7월 28일
0

개발상식

목록 보기
5/6

운영체제는 사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어이다. 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다.

부팅

  • processor는 일반적으로 CPU를 말한다. main memory를 보면 ROM과 RAM으로 나누어져 있다.

    • ROM: 비휘발성으로 메모리에서 극히 일부를 차지한다. 하드디스크와 같이 전원이 꺼져도 그안의 내용이 계속 유지된다.
    • RAM: 휘발성으로 메모리의 대부분을 차지하며 실제 프로그램이 할당되는 곳이다.
  • 컴퓨터의 전원이 켜지면 CPU에서 ROM에 있는 내용을 읽는다. ROM 안에는 Poswer-On Self-TEST(POST), Bootloader가 저장되어있다. POST는 전원이 켜지면 가장 처음으로 실행되는 프로그램으로 현재 컴퓨터의 상태를 검사한다. 작업이 끝나면 부트로더가 하드디스크에 저장되어 있는 운영체제를 찾아서 RAM에 가지고 온다. 이 과정을 부팅이라고 한다.

Interrupt

  • 부팅이 시작되고 RAM에 할당된 운영체제는 컴퓨터의 전원이 꺼질 때까지 resident한다. 부팅이 끝나고 운영체제가 동작하는 동안 수 많은 Interrupt 발생할 수 있다. 마우스를 움직이는 순간 Interrupt 전기신호가 마우스에서 발생하고 CPU에서 이를 감지하고 하던 일을 멈춘 후에 인터럽트 신호를 운영체제 내부에 있는 Interrupt 처리코드(ISR)로 이동시킨다.
  • Hardwore Interrupt(비동기): 마우스와 키보드 같은 하드웨어에서 발생시키는 인터럽트, 정해진 기준 없이 예측 불하게 이벤트가 발생한다.
  • Software Interrupt(동기): 프로그램에서 어셈블리어 명령어를 수행을 위해 발생시키는 인터럽트(swi,int)
  • Internal Interrupt(동기): 프로그램을 수행하는 도중에 발생하는 예외 상황를 처리하기위해 발생시키는 인터럽트(DividedByZero)
  • 운영체제는 평소에는 대기상태에 있으면서 Interrupt가 발생하는 순간 Interrupt 종류에 따라 운영체제 내부에 위치한 ISR로 이동하여 작업을 수행한다.


Kernel과 Command-Interpreter

  • Kernel은 운영체제가 수행하는 모든것이 저장되어있다. 운영체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러가지 서비스를 제공하는 역할을 하며, 메모리나 저장장치 내에서 운영체계의 주소공간을 관리합니다.
  • Command-Interpreter는 사용자가 Kernel에 요청하는 명령어를 해석하여 커널에 요청하고 그 결과를 출력한다.
  • 사용자는 GUI나 CLI 같은 방식으로 운영체제에 명령을 요청할 수 있다.

운영체제의 위치

  • 어플리케이션은 운영체제 위에서 수행한다. 하드웨어 자원을 직접적으로 사용하지 않고 운영체제가 제공하는 자원만을 사용할 수 있다.

0개의 댓글