퇴근 후 운영체제 시리즈 - Introduction
운영체제 스터디 기록
퇴근 후 운영체제 스터디를 진행하고자 다짐했다. 이제까지 OS에서 얕았던 지식들을 좀 더 깊이있게 공부하고자 한다. 따라서 그냥 스터디만 하기 아쉬워서 블로그에 기록을 남기려한다. 내가 사용하는 책은 운영체제 공룡책
과 이화여대 반효경 교수님의 강의
를 활용하려고 한다!
이번 챕터에서는 컴퓨터 시스템의 일반적인 구성과 인터럽트의 역할, 사용자 모드 → 커널모드 그리고 운영체제가 어떻게 사용되는지에 대해 기록하려 한다. 그 전에 운영체제를 만들거나 수정하는 데는 소수만이 참여하는데 왜 컴퓨터 과학에 종사하는 사람 대부분이 배워야할까?
운영체제 작동방식에 대한 지식은 적절하고 효율적, 효과적으로 안전한 프로그래밍을 가능하게 하기 때문!
그럼 이제부터 운영체제에 대해 간단히 알아보자.
✅ 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
운영체제의 목적
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
- OS는 동시 사용자 / 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 경험 제공
- 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 다룸
- 컴퓨터 시스템의
한정된
자원을 효율적으로 관리- CPU, 메모리, I/O 장치 등을 효율적 관리
- 주어진 자원으로 최대한의 성능을 내도록 → 효율성
- 특정 사용자 / 프로그램의 지나친 불이익이 발생하지 않도록 → 형평성
- 사용자 및 운영체제 자신의 보호
- CPU, 메모리, I/O 장치 등을 효율적 관리
컴퓨터 시스템의 구조
- 운영체제는 컴퓨터가 켜지자마자 메모리에 상주함
- CPU 자체가 I/O 디바이스들을 바로 직접 읽지 못함
- 따라서 I/O 컨트롤러에게 명령을 내려서 해당 명령을 처리함
- CPU는 하드웨어이기 때문에 어떤 로직이 없음
- 결국 모든 명령은 운영체제를 통해 운영되는 것임
- 따라서 CPU 스케쥴링 중요해짐
- 디스크 스케쥴링은 디스크가 굉장히 느리기에 메모리 관리와 CPU 스케쥴링 모두가 다 관여해야됨
- 결국 효율성을 제일 중요하게 여김
- 가장 비슷한 것이 엘레베이터 스케쥴링
- 캐시 / 인터럽트는 속도 차이를 완화하기 위해 있는 개념
프로세스의 상태
- CPU큐와 디스크 큐 / 키보드 입력 큐들을 넘나들면 효율성을 추구함
CPU 스케쥴링 맛보기
FCFS (First Come First Served
Wating Time : P1 = 0; P2 = 24; P3 = 27
Average Wating Time : (0+24+27) / 3 = 17
- 선입선출의 예
- 공평할 수는 있겠으나 효율적이지 않음 → 기다리는 시간을 줄여보자!
SJF (Shortest Job First)
- 기다리는 시간을 제일 적게 하는 알고리즘 (평균 대기 시간 측면에서)
- 최대 단점 : 기아 문제 발생
Round Robin(RR)
- 현대의 운영체제가 쓰는 방식
- 이전의 방법들과 다르게 프로세스를 처리하다 CPU를 빼앗음 → 인터럽트를 통해서 처리
메모리 관리
- 디스크에 있는 파일들은 바로 메모리에 올라가는 것이 아님
- 바로 가상 메모리를 통해 만들어지고 당장 필요한 부분만 메모리에 올리게 됨
- 메모리가 꽉 찼다면 스왑영역에 내쫓아야됨
- 그렇다면 어떤 페이지들을 교체해야 하는가?
- 메모리 관리를 통한 선택 알고리즘 활용
저장장치 계층구조와 캐싱
- 계층 구성하는 이유 : 속도 차이 완화하기 위해!!
연습 문제!
운영체제의 주요 목적은 무엇인가?
사용자의 편의성 증대, 자원의 효율적인 관리, CPU의 스케쥴링 제어
캐시가 유용한 두 가지 이유를 제시하라.
1. 한정된 메모리에서 반복되는 I/O 접근을 막고 캐싱을 활용하여 효율성을 높인다.
2. CPU와 I/O 사이의 속도 차이를 완화하여 더 높은 편의성을 제공한다.
핵심 키워드 : 시간적 지역성, 공간적 지역성
캐시는 어떤 문제를 야기하는가?
만약의 캐시의 크기가 너무 작거나 비정상적으로 새로운 데이터를 계속 참조해야 할 때,
캐시 자체에서도 스케쥴링이 이루어져 하는데 이는 더 큰 오버헤드를 야기할 수 있음.
캐시를 그냥 크게 만들면 되지 왜 디스크를 쓰나?
비용의 문제.