[OS] OS Structure, System Boot, Virtual Machine

Ko Hyejung·2021년 10월 11일
0

Operating Systems

목록 보기
6/26

Widely-used Kernel Date Structures

  • Lists (singly/doubly/circularly), Stacks, and Queues
  • Trees
  • Hash Functions
  • Bitmaps

System Boot

POST (Power-On-Self-Test) 자체 테스트 전원 켜기

Boot Device Selection (HDD/SSD, CD-ROM, USE ...) 부팅 장치 선택

Read MBR of Boot Device, execute it 부팅 장치의 MBR을 읽고 실행

Booting – starting a computer by loading the kernel.
커널을 로드하여 컴퓨터 시작

When power initialized on system, execution starts at a fixed memory location (ROM) where initial bootstrap program (bootstrap loader) is located.

시스템에서 전원이 초기화되면 초기 부트스트랩 프로그램 (부트스트랩 로더)이 있는 고정 메모리 위치(ROM)에서 실행이 시작됩니다.

Sometimes two-step process

  1. Simple bootstrap loader fetches a more complex boot program from disk.

단순 부트스트랩 로더는 디스크에서 더 복잡한 부트 프로그램을 가져옵니다.

  1. Boot program loads the kernel.

부팅 프로그램이 커널을 로드

  • For large OS (e.g. Windows, Mac OS X, UNIX)

Bootstrap loader (from ROM) runs diagnostics (i.e., POST (Power-On-Self Test)) and has a bit of code that can read a single block (boot block; e.g. MBR) at a fixed location from disk and execute the code.

부트스트랩 로더는 진단(예: POST(Power-On-Self Test))을 실행하고 디스크에서 고정된 위치에서 단일 블록(예: MBR_)을 읽고 코드를 실행할 수 있는 코드를 가지고 있습니다.

The program in boot block loads either entire OS or reads remainder of the bootstrap program from disk based on the address and length info.

부트 블록의 프로그램은 전체 OS를 로드하거나 주소 및 길이 정보에 따라 디스크에서 부트스트랩 프로그램의 나머지 부분을 읽습니다.

Operating System Structure (UNIX)

UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring.

하드웨어 기능에 의해 제한되었던 원래 UNIX 운영 체제는 구조가 제한되었습니다.

The UNIX OS consists of two separable parts

  • Systems programs 시스템 프로그램
  • The kernel 커널

Consists of everything below the system-call interface and above the physical hardware

시스템 통화 인터페이스 아래 및 물리적 하드웨어 위에 있는 모든 것으로 구성

Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level

파일 시스템, CPU 스케줄링, 메모리 관리 및 기타 운영 체제 기능을 제공합니다. 한 레벨에 대해 많은 기능을 제공

Operating System Structure (Microkernel)

Moves as much from the kernel into “user” space (e.g., Mach).

커널에서 "user" 공간(예: Mach)으로 이동

Communication takes place between user modules using message passing.

메시지 전달을 사용하여 사용자 모듈 간에 통신이 이루어짐

Benefits:

  • Easier to extend a microkernel (base for other OS, e.g., Mac OS X).
    마이크로커널(예: Mac OS X)을 쉽게 확장
  • Easier to port the operating system to new architectures.
    운영 체제를 새 아키텍처로 더 쉽게 이식
  • More reliable (less code is running in kernel mode).
    신뢰성 향상(커널 모드에서 실행 중인 코드가 적음).
  • More secure.

Detriments:
Performance overhead of inter-mode communication.

Operating System Structure (Mac OS X)

Operating System Structure (Android)

Virtual Machines (VM)

A virtual machine abstracts hardware of a single computer into several different execution environments creating illusion that each separate execution environment is running its own private computer (also called a system virtual machine).

가상 시스템은 단일 컴퓨터의 하드웨어를 여러 실행 환경으로 추상화하여 각각의 개별 실행 환경이 고유한 개인 컴퓨터(시스템 가상 시스템라고도 함)를 실행하고 있는 것처럼 착각하게 합니다.

Benefits of VM

  1. The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines.
    This isolation, however, permits no direct sharing of resources.

가상 시스템 개념은 각 가상 시스템이 다른 모든 가상 시스템과 격리되어 있으므로 시스템 리소스를 완벽하게 보호합니다.
그러나 이러한 isolation은 직접 리소스 공유를 허용하지 않습니다.

  1. A virtual-machine system is a perfect vehicle for operating-systems research and development.
    System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation.
    Replication is also possible (e.g., running multiple Pintos over single machine).

가상 머신 시스템은 운영 체제 연구 및 개발에 완벽한 도구입니다.
시스템 개발은 물리적 시스템 대신 가상 시스템에서 수행되므로 정상적인 시스템 작업이 중단되지 않습니다.
복제도 가능합니다(예: 단일 기계에서 여러 핀토 실행)

  1. A virtual machine allows to use system consolidation, which involves taking two or more separate systems and running them in virtual machines on one system.

가상 시스템에서는 시스템 통합을 사용할 수 있습니다.
이 통합에는 두 개 이상의 개별 시스템을 한 시스템의 가상 시스템에서 실행하는 작업이 포함됩니다.

Result in resource optimization, as lightly used systems can be combined to create one heavily used system
-> improves CPU utilization.

그 결과 리소스 최적화는 경미한 사용량의 시스템을 결합하여 많이 사용되는 시스템을 만들 수 있기 때문입니다. -> CPU 활용률 향상

Native VM

Virtual machine monitor runs directly on bare-machine
(e.g., Xen, Vmware ESX server etc.)

Hosted VM

Virtual machine monitor or machine emulator runs on host OS
가상 시스템 모니터 또는 시스템 에뮬레이터가 호스트 OS에서 실행됨

(e.g.,Vmware workstation, MS’s Virtual Server, VirtualBox, Bochs, QEMU etc.)

0개의 댓글