국가와 국민으로 이해하기
- 컴퓨터 = 국가
- 국가는 영토, 정부, 민간 3가지로 구성된다.
- 영토가 있어야 정부가 존재할 수 있으며, 정부가 있어야 국민이 존재할 수 있다. (존립 기반 = 전제 조건)
- 영토 = H/W = CPU+RAM+DISK 등
- 정부,민간 = S/W
- 정부 = System(OS) → OS의 핵심 Kernel (접근 제어)
- 민간 = Application → 프로그램 실행 → Process (메모리 공간을 개별로 소유)
- 프로세스끼리 서로 침범해서는 안되며, B프로세스가 A프로세스에 침범 시 OS가 접근 제어한다.
- 여러 개 프로세스가 동시에 존재 = 멀티태스킹 환경 (독립성, 원자성 보장)
- 검찰, 경찰 = 디버거 → 다른 프로세스의 메모리를 볼 수 있다. (OS에서 권한 허용)
OS의 핵심 Kernel
- 컴퓨터라는 국가의 법은 Kernel로 구현된다.
- Kernel 영역과 User(사용자)영역은 완전히 다른 세상이다. → 신계 vs 인간계
Kernel의 역할
- I/O 제어
- 자원 관리 (CPU, 메모리)
- 접근 통제
User mode와 Kernel mode
- H/W = Physical = CPU = Machine
- S/W = Logical ≒ Virtual
- Kernel mode ≒ OS
- OS는 H/W에 의존성이 존재한다. (H/W가 있어야 OS가 존재한다.)
- Platform → 다른 것들이 작동할 수 있게 인프라가 되어준다. (CPU, OS)
- 64 bit Platform = CPU 64bit, OS 64bit
- Device(장치)를 움직이게 하기 위한 Kernel에서 작동하는 소프트웨어 = Device Driver (장치 드라이버)
- Device Driver에 따라서 Kernel에 구성 요소가 있음. = Engine(엔진) → 그래픽 엔진 등
- User mode와 Kernel mode를 연결해주는 인터페이스 = File의 형태로 존재 (Device File)
- Kernel의 구성 요소에 대한 추상화된 인터페이스를 User mode에 제공해줄 때 File 형태로 존재한다.
- 프로세스가 Kernel mode와 통신하기 위해 인터페이스에 대한 접근 권한을 획득해야 한다. → OS가 권한 부여
- 읽기,쓰기,실행(RWX) 권한 부여를 OS가 한다. → OS는 각 파일에 대해 RWX 권한 부여를 통해 제어
컴퓨터에서 Hello World 입력 시 모니터에 출력되는 과정
- 프로세스에서 인터페이스로 Write
- Kernel의 구성 요소 = 그래픽 엔진에서 write된 내용 수신
- Device Driver(그래픽 드라이버)
- Device(비디오 카드)
- 모니터에 문자열 출력
가상화란?
- H/W를 S/W로 구현 = H/W를 소프트웨어화 한다. = Virtualization (가상화)
- 클라우드 = H/W를 S/W로 구현
참고
'IT 지식 > CS 기초' 카테고리의 다른 글
프로그래밍이란? (0) | 2024.08.10 |
---|---|
가상 메모리란? (0) | 2024.08.09 |
컴퓨터의 구성 요소 및 프로그램, 프로세스, 스레드 (0) | 2024.08.07 |
원자성, 동기화, 교착상태(Deadlock) (0) | 2024.08.06 |
동시성(Concurrency)과 병렬성(Parallelism) (0) | 2024.08.05 |