http://www.kocw.net/home/search/kemView.do?kemId=1046323 의 강의를 정리한 글입니다.
1.운영체제(Operating System)이란?
: 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
- 계층 구조 : 사용자-소프트웨어-운영체제-하드웨어
좁은 의미의 운영체제 : 커널
-> 운영체제의 핵심 -> 컴퓨터 부팅 후 메모리에 상주하는 부분
넓은 의미의 운영체제 :
-> 커널 뿐만 아니라 메모리에 상주하지 않는 각종 주변 시스템 유틸을 포함한 개념
2.운영체제의 목적
- 컴퓨터 시스템의 자원(하드웨어 자원, 소프트웨어 자원)을 효율적으로 관리
- 하드웨어 자원 : CPU, 메모리, 입출력 장치
- 소프트웨어 자원 : 프로세스, 파일, 메시지 등
- 주어진 자원으로 최대의 성능을 내도록 하는 효율성
- 사용자나 프로그램 간 자원을 분배하는 형평성
- 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
-> 직접 다루기 복잡한 하드웨어를 운영체제가 대신함
3.운영체제의 분류
1) 동시 작업 가능여부에 따라
- 단일작업(single tasking) 지원 : 한 번에 한 작업만 처리(MS-DOS)
- 다중작업(multi tasking) 지원 : 동시에 두 개 이상의 작업 처리(UNIX, Windows)
2) 사용자의 수에 따라 - 여러 계정이 동시에 접속하여 사용할 수 있는지
- 단일 사용자(single user) 지원 : MS-DOS, Windows(서버 기능을 추가시키면 여러 사용자가 사용 가능하기도 함)
- 다중 사용자(multi user) 지원 : UNIX, NT server
3) 처리 방식에 따라
- 일괄처리(batch processing) : 작업 요청을 일정량 모아서 한번에 처리 -> 작업이 완료 될 때까지 기다려야 함
- 시분할(time sharing) : 여러 작업을 수행할 때, 운영체제가 컴퓨터 처리 능력을 일정한 시간 단위로 분할, 할당하여 사용
- 짧은 응답시간을 가짐
- 사용자가 적고 많음에 따라 응답 시간이 늘어나고 줄어듦
- interactive
- 실시간(real time) : 특정한 목적을 가진 시스템에서 정해진 시간 안에 작업이 반드시 종료되는 것이 보장되어야 하는 OS
- 원자로/공장 제어, 미사일 제어, 로봇 제어
- 경성 실시간 시스템(Hard realtime system) : 정해진 시간을 정확히 지키지 않으면 치명적인 결과가 나오는 시스템(미사일 발사)
- 연성 실시간 시스템(Soft realtime system) : 정해진 시간을 정확히 지키지 않아도 치명적이지는 않은 시스템(영화 스트리밍)
점점 실시간성을 필요로하는 애플리케이션이 늘어남(네이게이션 등)
- multitasking : 하나의 프로그램이 끝나기 전에 다른 프로그램이 실행되는 것 -> CPU에서 하나의 작업을 짧은 시간 단위로 분할해서 할당하여 여러 작업이 동시에 실행되는 것처럼 보임
- multiprogramming : 메모리에 여러 프로그램이 동시에 올라가는 방식(메모리 측면을 강조)
- time sharing : CPU의 시간을 분할하여 나누어 쓰는 측면을 강조
- multiprocess :
- multiprocessor : 하나이 컴퓨터에 여러 프로세서(CPU)가 붙어 있음
4.운영체제의 예
- UNIX
- 대부분 C로 작성
- 높은 이식성
- 최소한의 커널 구조
- 복잡한 시스템에 맞도록 확장에 용이함
- 오픈 소스
- 프로그램 개발에 용이하며 다양한 버전이 존재(Solaris, SunOS, Linux..)
- DOS(Disk Operating System)
- MS사에서 IBM-PC를 위해 개발
- 단일 사용자용 OS, 메모리 관리 능력 한계(메모리 640KB까지만 지원)
- Windows
- 다중 작업용 GUI기반의 OS
- 네트워크 환경 강화
- DOS용 프로그램과 호환성 제공
- 풍부한 자원 소프트웨어
- 불안정성
'컴퓨터 구조와 운영체제' 카테고리의 다른 글
프로세스 관리 (0) | 2022.08.29 |
---|---|
쓰레드(Thread) (0) | 2022.08.22 |
프로세스 (0) | 2022.08.20 |
컴퓨터 시스템 구조(2) (0) | 2022.08.18 |
컴퓨터 시스템 구조(1) (0) | 2022.08.16 |