운영체제: Difference between revisions
From CS Wiki
No edit summary |
m (123.141.154.106(토론)의 편집을 기사도의 마지막 판으로 되돌림) Tag: Rollback |
||
(13 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:운영체제]] | [[분류:운영체제]] | ||
;Operating System | ;Operating System | ||
;컴퓨터의 시스템 자원을 관리 및 운영함으로써 사용자 지향적인 환경을 제공하는 시스템 소프트웨어 | ;컴퓨터의 시스템 자원을 관리 및 운영함으로써 사용자 지향적인 환경을 제공하는 시스템 소프트웨어 | ||
== | ==역할== | ||
* 사용자 인터페이스 제공 | *사용자 인터페이스 제공 | ||
* 입ㆍ출력에 대한 보조역할 수행 | *사용자 프로그램 제어 및 관리 | ||
* 사용자들 간 하드웨어 자원의 공동 사용 | *입ㆍ출력에 대한 보조역할 수행 | ||
*사용자들 간 하드웨어 자원의 공동 사용을 위한 자원 분배 및 관리 | |||
==발달 과정== | |||
#'''일괄 처리 시스템(1950년대)''' | |||
#*필요한 정보를 모아 한꺼번에 처리하는 초기 정보처리 시스템 | |||
#*현대에서도 배치 프로그램은 사용된다. 은행의 이자 정산, 학교의 성적 처리 등 | |||
#'''실시간 처리 시스템(1960년대)''' | |||
#*입출력 장치의 개선으로 대화식으로 실시간 정보 처리 수행 | |||
#*'''사용자가 필요한 연산을 바로바로 입력하고 결과를 받아본다.''' | |||
#'''시분할 시스템(1960년대)''' | |||
#*다중 프로그래밍 시스템이라고도 한다. | |||
#*짧은 주기로 여러 프로그램을 번갈아가면서 실행하여 여러 사용자가, 여러 프로그램을 동시에 사용할 수 있게 함 | |||
#*현대의 멀티 프로세싱, 멀티 스레드도 시분할 처리다. | |||
#'''다중처리 시스템(1980년대)''' | |||
#*하나의 메모리에 복수의 연산장치를 이용하여 작업을 처리하는 방식 | |||
#*2코어, 4코어 등의 멀티 프로세서 시스템을 말한다. | |||
#'''[[분산 처리 시스템]](1980년대)''' | |||
#*여러 컴퓨터를 네트워크로 묶어 높은 성능을 구현하는 방식 | |||
#*클러스터링이 분산 처리 시스템에 해당된다. | |||
==[[운영체제 유형|유형]]== | |||
*'''싱글 태스킹 시스템:''' 컴퓨터가 한 번에 하나의 작업만을 처리 | |||
*'''멀티 스위칭 시스템 :''' 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작하는 형태 | |||
*'''멀티 태스킹 시스템:''' 여러개의 작업을 동시에 처리가능한 시스템 | |||
*'''멀티 유저 시스템:''' 단일 시스템에서 여러 사용자가 동시에 프로그램을 이용가능한 시스템 | |||
*'''일괄처리 시스템:''' 여러 개의 작업을 묶어 한꺼번에 처리하는 시스템 | |||
*'''대화형 처리 시스템:''' 사용자와 컴퓨터가 명령과 결과 응답을 주고 받으며 구동되는 시스템 | |||
==기능적 구분== | |||
*'''제어 프로그램(Control Program)''' | |||
**감시 프로그램(Supervisor Program) | |||
**작업 관리 프로그램(Job Management Program) | |||
**데이터 관리 프로그램(Data Management Program) | |||
*'''처리 프로그램(Process Program)''' | |||
**[[언어 번역 프로그램|언어 번역 프로그램(Language Translator Program)]] | |||
**문제 처리 프로그램(Problem Processing Program) | |||
**서비스 프로그램(Service Program) | |||
==[[운영체제 5계층|자원 관리 5계층]]== | |||
#'''프로세서 관리'''(1계층): 동기화 및 프로세서 스케줄링 | |||
#'''메모리 관리'''(2계층): 메모리 할당 및 회수 | |||
#'''프로세스 관리'''(3계층): 프로세스 생성,제거 | |||
#'''주변장치 관리'''(4계층): 주변장치 상태파악 | |||
#'''파일 관리'''(5계층): 파일의 생성과 소멸, 파일의 열기와 닫기 | |||
==[[운영체제 성능평가 기준|성능평가 기준]]== | |||
*'''처리능력(Throughput)''' | |||
**일정 시간 내에 시스템이 처리하는 일의 양 | |||
*'''반환 시간(Turn Around Time)''' | |||
**시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 | |||
*'''사용 가능도(Availability)''' | |||
**시스템을 사용할 필요가 있을때 즉시 사용 가능한 정도 | |||
*'''신뢰도(Reliability)''' | |||
**시스템이 주어진 문제를 정확하게 해결하는 정도 | |||
==대표적 운영체제== | |||
*아래 운영체제에 공통적인 사항 | |||
**다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다. | |||
**백그라운드에서 작업을 수행할 수 있다. | |||
**다양한 유틸리티 프로그램이 존재한다. | |||
=== | ===[[윈도우|윈도우(Windows)]]=== | ||
*Microsoft사의 운영체제 | |||
*GUI기반 운영체제이다. | |||
*트리 디렉터리 구조를 가진다. | |||
*선점형 멀티태스킹 방식을 사용한다. | |||
* | |||
* | |||
* | |||
* | |||
=== | ===[[유닉스|유닉스(UNIX)]]=== | ||
*시분할 시스템을 위해 설계된 대화식 운영체제 | |||
*소스가 공개된 개방형(Open) 시스템 | |||
*대부분 [[C언어]]로 작성되어 있어 이식성이 높다. | |||
=== | ===[[리눅스|리눅스(Linux)]]=== | ||
*유닉스로부터 파생된 운영체제 | |||
*소스가 공개된 개방형(Open) 시스템 | |||
* 유닉스로부터 파생된 운영체제 | |||
* 소스가 공개된 개방형(Open) 시스템 |
Latest revision as of 19:24, 14 June 2022
- Operating System
- 컴퓨터의 시스템 자원을 관리 및 운영함으로써 사용자 지향적인 환경을 제공하는 시스템 소프트웨어
역할[edit | edit source]
- 사용자 인터페이스 제공
- 사용자 프로그램 제어 및 관리
- 입ㆍ출력에 대한 보조역할 수행
- 사용자들 간 하드웨어 자원의 공동 사용을 위한 자원 분배 및 관리
발달 과정[edit | edit source]
- 일괄 처리 시스템(1950년대)
- 필요한 정보를 모아 한꺼번에 처리하는 초기 정보처리 시스템
- 현대에서도 배치 프로그램은 사용된다. 은행의 이자 정산, 학교의 성적 처리 등
- 실시간 처리 시스템(1960년대)
- 입출력 장치의 개선으로 대화식으로 실시간 정보 처리 수행
- 사용자가 필요한 연산을 바로바로 입력하고 결과를 받아본다.
- 시분할 시스템(1960년대)
- 다중 프로그래밍 시스템이라고도 한다.
- 짧은 주기로 여러 프로그램을 번갈아가면서 실행하여 여러 사용자가, 여러 프로그램을 동시에 사용할 수 있게 함
- 현대의 멀티 프로세싱, 멀티 스레드도 시분할 처리다.
- 다중처리 시스템(1980년대)
- 하나의 메모리에 복수의 연산장치를 이용하여 작업을 처리하는 방식
- 2코어, 4코어 등의 멀티 프로세서 시스템을 말한다.
- 분산 처리 시스템(1980년대)
- 여러 컴퓨터를 네트워크로 묶어 높은 성능을 구현하는 방식
- 클러스터링이 분산 처리 시스템에 해당된다.
유형[edit | edit source]
- 싱글 태스킹 시스템: 컴퓨터가 한 번에 하나의 작업만을 처리
- 멀티 스위칭 시스템 : 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작하는 형태
- 멀티 태스킹 시스템: 여러개의 작업을 동시에 처리가능한 시스템
- 멀티 유저 시스템: 단일 시스템에서 여러 사용자가 동시에 프로그램을 이용가능한 시스템
- 일괄처리 시스템: 여러 개의 작업을 묶어 한꺼번에 처리하는 시스템
- 대화형 처리 시스템: 사용자와 컴퓨터가 명령과 결과 응답을 주고 받으며 구동되는 시스템
기능적 구분[edit | edit source]
- 제어 프로그램(Control Program)
- 감시 프로그램(Supervisor Program)
- 작업 관리 프로그램(Job Management Program)
- 데이터 관리 프로그램(Data Management Program)
- 처리 프로그램(Process Program)
- 언어 번역 프로그램(Language Translator Program)
- 문제 처리 프로그램(Problem Processing Program)
- 서비스 프로그램(Service Program)
자원 관리 5계층[edit | edit source]
- 프로세서 관리(1계층): 동기화 및 프로세서 스케줄링
- 메모리 관리(2계층): 메모리 할당 및 회수
- 프로세스 관리(3계층): 프로세스 생성,제거
- 주변장치 관리(4계층): 주변장치 상태파악
- 파일 관리(5계층): 파일의 생성과 소멸, 파일의 열기와 닫기
성능평가 기준[edit | edit source]
- 처리능력(Throughput)
- 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간(Turn Around Time)
- 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability)
- 시스템을 사용할 필요가 있을때 즉시 사용 가능한 정도
- 신뢰도(Reliability)
- 시스템이 주어진 문제를 정확하게 해결하는 정도
대표적 운영체제[edit | edit source]
- 아래 운영체제에 공통적인 사항
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.
- 백그라운드에서 작업을 수행할 수 있다.
- 다양한 유틸리티 프로그램이 존재한다.
윈도우(Windows)[edit | edit source]
- Microsoft사의 운영체제
- GUI기반 운영체제이다.
- 트리 디렉터리 구조를 가진다.
- 선점형 멀티태스킹 방식을 사용한다.
유닉스(UNIX)[edit | edit source]
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 소스가 공개된 개방형(Open) 시스템
- 대부분 C언어로 작성되어 있어 이식성이 높다.
리눅스(Linux)[edit | edit source]
- 유닉스로부터 파생된 운영체제
- 소스가 공개된 개방형(Open) 시스템