운영체제의 개념과 구조
Kernel 커널
전통적인 컴퓨터 시스템 구조
- 단일 또는 여러 개의 CPU
- bus로 연결되어 있는 여러 개의 디바이스 컨트롤러
Bootstrap 프로그램
- 컴퓨터 실행 시 가장 먼저 실행되는 프로그램
- OS를 로드 해주는 역할
Interrupts
폰 노이만 아키텍쳐
- 명령어 집합 (Instruction set)
- 메모리에 로딩
- 메모리에 있는 명령어를 CPU가 하나씩 fetch & execute
- IR Instruction Register
Storage System
- registers
- cache
- regiser와 RAM 사이 캐싱
- main memory
- solid-state disk
- hard disk
- optical disk
- magentic tapes
Symmetric multiprocessing (SMP)
- 멀티 CPU
- 여러 개의 CPU가 각각의 registers와 cache를 가지고 memory에 붙는다
Multi-core design
Multiprogramming
- 기존은 메모리에 하나의 프로그램만 실행
- 여러 개의 프로그램을 동시에 메모리에 올려두고 동시에 실행
- CPU 사용 효율을 높인다
Multitasking = Multiprocessing
- 하나의 CPU가 실행 속도가 빠를 때
- 여러 개의 작업을 빠르게 전환하면 사용자는 동시에 사용 가능
- concurrency, parallelism
- CPU scheduling
- RAM에 여러가지 프로그램이 존재할 때 프로그램 실행 순서를 지정
- 목표 CPU 효율을 가장 좋게 만드는 선택 방법
Operation Mode
- User mode
- Kernel mode
- 커널 모드만 직접적으로 H/W 접근을 허용하여 잘못된 사용 방지
Virtualization
- 가상화 기술
- process 처럼 여러 개의 OS를 가동
- VMM Virtual Machine Manager
- VMware, XEN, WSL
- OS scheduling
기존 | 가상화 | 가상화 |
---|
processes | processes | processes |
kernel | kernel | kernel |
| VM1 (LINUX) | VM2 (MAC OS) |
| virtual machine manager | virtual machine manager |
hardware | hardware | hardware |
컴퓨팅 환경
- 기본 컴퓨팅
- 모바일 컴퓨팅
- 클라이언트 - 서버 컴퓨팅
- Peer-to-Peer P2P 컴퓨팅
- Cloud 컴퓨팅
- Real-Time Embedded Systems
이런 유용한 정보를 나눠주셔서 감사합니다.