인생은 고통의 연속

운영체제란? 본문

프로그래밍/OS

운영체제란?

gnidoc 2019. 1. 21. 16:48
    반응형

    OS란?

    컴퓨터 시스템 구조


    기본적으로 컴퓨터 시스템은 하드웨어 위에 시스템 소프트웨어(OS, Window System 등)이 동작한다.

    그래서 OS개발자가 software API를 만들면 어플리케이션 개발자는 그걸 사용한다.(abstraction)


    여기서 OS(Operating System)은 하드웨어를 추상화시킨 소프트웨어를 말한다. 구체적으로는 하드웨어의 디테일한건 숨기고 다른 사람이 쉽게 쓸 수 있도록 구현한 소프트웨어다. OS는 또한 프로세스, 메모리, 디스크, 네트워크 등 리소스를 관리한다.



    프로세스(Processes) vs 프로그램(Program)

    • 프로세스란 동작하는 프로그램의 인스턴스를 말한다.

    • 프로그램은 실행할 수 있는 파일을 말한다.

    (프로세스 != 프로그램)



    운영체제(OS) vs 커널(kernel)

    커널은 OS의 한 부분이며 하드 디스크 액세스부터 메모리 관리에 이르기까지 모든 것을 제어함.

    OS는 전체 시스템을 구성하는 모든 요소(사용자 인터페이스, 라이브러리, 리소스 등)



    System Boot

    하드웨어는 커널이 어디있는지 알고 커널을 어떻게 부팅할까?

    • bootstrap이나 loader를 사용한다.

    • ROM 안에  미리 정의되어 있는 위치에서 (bootstrap이나 loader을) 실행한다.

    • 그리고 디스크에 정해진 위치부터 block을 하나 읽고 boot block으로부터 코드를 읽어온다.

    • 그래서 OS는 디스크에 새로운 버전을 저장(쓰기)하여 쉽게 바꿀 수 있다.




    반응형
    Comments