코학다식

[OS] Boot, 운영체제의 구조, VM 본문

Fundamentals/OS

[OS] Boot, 운영체제의 구조, VM

copeng 2019. 9. 19. 19:08

Operating System

chapter 1-2 (4)

 

 

 

System Boot


 

  • 부팅(Booting)이란 커널을 로딩함으로써 컴퓨터를 시작하는 것을 말한다.
    • 시스템에서 파워가 초기화되면, Bootstrap loader가 위치한, 고정된 메모리 위치(ROM)에서 실행이 시작된다.
  • 보통 두 단계의 과정을 거친다. (mother board - hard disk)

 

 

 

운영체제 서비스


 

  • 운영체제의 서비스 중 한 집합은 사용자에게 유용한 기능을 제공한다.

    • 유저 인터페이스(User interface) - 거의 모든 운영체제가 사용자 인터페이스(UI)를 가진다.

      • Command-Line Interface(CLI), Graphic User Interface(GUI), Batch
    • 프로그램 실행 - 시스템은 메모리에서 프로그램을 읽어서 실행시키고, 실행을 끝낼 수 있어야 한다.

    • I/O 작업

    • 파일 시스템 조종 - 프로그램은 파일, 디렉토리를 읽고 쓰고 만들고 삭제하고 찾고 파일 정보, 권한 관리 등의 목록을 만들 수 있을 필요가 있다.

    • 커뮤니케이션 - 프로세스는 같은 컴퓨터나 네트워크상의 컴퓨터들에서 정보를 교환할 수 있다.

    • 에러 탐지

    • 자원 할당 - 다수의 유저가 있거나 다수의 작업이 동시에 시행될 때, 자원은 각각에게 할당되어야 한다.

    • Accounting - 어떤 사용자가 어떤 종류의 컴퓨터 자원을 얼마큼 사용하는지 추적한다.

    • 보호와 보안

 

 

 

운영체제 구조(MS-DOS)


 

  • MS-DOS는 가장 적은 공간에 최상의 기능성을 제공하도록 쓰였다.
    • 모듈로 나누어지지 않는다.
    • 잘 설계된 구조를 가지고 있지 않다.

 

 

 

운영체제 구조(UNIX)


 

  • 크게 두 부분으로 나누어진다.
  • 시스템 프로그램
  • 커널
    • 시스템 콜 인터페이스 아래와 물리적 하드웨어 위의 모든 것을 구성한다.
    • 파일 시스템, CPU 스케줄링, 메모리 관리, 다른 운영체제 기능을 제공한다.

 

 

 

운영체제 구조(Microkernel)


 

  • 위의 유닉스와 같은 거대한 구조(monolithic)는 유연성이 떨어지고 상당한 메모리를 필요로 한다.
  • 그래서 커널에서 많은 것을 "사용자" 공간으로 이동시킨다.
  • 사용자 모듈 사이에서 메시지 전송을 통해 커뮤니케이션이 이루어진다.
  • 장점
    • microkernel을 확장하기 쉬워짐
    • 새로운 아키텍쳐에 운영체제를 옮기기 쉬워짐
    • reliability의 증대
    • 더 안전함
  • 그러나 커뮤니케이션으로 인해 성능 오버헤드가 발생할 수 있다.

 

 

 

운영체제 구조(Modules)


 

  • 현재 대부분의 운영체제는 커널 모듈을 적용한다.
    • 객체 지향 접근법을 사용
    • 각각의 주요 컴포넌트들 분리
    • 이미 알고 있는 인터페이스를 통해 각각 통신
  • 운영체제의 일부 기능을 필요에 따라 넣었다 빼는 것과 같은 개념이다.
  • 유연하고 효율적이다.

MAC OS X, Mach는 microkernel

 

 

 

 

Virtual Machines(VM), 가상머신


 

  • 가상 머신(Virtual Machine)은 한 컴퓨터의 하드웨어를 여러 다른 실행 환경에 추상화한다. 이는 각각의 분리된 실행 환경이 각각의 컴퓨터에서 실행되고 있는 것과 같아 보이게 한다.

  • 가상 머신의 장점
    • 각각의 가상 머신이 다른 가상 머신과 분리되어 있어 자원을 완전히 보호한다.
    • 운영체제 연구와 개발에 유용하게 사용될 수 있다. 복사 또한 가능하다.
    • CPU의 효율적 사용으로 자원의 최적화가 가능하다.
  • Native VM vs Hosted VM

    • Native VM: 가상 머신 모니터(Virtual Machine Monitor, VMM)이 하드웨어 바로 위에서 작동한다.

    • Hosted VM: VMM이 원래 원래 컴퓨터의 운영체제 위에서 돌아간다.

Comments