[OS] What is Operating System?

운영체제 서론 (Operationg System)

프로세서 & 메인메모리

인스트럭션(Instruction)?

컴퓨터가 어느 정보를 가지고 어떠한 처리를 하는가를 나타낸다. 즉 명령어

컴퓨터를 키는 순간부터, 프로세서가 메인메모리에서 명령을 받아와서 실행시키는 일을 반복한다.

만약, 메인메모리에 운영체제가 존재하지 않는다면, 메인메모리에는 쓰레기값이 들어가 있기 때문에 할 수 있는 것이 아무것도 없다.

컴퓨터를 킨 순간부터 컴퓨터는 어떤 일을 하는가?

프로그램을 실행하려면, 컴퓨터의 하드디스크에 실행 파일들이 들어있어 이 실행 파일들을 메인메모리에 올려야 실행할 수 있다. 이런 실행 파일들을 옮겨와주는 것이 운영체제이다.

하드 디스크에서 실행하려는 파일을 찾아서 메모리에 올려주는 일을 운영체제가 한다.

프로세스는 하나이다. 그렇다면 어떻게 실행 파일들을 동시에 실행할까?

이런 역할도 운영체제가 해준다. 문서 편집 후 하드 디스크 저장, 파일 인쇄하기 등의 일들을 운영체제가 해준다.

운영체제란?

  • 컴퓨터 하드웨어를 관리한다.
    • 프로세서, 메모리, 디스크, 키보드, 마우스, GPS, 스피커, 네트워크, 모니터….
  • 성능 향상
  • 사용자에게 편의성 제공

부팅

프로세스와 메인 메모리, 하드디스크(보조기억장치)

메인 메모리

  • RAM
    • 메인 메모리에 대부분을 차지한다.
      • 수백 메가바이트 ~ 수 기가바이트
    • 휘발성 메모리라서 전원을 껐다 키면 다 사라진다.
  • ROM
    • 극히 일부분이다.
      • 수십 키로바이트 ~ 수백 키로바이트
    • 전원과 상관없이 내용이 유지된다.
    • 전원을 켰을 때 해야할 명령들이 순서대로 메모되어있다.
  • 컴퓨터 전원을 켰을 때 (ROM에 적혀있는 내용)
    1. POST(Power-On Self Test) : 컴퓨터가 전원이 켜질때 하는 셀프 테스트
    2. Boot Loader : 하드디스크 안을 뒤져서 OS(Operating System)를 메인메모리에 들고온다. (RAM으로)
    3. ROM의 역할은 끝!!

OS가 RAM에 올라온 후부터는 전원을 끌 때까지 OS는 메인 메모리(RAM)에 항상 올라와있다.

다른 프로그램은 실행할 때만 메인메모리에 올라와있는 것과는 달리!!

그래서 OS를 다른 말로 Resident라고 한다. (상주한다) 또한 OS는 여러가지 하드웨어를 관리한다.

App[Command Interpreter(shell)[kernel[OS[하드웨어]OS]kernel]Command Interpreter(shell)]App

윈도우는 GUI로 명령을 내리지만, 리눅스는 Text로 명령을 내린다. (ls, who, df)

kernel & command interpreter(shell)

운영체제(OS)

  • kernel
  • shell

  • kernel
    • cpu, 메모리, 디스크를 관리한다.
    • 잘 보이지않음
  • shell
    • 사용자의 명령어를 해석하여 그 결과를 보여준다.

운영체제의 위치

App은 OS 위에서 실행된다. 한 프로그램이 돌기 위해서는 OS가 꼭 필요하다.

  • 하드웨어 > OS > Application
  • 운영체제는 정부와 비슷하다.
    • 자원 관리자 (Resource Management)
    • 자원 할당자 (Resource Allocation)
    • 주어진 자원 활용
    • 업무별로 나누어지는 부서(프로세스, 메모리, 입출력 장치, 파일시스템)
    • 직접 일하지는 않는다.

Process Management CPU 관리자가 제일 중요함! 그 다음엔 Memory Management 메모리 관리자가 중요!