# 수강 배경
CS 지식에 대한 갈급함을 느끼던 차, 동료들이 적극 추천하던 강의 중 하나가 바로 반효경 교수님의 운영체제였다.
Java 라는 언어에 대한 소소한 지식을 지닌 채 개발 세계에 뛰어든 비전공자에게 있어, 운영체제란 암흑 그 자체였다.
흥미가 생겼다는 이유만으로 가볍게 산책하듯 개발 세계에 발을 내디뎠던 과거의 내가 참 무모했구나 싶었다.
어두운 기저에서 깊이조차 가늠되지 않는, 어떠한 거대한 시스템이 나를 기다리고 있었던 것이다!
강의를 듣는 내내 모르는 단어 투성이라 어질어질했다. 그러나 작은 설명도 놓치지 않기 위해 고군분투한 시간을 녹여낸 서툴고도 보람찬 여정을 기록해보고자 한다.
# 1-1 강의 소개
강의 내용
- 운영체제 개요
- 컴퓨터시스템의 구조
- 프로세스 관리
- CPU 스케줄링
- 병행 제어
- 데드락
- 메모리 관리
- 가상 메모리
- 파일 시스템
- 입출력 시스템
- 디스크 관리
운영체제
- OS; Operating System
- 컴퓨터 하드웨어 바로 위에 설치됨
- OS 는 엄밀히 말해 디스크에 설치되고 ➡️ 메모리에 제일 먼저 올라오게 됨
- 사용자 / 다른 소프트웨어 및 하드웨어를 연결하는 소프트웨어 계층
운영체제의 목표
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
- 컴퓨터 시스템의 자원을 효율적으로 관리
- 자원 : CPU, 메모리 모두 총칭
비유하자면,
- CPU = 사람
- 메모리 = 작업대
- 디스크 = 창고
# 1-2 Introduction to Operating Systems
운영체제
협의의 운영체제(커널) | 광의의 운영체제 |
운영체제의 핵심 부분 메모리에 상주하는 부분 부팅 전 디스크에 있던 os 가 부팅 후 메모리로 올라가면서 자원을 관리하기 시작 |
커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 |
- 커널 : 부팅된 이후 항상 메모리에 상주하는 부분
운영체제 분류
- 동시 작업 가능 여부
단일 작업 | 다중 작업 |
Single-tasking 한 번에 하나의 작업만 처리 |
Multi-tasking 동시에 두 개 이상의 작업 처리 |
- 사용자 수
단일 사용자 | 다중 사용자 |
Single user | Multi-user |
- 처리 방식
일괄 처리 | 시분할 | 실시간 |
Batch processing 작업 요청의 일정량 모아 한꺼번에 처리 작업이 완전 종료될 때까지 기다려야 |
Time sharing 여러 작업 수행 시 컴퓨터 처리 능력을 일정한 시간 단위로 분할해 사용 일괄 처리 시스템에 비해 응답시간 짧음 Interactive ![]() |
Realtime OS 정해진 시간 안에 어떤 일이 반드시 종료된다는 걸 보장하는 실시간 시스템 위한 OS 실시간 시스템 개념 확장 Hard real-time system: 시간은 생명 Soft real-time system: 데드라인은 존재하나, 못 지켜도 치명적이진 않음 |
용어 정리
Multi-tasking | Multi-programming | Time sharing | Multi-process |
하나의 프로그램이 끝나기 전, 다른 프로그램이 실행됨 메모리에 동시에 여러 프로그램이 올라감 |
메모리에 동시에 여러 프로그램이 올라가는 방식 | 시간 분할 cpu 를 강조한 용어 |
여러 프로그램이 동시에 실행된다는 의미 processor = cpu multi-tasking 되는데, cpu 가 여러 개 있음 = 하드웨어적으로 다름 |
운영체제 예시
대형 컴퓨터용 | 개인 컴퓨터용 |
유닉스(UNIX) | DOS (Disk Operating System) MS windows Handheld device 위한 OS |
운영체제 구조
작업 처리 속도
- CPU > 메모리 > 디스크
CPU 스케줄링
- 짧은 시간 간격으로 CPU 사용하는 작업에 먼저 할당
- 나머지 작업의 응답시간 줄임
- 평균 시간이 줄어듦
메모리 관리
- 이미 올라간 프로그램만이라도 CPU 에서 원활히 사용하게 해줌
디스크 파일 관리
- 디스크 스케줄링 : 엘리베이터 스케줄링과 유사
- 헤드의 움직임을 최소화하며 빠르게 처리
I/O device
- interrupt 기반 = interrupt 걸어서 CPU 방해받지 않도록
'CS' 카테고리의 다른 글
운영체제 - 반효경 #4 Process Management (0) | 2023.03.17 |
---|---|
운영체제 - 반효경 #3 Process (0) | 2023.03.13 |
운영체제 - 반효경 #2 System Structure & Program Execution (0) | 2023.02.16 |
[CS] About IDE (0) | 2022.03.02 |
[Windows] 명령 프롬프트 CMD 관리자 권한 실행 (0) | 2021.11.24 |
댓글