OS operating system curriculum
초급 수준
OS 개요와 역사
- OS의 개념과 기본 기능
- OS 역사와 주요 발전 과정
- OS의 역할과 목적
컴퓨터 시스템 구조
- 하드웨어와 소프트웨어의 관계
- CPU, 메모리, 디스크 등 주요 하드웨어 구성 요소
- 시스템 버스와 I/O 장치
프로세스와 스레드
- 프로세스 개념과 생명주기
- 멀티프로세스와 멀티스레드
- 프로세스 스케줄링 알고리즘
프로세스 동기화
- 임계영역과 상호배제
- 세마포어와 뮤텍스
- 교착상태와 교착상태 해결 방법
중급 수준
메모리 관리
- 가상 메모리와 주소 변환
- 페이지 교체 알고리즘
- 세그멘테이션과 페이징
파일 시스템
- 파일 시스템 구조와 파일 조작
- 파일 할당 방법
- 파일 보호와 보안
프로세스간 통신(IPC)
- 메시지 패싱지와 파이프
- 공유 메모리와 메모리 맵핑
- 소켓과 소켓 프로그래밍
디스크 스케줄링
- 디스크 스케줄링 알고리즘
- RAID와 디스크 복구 기술
고급 수준
가상화와 컨테이너
- 가상화 개념과 기술
- 하이퍼바이저와 컨테이너 가상화
- Docker와 컨테이너 오케스트레이션
멀티코어 시스템과 병렬처리
- 멀티코어 시스템 개요
- 병렬처리와 병렬 알고리즘
- 멀티스레딩과 병렬 프로그래밍
보안과 보호 기법
- 보안 기본 개념과 위협 요소
- 암호화와 디지털 서명
- 방화벽과 침입 탐지 시스템
분산 시스템과 클라우드 컴퓨팅
- 분산 시스템 개념과 아키텍처
- 클라우드 컴퓨팅 모델과 서비스
- 클라우드 보안 및 데이터 관리
실전 프로젝트와 적용 사례
간단한 운영체제 구현
- 간단한 운영체제 기능 구현
- 프로세스 스케줄링 및 메모리 관리
파일 시스템 구현
- 간단한 파일 시스템 디자인 및 구현
- 파일 조작과 파일 할당 기법
멀티프로세스와 IPC
- 멀티프로세스 환경 구축과 IPC 구현
- 프로세스간 통신 및 동기화
가상화와 컨테이너
- 가상화 기술을 활용한 컨테이너화 구현
- 도커와 컨테이너 관리
분산 시스템과 클라우드 적용
- 분산 시스템 구성과 통신 구현
- 클라우드 컴퓨팅 기반 애플리케이션 배포