Without OS

OS가 없으면 모든 프로그램이 하드웨어 규칙을 직접 책임진다

네 가지 시나리오는 같은 구조를 갖습니다. 실제 자원은 제한되어 있고, 운영체제는 그 자원을 안전한 추상화로 바꾸어 프로그램에게 제공합니다.

CPU 한 순간 한 작업 실행 시간은 서로 경쟁한다
대기 A가 끝나야 B 실행 동시에 쓰는 것처럼 보일 방법이 없다
스케줄링 짧게 나누어 번갈아 실행 공정성과 응답성 사이 균형을 잡는다
주제
프로세스 스레드 스케줄러
Memory 용량과 주소가 제한됨 잘못 쓰면 다른 프로그램까지 망가진다
오염 서로의 메모리를 덮어씀 버그 하나가 전체 실행을 흔든다
가상 메모리 독립 주소 공간 제공 보호와 스왑으로 부족한 자원을 관리한다
주제
주소 공간 페이징 스왑
Disk 블록 단위 저장 장치 물리 위치와 동시 접근을 다뤄야 한다
손상 동시에 쓰며 데이터가 섞임 어느 블록이 누구의 데이터인지 흐려진다
파일 시스템 파일과 잠금으로 추상화 접근 제어와 이름 공간을 함께 제공한다
주제
파일 디렉터리 권한
Device 장치마다 제어 방식이 다름 레지스터, 타이밍, 오류 처리가 제각각이다
복잡성 모든 장치 사양을 직접 구현 프린터 하나 바뀌어도 코드가 달라진다
드라이버 공통 I/O 인터페이스 제공 장치 차이를 커널 계층에서 흡수한다
주제
드라이버 인터럽트 I/O