tlov
01. 운영체제 개요 본문
운영체제란?
컴퓨터 하드웨어 바로 위에 설치되어 하드웨어와 사용자 및 응용 소프트웨어를 연결하여 효율적으로 자원을 관리해 주고 자원에 대한 서비스를 제공하는 특별한 소프트웨어를 말한다.
좁은 의미의 운영체제 - 커널
- 운영체제의 핵심 부분으로 메모리에 상주하는 부분
넓은 의미의 운영체제
- 커널 뿐만 아니라 각종 시스템 유틸리티를 포함한 개념
- 메모리에 상주하지 않고 독립적인 프로그램들이지만 운영체제 범위에 포함되는 것들
전공자 입장에서의 운영체제는 보통 '커널'만을 의미한다.
운영체제의 목적
- 컴퓨터 시스템의 자원을 효율적으로 관리 (가장 큰 목적)
- 프로세서, 기억장치, 입출력 장치 등 (하드웨어 자원)
- 프로세스, 파일, 메시지 등 (소프트웨어 자원)
- 사용자간의 형평성 있는 자원 분배 및 주어진 자원으로 최대한의 성능 내기
- 사용자에게 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
운영체제의 분류
동시 작업 가능 여부
- 단일 작업 (single tasking)
한 번에 하나의 작업만 처리 ex. MS-DOS 프롬프트
- 다중 작업 (multi tasking)
동시에 두 개 이상의 작업 처리 ex. UNIX, MS Windows
현대적인 운영체제
사용자의 수
- 단일 사용자 (single user) ex. MS-DOS, MS Windows
- 다중 사용자 (multi user) ex. UNIX, NT Server
처리 방식
- 일괄 처리 (batch processing)
작업 요청의 일정량을 모아서 한꺼번에 처리하며 작업이 완전 종료될 때까지 기다려야 한다.
- 시분할 (time sharing)
현대 운영체제가 사용하는 처리 방식
여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용한다. 일괄 처리 시스템에 비해 짧은 응답시간을 가짐
ineractive한 방식.
- 실시간 (realtime OS)
정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS이다.
시분할은 어떤 시간 안에 무조건 해결되어야 함이 없이 사용자 및 응용 프로그램 개수에 따라 작업 시간이 늘어남과 줄어듦이 반복하지만, 이 실시간 방식은 무조건 어떠한 일이 시간 내에 종료되어야 한다.
특수한 목적을 가진 시스템에서 사용되는 OS이다. ex. 원자로/공장 제어, 미사일 제어, 반도체 장비,...
실시간 시스템의 개념 확장
- hard realtime system
- soft realtime system
몇 가지 용어
- Multitasking
여러 작업이 동시에 실행되는 것을 멀티 태스킹이라고 함.
엄밀히 말하면 CPU에서는 한 번에 하나의 작업만 수행하지만, 빠르게 전환하며 실행하기 때문에 여러 작업이 동시에 돌아가는 것처럼 보인다.
- Multiprogramming
멀티프로그래밍은 메모리에 여러 프로그램이 동시에 올라가는 방식을 말한다.
메모리에 좀 더 중점을 둔 용어이다.
- Time sharing
시간을 분할해서 CPU를 사용하는 방식이다.
CPU를 좀 더 강조한 용어이다.
- Multiprocess
4가지 용어 모두 유사한 용어로 사용됨.
- Multiprocessor : 하나의 컴퓨터에 CPU가 여러 개 붙어있음을 의미한다.
'개발 > 운영체제' 카테고리의 다른 글
02-2. 시스템 구조와 프로그램 실행 (0) | 2024.08.16 |
---|---|
02-1. 시스템 구조와 프로그램 실행 (0) | 2024.08.16 |
[스터디] 5-1. 동기화란? (0) | 2024.08.15 |
[스터디] 4-2. CPU 스케줄링 알고리즘 (1) | 2024.08.15 |
[스터디] 4-1. CPU 스케줄링 (0) | 2024.08.15 |