운영체제
운영체제란?
- OS(Operating System)
- 컴퓨터 사용자와 하드웨어간의 인터페이스
- 여러 프로그램 모음집 또는 그 모임의 자원들의 효율적인 관리를 목적으로한 프로그램
운영체제의 목표
- 처리능력 향상
- 일정 시간 내에 시스템이 처리하는 일의 양
- 일 잘하냐?
- 반환 시간
- 시스템에 작업을 의뢰한 시간부터 처리가 완료 될 때까지 걸린 시간
- 빠릿하냐
- 사용 가능도
- 자원이 필요할 때 즉시 사용 가능하냐
- 여유 있냐? 효율성이 목적이지
- 신뢰도
- 시스템이 주어진 문제를 정확하게 해결하는 정도
- 믿을만하냐?
운영체제의 기능
운영체제 정의와 상이한데 전체적으로는 시스템 관리 기능이라는 틀안에서 움직인다
- 자원의 스케줄링
- 사용자와 시스템간의 인터페이스
- 하드웨어와 네트워크를 관리 및 제어
- 데이터와 자원 관리 및 공유
- 시스템 오류 검사 및 복구
- 자원 보호 기능
- 입.출력에 대한 보조 기능
- VM
- VM 나온건 조곰 뜬금포 같은데?
운영체제의 종류
- 단일 작업 시스템
- DOS
- 다중 작업 처리 시스템
- Window, linux, Unix
운영체제의 운용 기법
일괄 처리 시스템
[^1]: CPU 유휴시간이란 CPU가 농땡이 피우는 시간, CPU가 작업을 하지 않고 쉬는 시간
- 초기 컴퓨터 시스템에서 사용된 형태
- 일정량, 일정 기간 동안 데이터를 모아 한꺼번에 처리하는 방식
- 일괄 처리를 위해 Job Control Language 제공해야한다
- 컴퓨터 시스템을 효율적으로 사용할 수 있다
- 반환시간이 늦지만 CPU 유휴 시간[^1]이 줄어듬
- 당연한게 쉴 틈이 어딨어 일해야지
- 급여 계산, 지불 계산, 연말 결산 등의 업무에 사용된다
- Batch 처리에 용이하다
다중 프로그래밍 시스템
느낌이라면 옛날에 CPU 하나 달린 노트북 쓰는 느낌이지
- 하나의 CPU와 주기억장치로 여러개 프로그램 동시에 처리하는 방식
- 주 기억장치가 하나 이상의 프로그램을 기억하고 있어야함
- CPU 사용률과 처리량이 증가
시분할 시스템
- Round Robin System , Time Sharing System
- 이름 값하는 시스템이지, 오래 기다리게 하기 싫으니까 적당히 기다리면서 일처리하자 이런거야
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 돌아가면서 처리해주는 방식
- 일괄 처리 형태에서 사용자 대기 시간을 줄이기 위한 것이다
- 여러 사용자가 동시에 각자의 단말장치를 토앟여 동시에 운영체제와 대화하면서 각자의 프로그램을 실행한다
- 리눅스 마스터에서 봤었나 초기 리눅스가 이러지 않았나?
- 다중 프로그래밍 방식과 결합하여 대화식 처리가 가능하다
- 시스템 전체 효율은 좋아지지만 사용자 입장에서는 반응 속도가 느려짐
- 각 작업의 응답 시간을 최소한으로 줄이는 것을 목적으로 한다
다중 처리 시스템
- 여러 개의 CPU와 하나의 주기억 장치를 이용하여 여러 프로그램을 동시에 처리하는 방식
- 안정성과 신뢰성이 높다
- CPU 하나가 고장나도 다른 친구가 대신할 수 있거든
- 여러 CPU는 하나의 메모리를 공유하며 단일 운영체제에 의해 관리
- 프로그램 처리 속도는 빠르지만 자원 공유에 대한 문제점을 해야한다
실시간 처리 시스템
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식
- 처리 시간 단축 및 처리 비용 절감
- 시간에 제한을 두고 수행도어야 하는 작업에 용이하다
다중 모드 처리
- 여러 모드를 섞어 쓰는 것이다
분산 처리 시스템
- 여거 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식이다
Comment