
1.1 운영체제
- 프로세스 관리
- 태스크, 프로세스, 스레드
- 스케줄링
- 동기화
- IPC
- 저장장치 관리
- 메모리
- 가상 메모리
- 파일 시스템
- 네트워킹 관리
- TCP/IP
- 기타 여러 네트워크 프로토콜
- 사용자 관리
- 계정 관리
- 접근 권한 관리
- 디바이스 드라이버
- 순차 접근 장치
- 임의 접근 장치
- 네트워크 장치
1.1 프로세스 관리
- 운영체제에서 작동하는 응용 프로그램을 관리, 어떤 의미에선 프로세서(CPU)를 관리하는 것
- 현재 CPU를 점유해야 할 프로세스를 결정, CPU 자원을 프로세스에 할당
- CPU와 프로세스가 여러 개일 때는 공유 자원 접근과 통신 등을 관리
1.2 저장장치 관리
- 시스템 메인 메모리 (1차), SDD, HDD (2차) 등을 관리하는 기능
- 메인 메모리 관리
- 프로세스에 할당하는 메모리 영역을 지정하고 해제
- 각 메모리 영역 간의 침범 방지 기능
- 별도의 가상 메모리 관리 하드웨어를 이용한 가상 메모리 기능 제공
- SDD, HDD 관리
- 2차 저장장치에는 파일 형태로 데이터를 저장
- 이 파일 데이터를 관리하는 소프트웨어가 바로 파일 시스템(FAT32, NTFS, exFAT)
- 운영체제는 서로 다른 파일 시스템 간에 파일 교환 등을 지원하는 식으로 파일 시스템 관리
1.1.3 네트워킹 관리
- TCP/IP 기반 인터넷에 연결 또는 다른 특별한 프로토콜 기반 네트워크에 연결 할 때
응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 함.
- 운영체제는 네트워크 프로토콜에 따라 데이터를 처리해서 응용 프로그램이 처리할 수 있는 형태로 전달
- 마찬가지로 응용 프로그램이 보내는 데이터를 네트워크 프로토콜에 맞춰 처리하여 물리적 네트워크에 데이터를 실어 보냄.
1.1.4 사용자 관리
- 사용자별로 서로 다른 사용자의 개인적 데이터를 접근할 수 없도록 해야 함.
- 반대로 모든 사용자가 접근하여 읽거나, 수정할 수 있는 데이터도 문제 없이 동작하도록 관리
1.1.5 디바이스 드라이버
- 운영체제는 시스템의 하드웨어를 관리하며 시스템에는 여러 하드웨어가 붙어 있음.
- 이들을 운영체제에서 인식하고 관리해서 사용할 수 있게 해야 함.
- 이를 위해 운영체제 안에서 하드웨어를 추상화하는 계층이 필요함.
- 이 계층을 디바이스 드라이버라고 함.
1.2 임베디드 운영체제와 펌웨어
- 임베디드 운영체제를 포함하는 임베디드 시스템용 전체 소프트웨어를 펌웨어라고 부름.
1.3 RTOS
- 운영체제의 응답과 동작이 즉각적이고 실시간이어야 함. (RealTime Operating System)
- 이 책에서 만드는 나빌로스는 RTOS
1.4 나빌로스
- 일반적인 펌웨어 / 최소한의 임베디드 운영체제에 대한 기능을 설계하고 구현
1.5 에뮬레이터 환경
- QEMU
1.6 깃허브 리포지토리에서 아카이브 다운받기
Share article