운영체제(OpreatingSystem)
운영체제란?
- 하드웨어를 제어하는 소프트웨어, 유저(응용프로그램)와 하드웨어 사이 중계자 역할
(응용프로그램 <-> 운영체제 <-> 하드웨어)
- 커널(kernel)로도 정의 (운영체제의 뇌)
컴퓨터 시스템의 구성
컴퓨터는 cpu와 bus를 통해 연결된 device controller로 연결되어 있음
부팅과정
- 전력이 공급이 되면, 메인보드에 전원이 들어오고, 메인보드에 부착된 장치들 전원 공급됨
- cpu가 ROM에 저장된 펌웨어인 BIOS(Basic Input/Output System)를 실행 // rom (읽기 전용/비휘발성), ram(읽기,쓰기/휘발성)
- BIOS가 POST(Power On self Test)과정 수행.
- 부팅매체를 선택하고 부팅매체의 MBR(Master Boot Record)에 저장된 부팅 정보를 읽어오는 Bootstrap 실행
Bootstrap - bios가 mbr영역에 bootloader를 메모리에 올리는 과정, 운영체제를 메모리에 적재
- ram에 bootloader가 올라가고, disk에 있는 os 커널 코드를 복사해서 메모리에 복사 붙여 넣기 하여 운영체제를 실행
폰 노이만 구조
- 메모리에 프로그램을 내장하는 방식, 현재 컴퓨터의 기반이 되는 구조가 됨
- ISA 명령어 집합의 fetch & execute 사이클을 통한 운영
저장장치 계층
- 레지스터 - 제일 빠르나, 제일 적은 용량, CPU 내부 위치, 명령어나 연산에 사용될 피연산자를 저장
- 캐시 - CPU와 메모리 사이 위치, 자주 사용하는 데이터 저장
- 메모리 - 주기억장치, 휘발성 데이터
- SSD,HDD - 보조기억장치
입출력 구조
CPU가 디바이스(키보드,모니터 등)에게 입출력을 요청하면, 서로 데이터 통신을 하고, 디바이스에서 CPU에게 인터럽트를 전송할 수 있음.
interrupt(방해하다) - 현재 실행중인 프로그램 일시중단하고 다른 작업을 처리