-
1. 운영체제 개요CS 지식/운영체제 2020. 11. 7. 23:58반응형
운영체재 개요
- 컴퓨터 시스템의 자원을 효율적으로 관리 (자원 관리자)
- 프로세서, 기억장치, 입출력 장치 등의 효율적 관리
- 형평성 있는 자원 분배
- 프로세서, 기억장치, 입출력 장치 등의 효율적 관리
- 좁은 의미의 운영체제
- 커널(kernel)
- 운영체제의 핵심 부분으로 메모리에 상주하는 부분
- 넓은 의미의 운영체제
- 커널 뿐 아니라 각종 시스템 유틸리티를 포함한 개념
- 운영체제 분류
- 동시 작업 여부
- 다중 작업(multi tasking)
- UNIX, MS Windows 등에서 한 명령 수행이 끝나기 전에 다른 명령 or 프로그램 수행
- 사용자의 수
- 단일 사용자(single user)
- MS-DOS, MS Windows
- 다중 사용자(multi user)
- UNIX, NT server
- 단일 사용자(single user)
- 처리 방식
- 일괄 처리(batch processing)
- 작업 요청의 일정량을 모아서 한꺼번에 처리
- 작업이 완전 종료될 때까지 기다려야 한다.
- 과거의 컴퓨터, OMR, Punch Card 처리 시스템 등
- 시분할(time sharing)
- 현대의 컴퓨터
- 여러 작업을 수행할 때 일정 시간 단위로 분할하여 처리
- 일괄 처리에 비해 짧은 응답 시간
- UNIX
- 실시간 (Realtime OS)
- 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장돼야하는 실시간 시스템을 위한 OS
- 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어 등
- 실시간 시스템 개념 확장
- Hard realtime system (경성 실시간 시스템)
- 데드라인을 어겼을 때 칼같이 문제가 되는 시스템
- 공장에서 순서에 따라서 프로세스가 돌아갈 때
- Soft realtime system (연성 실시간 시스템)
- 데드라인을 어겼다고 해서 엄격하게 치명적 결과가 존재하지 않은 시스템
- Hard realtime system (경성 실시간 시스템)
- 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장돼야하는 실시간 시스템을 위한 OS
- 일괄 처리(batch processing)
- 현대 컴퓨터 OS는 다중 작업, 다중 사용자, 시분할을 채택
- 동시 작업 여부
- multi tasking vs multi programming vs time sharing vs multi process
- multil tasking
- 짧은 시간 간격으로 task를 처리하는 것
- multi programming
- 메모리에 여러 프로그램이 동시에 올라가있음을 강조
- time sharing
- CPU의 시간을 시분할해서 (공유해서) 나누어 쓴다는 의미를 강조
- multi process
- 여러 프로그램이 동시에 실행된다는 의미를 강조
- cf) multi processor
- 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미
- multil tasking
- UNIX vs Windows
- UNIX
- 초기에는 대형 컴퓨터를 위해 만들어진 OS (서버를 위한 운영체제)
- 코드의 대부분이 C언어로 작성됨 (UNIX를 구성하기 위해 C언어가 탄생함)
- 최소한의 커널 구조 ~> 확장 용이
- 대표적인 버전 : Linux (PC를 위한 OS지만, server용으로도 좋음)
- Windows
- PC를 위해 만들어진 OS (단일 사용자용 DOS로 출발)
- 다중 작업용 GUI 기반 OS
- UNIX
출처 : kocw 강의
반응형'CS 지식 > 운영체제' 카테고리의 다른 글
뮤텍스와 세마포어 (0) 2020.10.21 Deadlock & Starvation (0) 2020.10.21 프로세스와 스레드 (0) 2020.10.21 멀티 스레드의 임계 구역과 뮤텍스, 세마포어 (0) 2020.08.17 프로세스와 스레드 (0) 2020.08.17 - 컴퓨터 시스템의 자원을 효율적으로 관리 (자원 관리자)