Skip to content

Latest commit

 

History

History
69 lines (55 loc) · 4.54 KB

README.md

File metadata and controls

69 lines (55 loc) · 4.54 KB

소스코드 저장소

소스코드

1. 소개

  1. 운영체제의 소개

2. 구조

  1. 운영체제의 구조

3. 프로세스

  1. 프로세스의 이해
  2. 프로세스의 생성
  3. 프로세스간 통신
  4. 프로세스간 통신의 실제

4. 쓰레드 & 동시성

  1. 쓰레드 #1 쓰레드란 무엇인가?
  2. 쓰레드 #2 다중 쓰레드 모델(Multithreading Model)
  3. 쓰레드 #3 쓰레드 라이브러리(Thread Library)
  4. 쓰레드 #4 쓰레드와 관련된 문제들(Threading Issues)
  5. 쓰레드 #5 운영체제 사례

5. CPU 스케줄링

  1. CPU Scheduling #1 CPU Scheduling의 개념 및 기준
  2. CPU Scheduling #2 스케줄링 알고리즘(Scheduling Algorithm), FCFS, SJF
  3. CPU Scheduling #3 스케줄링 알고리즘(Scheduling Algorithm), Priority, RR, MLQ, MLFQ
  4. CPU Scheduling #4 다중 처리기 스케줄링(Multiple-Processor Scheduling)
  5. CPU Scheduling #5 쓰레드 스케줄링(Thread Scheduling)

6. 동기화 도구

  1. 프로세스 동기화 #1 프로세스 동기화의 배경(필요성)
  2. 프로세스 동기화 #2 임계 구역 문제(Critical-Section Problem)
  3. 프로세스 동기화 #3 동기화 문제의 해결책 : 피터슨의 해결안(Peterson's Solution)
  4. 프로세스 동기화 #4 동기화 하드웨어(Synchronization Hardware)
  5. 프로세스 동기화 #5 뮤텍스 락(Mutex Lock)과 세마포어(Semaphore)
  6. 프로세스 동기화 #6 모니터(Monitor)와 자바 동기화
  7. 프로세스 동기화 #7 Liveness (DeadLock, Priority-Inversion)

7. 동기화 예시

  1. 동기화 예제 #1 동시성 제어의 고전적 문제들
  2. 동기화 예제 #2 식사하는 철학자들은 왜 굶어 죽었을까?

8. 교착상태

  1. Deadlocks #1 교착상태의 이해 : 교착상태 방지(Deadlock Prevention)
  2. Deadlocks #2 교착상태와 뱅커 알고리즘(Deadlocks & Banker's Algorithm) : 교착상태 회피(Deadlock Avoidance)
  3. Deadlocks #3 교착상태 탐색(Detection) 후 회복(Recovery)

9. 메인 메모리

  1. Main Memory #1 주 메모리의 관리
  2. Main Memory #2 페이징과 스와핑

10. 가상 메모리

  1. Virtual Memory #1 가상 메모리와 디맨드 페이징
  2. Virtual Memory #2 페이지 교체 알고리즘

11-15. 저장소 관리

  1. 저장장치와 입출력(Storage & Input/Output) #1 대용량 저장장치 구조(Mass-Storage Structure)
  2. 저장장치와 입출력(Storage & Input/Output) #2 입출력 시스템
  3. 저장장치와 입출력(Storage & Input/Output) #3 파일 시스템 인터페이스
  4. 저장장치와 입출력(Storage & Input/Output) #4 파일 시스템 구현

16-17. 보안 & 보호

  1. Security & Protection #1 Security
  2. Security & Protection #2 Protection

References

Operating System Concepts, 10th Ed. feat. by Silberschatz et al.
[인프런] 운영체제 공룡책 강의