-
[OS] 운영체제 정의, 기능, 분류, 구조Computer Science/OS 2022. 12. 27. 00:34
http://www.kocw.net/home/cview.do?lid=af8e05c97c6d60de
Introduction to Operating Systems
운영체제란 무엇인가, 운영체제의 목적, 운영체제의 분류, 운영체제의 예, 운영체제의 구조
운영체제의 정의
- 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 의미한다.
- 하드웨어 위에 기본적으로 운영체제를 탑재하여 전원을 켰을 때, 손쉽게 사용할 수 있는 상태가 되도록 하는 것
- 커널
- 메모리에 상주하는 운영체제의 부분
- 운영체제 코드 중에서도 가장 핵심적인 부분
운영체제의 기능
- 컴퓨터 시스템의 자원을 효율적으로 관리
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주는 것
운영체제의 분류
- 동시 작업 가능 여부
- 단일 작업(single tasking) : 한번에 하나 작업
- 다중 작업(multi tasking) : 동시에 두 개 이상
- 사용자의 수
- 단일 사용자용 운영체제
- 다중 사용자용 운영체제
- 처리방식
- 일괄 처리(batch processing)
- 시분할 방식
- 여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할하여 사용하는 방식
- 대화형 시스템: 사용자의 요청에 대한 결과를 곧바로 얻을 수 있는 시스템
- 실시간 운영체제(real time): 정해진 시간안에 어떠한 일이 반드시 처리됨을 보장해야하는 시스템에서 사용 ex) 원자로, 공장 제어 시스템, 미사일 제어 시스템
- 경성 실시간 시스템(hard realtime system) : 주어진 시간을 지키지 못할 경우 매우 위험한 결과 초래
- 연성 실시간 시스템(soft realtime system) : 데이터가 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템 ex) 스트리밍 시스템
운영체제의 예
- 유닉스
- 대부분 C언어로 작성
- 높은 이식성 → 하나의 컴퓨터에서 다른 컴퓨터로 이식하기 쉽다
- 대부분의 언어가 C언어로 작성되어있기 때문에 다른 컴퓨터에서 컴파일이 쉽게 가능하다
- 최소한의 커널 구조 → 확장용이
- 소스코드 공개
- 프로그램 개발에 용이
- DOS
- MS 에서 1981년 IBM-PC개발
- 단일 사용자용 운영체제, 메모리 관리 능력의 한계(주 기억장치 640KB)
- MS Window
- MS사의 다중 작업을 GUI 기반 운영체제
- 네트워크 환경 강화
- DOS용 응용 프로그램과 호환성 제공
- 불안정성
- 풍부한 자원 소프트웨어
- Handheld device를 위한 OS
그 외 용어
- multitasking
- multiprogramming
- 여러 프로그램이 메모리에 올라가 있음을 강조
- time sharing
- CPU의 시간을 분할하여 나누어 쓴다는 의미
- CPU쪽으로 강조
- multiprocess
→ 4가지 용어는 모두 유사한 용어로, 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미한다
- Multiprocessor
- 하나의 컴퓨터에 CPU(processor)가 여러개 붙어 있음을 의미
- CPU가 여러개 붙어 있는 것을 의미
운영체제의 구조
- CPU
- 누구한테 CPU를 줄까 → CPU 스케줄링
- 선착순 → 빠른 자원을 효율적으로 활용할 수 없기 때문에
- CPU를 줬다 뺐었다
- 누구한테 CPU를 줄까 → CPU 스케줄링
- 메모리
- 한정된 메모리를 어떻게 쪼개어 쓰지? → 메모리 관리
- 메모리 분배 이슈 ex) 워킹 셋 모델
- N/1로 쪼개는 것이 항상 좋은 방법은 아님
- CPU에서 사용할 일이 없는
- 추후에도 사용할 메모리인가? (미래 예측) → 과거를 통해 예측 ex) 에 많이 사용한 메모리는 냅둠
- Disk
- 디스크에 파일을 어떻게 보관하지? → 파일 관리
- 디스크 스케줄링? 먼저 온것을 무조건 먼저 처리하는 것이 아니라, 효율적으로 head 움직임을 최소화 하면서 빨리 요청을 수행할 수 있을 지에 대한 것 ex) 엘리베이터
- I/O device
- 각기 다른 입출력장치와 컴퓨터 간에 어떻게 정보를 주고 받게 하지? → 입출력 관리
- 프로세스관리
- 프로세스의 생성과 삭제
- 자원 할당 및 반환
- 프로세스 간 협력
- 그 외
- 보호 시스템
- 네트워킹
- 명령어 해석기
'Computer Science > OS' 카테고리의 다른 글
[OS] 프로세스의 생성과 프로세스 간의 협력 (0) 2023.01.12 [OS] 쓰레드와 멀티쓰레드 (0) 2023.01.05 [OS] 운영체제 프로세스, 스케줄러 (0) 2022.12.29 [OS] 시스템 구조와 프로그램 실행 (0) 2022.12.29 [OS] 컴퓨터 시스템 구조 (0) 2022.12.27