운영체제: Difference between revisions

From IT Wiki
No edit summary
m (123.141.154.106(토론)의 편집을 기사도의 마지막 판으로 되돌림)
Tag: Rollback
 
(10 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)]]===
# 일괄 처리 시스템(1950년대)
#* 필요한 정보를 모아 한꺼번에 처리하는 초기 정보처리 시스템
#* 현대에서도 배치 프로그램은 사용된다. 은행의 이자 정산, 학교의 성적 처리 등
# 실시간 처리 시스템(1960년대)
#* 입출력 장치의 개선으로 대화식으로 실시간 정보 처리 수행
#* 사용자가 필요한 연산을 바로바로 입력하고 결과를 받아본다.
# 시분할 시스템(1960년대)
#* 다중 프로그래밍 시스템이라고도 한다.
#* 짧은 주기로 여러 프로그램을 번갈아가면서 실행하여 여러 사용자가, 여러 프로그램을 동시에 사용할 수 있게 함
#* 현대의 멀티 프로세싱, 멀티 스레드도 시분할 처리다.
# 다중처리 시스템(1980년대)
#* 복수의 연산장치를 이용하여 하나의 작업을 처리하는 방식
# [[분산 처리 시스템]](1980년대)
#* 여러 컴퓨터를 네트워크로 묶어 높은 성능을 구현하는 방식
#* 클러스터링이 분산 처리 시스템에 해당된다.


== 구성 및 동작 ==
*Microsoft사의 운영체제
=== 구성 ===
*GUI기반 운영체제이다.
* '''제어 프로그램(Control Program)'''
*트리 디렉터리 구조를 가진다.
** 감시 프로그램(Supervisor Program)
*선점형 멀티태스킹 방식을 사용한다.
** 작업 관리 프로그램(Job Management Program)
** 데이터 관리 프로그램(Data Management Program)
* '''처리 프로그램(Process Program)'''
** [[언어 번역 프로그램|언어 번역 프로그램(Language Translator Program)]]
** 문제 처리 프로그램(Problem Processing Program)
** 서비스 프로그램(Service Program)


=== 자원 관리 5단계 ===
===[[유닉스|유닉스(UNIX)]]===
# '''프로세서 관리'''(1계층): 동기화 및 프로세서 스케줄링
# '''메모리 관리'''(2계층): 메모리 할당 및 회수
# '''프로세스 관리'''(3계층): 프로세스 생성,제거
# '''주변장치 관리'''(4계층): 주변장치 상태파악
# '''파일 관리'''(5계층): 파일의 생성과 소멸, 파일의 열기와 닫기


*시분할 시스템을 위해 설계된 대화식 운영체제
*소스가 공개된 개방형(Open) 시스템
*대부분 [[C언어]]로 작성되어 있어 이식성이 높다.


=== 성능평가 기준 ===
===[[리눅스|리눅스(Linux)]]===
* '''처리능력(Throughput)'''
** 일정 시간 내에 시스템이 처리하는 일의 양
* '''반환 시간(Turn Around Time)'''
** 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
* '''사용 가능도(Availability)'''
** 시스템을 사용할 필요가 있을때 즉시 사용 가능한 정도
* '''신뢰도(Reliability)'''
** 시스템이 주어진 문제를 정확하게 해결하는 정도


== 대표적 운영체제 ==
*유닉스로부터 파생된 운영체제
* 아래 운영체제에 공통적인 사항
*소스가 공개된 개방형(Open) 시스템
** 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.
** 백그라운드에서 작업을 수행할 수 있다.
** 다양한 유틸리티 프로그램이 존재한다.
=== [[윈도우|윈도우(Windows)]] ===
* Microsoft사의 운영체제
* GUI기반 운영체제이다.
* 트리 디렉터리 구조를 가진다.
* 선점형 멀티태스킹 방식을 사용한다.
=== [[유닉스|유닉스(UNIX)]] ===
* 시분할 시스템을 위해 설계된 대화식 운영체제
* 소스가 공개된 개방형(Open) 시스템
* 대부분 [[C언어]]로 작성되어 있어 이식성이 높다.
=== [[리눅스|리눅스(Linux)]] ===
* 유닉스로부터 파생된 운영체제
* 소스가 공개된 개방형(Open) 시스템

Latest revision as of 09:24, 15 June 2022


Operating System
컴퓨터의 시스템 자원을 관리 및 운영함으로써 사용자 지향적인 환경을 제공하는 시스템 소프트웨어

역할[edit | edit source]

  • 사용자 인터페이스 제공
  • 사용자 프로그램 제어 및 관리
  • 입ㆍ출력에 대한 보조역할 수행
  • 사용자들 간 하드웨어 자원의 공동 사용을 위한 자원 분배 및 관리

발달 과정[edit | edit source]

  1. 일괄 처리 시스템(1950년대)
    • 필요한 정보를 모아 한꺼번에 처리하는 초기 정보처리 시스템
    • 현대에서도 배치 프로그램은 사용된다. 은행의 이자 정산, 학교의 성적 처리 등
  2. 실시간 처리 시스템(1960년대)
    • 입출력 장치의 개선으로 대화식으로 실시간 정보 처리 수행
    • 사용자가 필요한 연산을 바로바로 입력하고 결과를 받아본다.
  3. 시분할 시스템(1960년대)
    • 다중 프로그래밍 시스템이라고도 한다.
    • 짧은 주기로 여러 프로그램을 번갈아가면서 실행하여 여러 사용자가, 여러 프로그램을 동시에 사용할 수 있게 함
    • 현대의 멀티 프로세싱, 멀티 스레드도 시분할 처리다.
  4. 다중처리 시스템(1980년대)
    • 하나의 메모리에 복수의 연산장치를 이용하여 작업을 처리하는 방식
    • 2코어, 4코어 등의 멀티 프로세서 시스템을 말한다.
  5. 분산 처리 시스템(1980년대)
    • 여러 컴퓨터를 네트워크로 묶어 높은 성능을 구현하는 방식
    • 클러스터링이 분산 처리 시스템에 해당된다.

유형[edit | edit source]

  • 싱글 태스킹 시스템: 컴퓨터가 한 번에 하나의 작업만을 처리
  • 멀티 스위칭 시스템 : 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작하는 형태
  • 멀티 태스킹 시스템: 여러개의 작업을 동시에 처리가능한 시스템
  • 멀티 유저 시스템: 단일 시스템에서 여러 사용자가 동시에 프로그램을 이용가능한 시스템
  • 일괄처리 시스템: 여러 개의 작업을 묶어 한꺼번에 처리하는 시스템
  • 대화형 처리 시스템: 사용자와 컴퓨터가 명령과 결과 응답을 주고 받으며 구동되는 시스템

기능적 구분[edit | edit source]

  • 제어 프로그램(Control Program)
    • 감시 프로그램(Supervisor Program)
    • 작업 관리 프로그램(Job Management Program)
    • 데이터 관리 프로그램(Data Management Program)
  • 처리 프로그램(Process Program)

자원 관리 5계층[edit | edit source]

  1. 프로세서 관리(1계층): 동기화 및 프로세서 스케줄링
  2. 메모리 관리(2계층): 메모리 할당 및 회수
  3. 프로세스 관리(3계층): 프로세스 생성,제거
  4. 주변장치 관리(4계층): 주변장치 상태파악
  5. 파일 관리(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) 시스템