-
[CS 스터디] 운영체제 개요CS📟 2022. 10. 7. 11:14
* KMOC 반효경 교수님의 운영체제 수업을 듣고 정리하는 내용입니다.
운영체제 개요
운영체제란?
유저가 컴퓨터 하드웨어를 알지 못해도 사용할 수 있게 도와주는 하드웨어와 소프웨어를 연결해주는 계층
목적
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
- 운영체제는 동시 사용자/프로그램들이 각각 하나의 컴퓨터에서 수행되는 것 같은 일루젼 제공
- 하드웨어를 다루는 부분을 운영체제가 컨트롤
- 컴퓨터 시스템의 자원을 관리
- CPU, 메모리, I/O 장치 등의 효율적 관리
- 주언진 자원으로 최대한의 성능을 내도록 관리 (효율성)
- 특정 사용자/프로그램에 지나친 부이익이 발생하지 않도록 관리 (형평성)
- 사용자 및 운영체제 자신 보호
- CPU, 메모리, I/O 장치 등의 효율적 관리
컴퓨터 시스템의 구조
- 내부
- CPU
- CPU 스케줄링
- CPU 사용권 분배
- CPU 스케줄링
- 메모리
- 사용할 프로그램을 메모리에 올림
- 운영체제는 항상 메모리에 있음 (커널은 항시 상주)
- CPU
- 입출력 디바이스
- 디스크
- 디스크 스케줄링
- 순차적으로 실행 시 비효율적이기 때문에 스케줄링을 진행
- 인터럽트
- I/O작업이 끝나면 인터럽트를 이용해서 CPU에 요청
- CPU가 할일이 끝나면 인터럽트를 검사
- 인터럽트가 들어오면 CPU는 운영체제로 넘어감
- 캐싱
- 메모리에 잠시 자주 쓰는 데이터를 저장하고 같은 데이터를 요청 시 디스크에 요청하는 게 아니라 캐싱된 데이터를 가져옴
- 디스크 스케줄링
- 키보드 등
- 디스크
상태
- CPU 큐를 이용해서 프로세스들을 관리
- 디스크에도 입출력 큐로 관리
- 작업이 끝나면 인터럽트를 통해 CPU에 알림
CPU 스케줄링
- FCFS(First-Come-First-Served)
- 선착순처리
- 공평해 보이지만 비효율적임
- 먼저 온 프로세스의 작업시간에 따라 대기시간이 편차가 커짐
- SJF(Shortest-Job-First)
- 작업시간이 짧은 순으로 먼저 실행
- 대기시간을 최소화 가능
- 작업시간이 긴 프로세스는 계속 대기를 하는 기아 현상이 발생
- Round Robin(RR)
- 각 프로세스에 동일 크기의 할당 시간을 배정
- 할당 시간이 끝나면 인터럽트가 발생하여 CPU를 빼앗고 큐에 맨뒤로 이동
- 어떤 프로세스도 (n-1)*할당 시간 이상은 대기하지 않음
- 대기시간이 프로세스의 CPU 사용시간에 비례
메모리 관리
- 디스크(파일 시스템)에 실행파일을 실행하면 메모리에 올라가서 프로세스가 된다.
- 실행파일에는 가상 메모리가 있고, 가상 메모리의 필요한 부분만 물리 메모리에 올려놓음
- 메모리가 다 차면 스왑 영역으로 메모리를 보냄
- LRU(가장 오래전에 참조 페이지 삭제)
- 오래된 페이지도 다시 참조될 수도 있음
- LFU(참조 횟수가 가장 적은 페이지 삭제)
- 앞으로 많이 사용될 수도 있는 페이지를 제거할 수도 있음
- 미래를 알 수 없기에 둘 다 단점이 존재
- LRU(가장 오래전에 참조 페이지 삭제)
- 전원이 꺼지면?
- 디스크는 존재
- 메모리는 휘발성이라 전원이 꺼지면 사라짐
- 메모리가 사라지면 스왑 영역의 데이터는 쓸모없는 데이터가 됨
디스크 스케줄링
- 디스크의 효율성은 헤드의 이동거리를 줄이는 게 포인트!
- Access Time(디스크의 접근 시간)
- 탐색 시간(Seek Time)
- 헤드의 이동시간
- 회전 지연(Eotational Latency)
- 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
- 전송시간(Transfer Time)
- 실제 데이터의 전송시간
- SSTF(Shortest Seek Time First)
- Seek Time이 짧은 작업부터 처리
- 효율성은 좋음
- 기아 현상 발생
- SCAN
- 헤드가 디스크의 한쪽 끝에서 다른 쪽 끝으로 이동
- 가는 길목에 있는 모든 요청 처리
- 끝으로 도달하면 역방향으로 이동하며 모든 요청을 처리
저장장치 계층 구조와 캐싱
- CPU와 I/O장치의 갭을 완충
Registers
|
Cache Memory
|
Main Memory
|
Magnetic Disk
|
Optical Disk
|
Magnetic Tape- 위로 갈수록 비싸고 빠름
- Magnetic Disk부터 I/O 장치 그위는 컴퓨터 내부
- 요청 시 데이터가 있으면 밑에까지 가지 않고 바로 갖고 있는 데이터를 넘겨주는 것이 캐싱
플래시 메모리
- 반도체 장치(하드디스크:마그네틱)
- NAND형(스토리지), NOR(임베디드 코드 저장 용)
- 특징
- 가볍다
- 작다
- 충격에 강하다
- 횟수 제약이 있음
- 데이터가 변질될 우려가 있음
- 전하의 양으로 1과 0을 구분하는데 시간이 지나서 전하의 양이 변하면 데이터가 바뀔 수 있음
운영체제의 종류
- 서버, PC, 스마트 디바이스
- 공개
- Linux, Android
- 안드로이드도 리눅스 커널 사용
'CS📟' 카테고리의 다른 글
[CS 스터디] OS - Process (0) 2022.10.22 CS 스터디 - 컴퓨터 시스템의 구조 (0) 2022.10.14 [TCP/IP] CH 6 보안 (2) 2022.09.17 [TCP/IP] 네트워크 인터페이스 계층 (0) 2022.09.04 [TCP/IP] 인터넷 계층 (0) 2022.08.28 - 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공