1. 운영체제란 무엇인가?
운영체제 (Operating System, OS)란?
- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
협의의 운영체제 (커널)
- 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심함
- 따라서 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 적재하고 그렇지 않은 부분은 필요할 때 메모리에 적재하여 사용함
- 이때 메모리에 상주하는 부분을 커널 (Kernel)이라 부르며 이를 좁은 의미의 운영체제라고도 부름
광의의 운영체제
- 커널뿐 아니라 주변 시스템 유틸리티를 포함한 개념
2. 운영체제의 목적
컴퓨터 시스템의 자원을 효율적으로 관리
- CPU, 기억장치, 입출력 장치 등 하드웨어 자원 및 소프트웨어 자원의 효율적 관리
- 사용자 간의 형평성 있는 자원 분배 (주어진 자원으로 최대한의 성능을 내도록)
컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
- 운영체제는 동시 사용자나 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공
- 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
3-1. 운영체제의 분류 - 동시 작업 가능 여부
단일 작업 (Single-Tasking)
- 한 번에 하나의 작업만 처리
→ 예) MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음
다중 작업 (Multi-Tasking)
- 동시에 두 개 이상의 작업 처리
→ 예) UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음
3-2. 운영체제의 분류 - 사용자의 수
단일 사용자 (Single User)
- 한 번에 한 명의 사용자만이 사용
→ 예) MS-DOS, MS Windows
다중 사용자 (Multi User)
- 여러 사용자가 동시에 접속해 사용
→ 예) UNIX, NT Server
3-3. 운영체제의 분류 - 처리 방식
일괄 처리 (Batch Processing)
- 요청된 작업을 일정량씩 모아서 한꺼번에 처리
→ 작업이 완전히 종료될 때까지 기다려야 함
→ 예) 초기 Punch Card 처리 시스템
시분할 (Time Sharing)
- 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
- 일괄 처리 시스템에 비해 짧은 응답 시간을 가짐 (Interactive 한 방식)
→ 예) UNIX
실시간 (Realtime OS)
- 정해진 시간 안에 어떠한 일이 반드시 처리됨을 보장해야 하는 실시간 시스템을 위한 운영체제
→ 예) 원자로/공장 제어, 미사일 제어, 반도체 장비, 로봇 제어
4. 운영체제의 예
유닉스 (UNIX)
- 코드 대부분을 C언어로 작성
- 높은 이식성
- 최소한의 커널 구조
- 복잡한 시스템에 맞게 확장 용이
- 소스 코드 공개
- 프로그램 개발에 용이
- 다양한 버전 (System V, FreeBSD, SunOS, Solaris, Linux)
DOS (Disk Operating System)
- MS사에서 1981년 IBM-PC를 위해 개발
- 단일 사용자용 운영체제, 메모리 관리 능력의 한계 (메모리 : 640KB)
MS Windows
- MS사의 다중 작업용 GUI 기반 운영체제
- Plug and Play (시스템에 새로운 하드웨어를 장착하면 운영체제가 자동으로 하드웨어를 감지하여 그것에 맞게 설정됨)
- 네트워크 환경 강화
- DOS 용 응용 프로그램과 호환성 제공
- 풍부한 지원 소프트웨어
이화여자대학교 반효경 교수님의 운영체제 강의를 정리한 글입니다.
http://www.kocw.net/home/cview.do?cid=3646706b4347ef09
또한 반효경 교수님의 "운영체제와 정보기술의 원리" 책을 참고하였습니다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=238716482
'운영체제' 카테고리의 다른 글
6. 프로세스 동기화 (0) | 2024.01.03 |
---|---|
5. CPU 스케줄링 (0) | 2023.12.30 |
4. 프로세스 생성 (0) | 2023.12.27 |
3. 프로세스 (0) | 2023.12.25 |
2. 컴퓨터 시스템 구조 & 프로그램 실행 (0) | 2023.12.21 |