Notice
Recent Posts
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
관리 메뉴

YUNA's Programming

DAY 1 운영체제 개요 본문

Computer Engeering/OS

DAY 1 운영체제 개요

l_yuna 2023. 3. 18. 13:07

운영체제(OS)

; 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 '시스템 소트프웨어'

 


OS의 역할

; 조정 : 사용자와 응용 프로그램 간에 통신할 수 있게 하고, 작업을 할 수 있는 환경만 제공함

; 자원 할당자나 관리자 : 응용 프로그램을 실행할 때 필요한 자원을 관리하고 배분하는 역할을 함

; 응용 프로그램과 입출력장치의 제어 :  즉, 컴퓨터 시스템의 부적절한 사용이나 오류를 방지하기 위해 사용자 프로그램의 실행을 제어

 

 


OS의 목적

; 편리성 : 사용자에게 편리한 환경 제공

; 시스템 성능 향상 : 처리량, 신뢰도, 그리고 사용 가능도(가동률)를 향상시키고, 지연 및 응답시간 단축

; 제어 서비스 향상 : 입출력장치의 동작 관리, 시스템 오류 예방

 


OS의 종류

; 동시 사용자 수에 따라 : Single-user system , Multi-user system

; 작업 처리 방법에 따라 : Single-tasking system , Multi-tasking system

; 사용 환경에 따라 : Batch processing system(일괄처리 시스템), Time-sharing system(시분할 시스템), Distributed processing system(분산 시스템), Real-time system(실시간 시스템)

 


 

Batch processing system(일괄처리 시스템) - ex) 급여, 공과금 등의 계산처리에 사용

; 사용자의 요청 작업들을 일정 시간 모아 두었다가 한꺼번에 처리하는 방식

; 작업을 실행하면 끝날 대까지 아무것도 못함

; 장점 : 전송 속도가 빠른 자기테이프, 자기 디스크등의 보조기억장치를 이용하여 CPU의 효율을 높힐 수 있다. 

; 단점 :

1. 준비 작업들의 유형이 동일해야 함 - 도시가스는 도시가스, 급여는 급여 유형만 입력 가능

2. I/O장치가 프로세서보다 속도 느려 프로세서(CPU)의 유휴 상태 발생 ~ 가동률이 낮아지는 것

3. 하나의 작업이 수행되면 그 작업이 시스템의 모든 자원을 독점하기 때문에 CPU 유휴시간을 갖음

 


Time-sharing system(시분할 시스템)

; 여러 사용자에게 짧은 간격으로 프로세서 번갈아 할당해서 마치 자기 혼자 프로세서를 독점하고 있는 양 착각하게 하여, 여러 사용자가 단일 컴퓨터시스템을 동시에 사용 가능 하도록 하는 것

; 다수의 사용자가 동시에 컴퓨터의 자원을 공유할 수 있는 기술

; 대화형 체제 가능

; 장점 : 여러 사람이 공동으로 CPU를 사용할 수 있음

; 단점 :  실행중인 프로세스 간 통신 및 I/O장치의 사용에 대한 제어 및 관리 능력이 별도로 필요


Distributed processing system(분산 시스템) - 서버 클라이언트 방식

; 하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니 컴퓨터에 분담시킨 후 통신망으로 상호간에 교신, 처리하는 방식

; 자료 처리 시스템들이 컴퓨터 네트워크를 통하여 상호 연결되어 교신하여 데이터 처리

; 장점 : Low cost, High performance

; 단점 : 구축 어려움


Real-time system(실시간 시스템)

; 단말기(컴퓨터)나 제어 대상으로부터 처리를 요구하는 자료가 발생할 때마다 즉시 처리하여 그 결과를 구동기를 통해 출력하거나 요구에 대하여 응답하는 방식

; 온라인의 개념 도입

; 장점 : 자료가 발생한 지점에서 단말기를 통해 직접 입출력 되기 때문에 사용자의 노력이 절감되고, 처리시간이 단축

; 단점 : 자료가 무작위로 도착하므로 입출력 자료의 일시 저장 및 대기가 필요함

 


 

OS의 발달 과정

1. 1940년대 : 운영체제 없음(작업별 순차 처리) ~ 사용자가 기계어로 직접 프로그램 작성, 실행함

 

2. 1950년대 : 일괄 처리 시스템 ~ 작업을 올리는 시간과 해제하는 시간을 줄이는 데 관심 (일괄처리, 버퍼링 등 방법 도입)

 

2. 1960년대 : 다중 프로그래밍, 시분할, 다중처리 , 실시간 시스템 ~ 장치 독립성을 이용한 편리한 하드웨어 관리와 다중 프로그래밍

- 여러 프로그램을 메모리에 나눠 적재한 후 프로세서를 번갈아 할당 프로세서 사용 극대화하여 여러 프로그램을 동시에 실행

ex) 미항공사의 SABRE 예약 시스템을 개발

 

3. 1970년대 ~ 1990년대 : 분산 처리 시스템 ~ 네트워크와 온라인 처리 방법 널리 사용

-1970 : 명령어 중심의 시스템

-1980~1990 : 사용자에게 편리한 메뉴 지향적인 시스템 ~ GUI(Graphic User Interface) 시스템

 

4. 2000년대 이후 : 모바일, 사물인터넷 운영체제 (심비안, 안드로이드, ios, 블랙베리OS, IoT 등) , 클라우드 컴퓨팅 (사용자가 인터넷을 통해 컴퓨터 하드웨어와 소프트웨어를 원격으로 액세스하여 사용할 수 있는 수단)


OS에서 커널(kernel)이라는 것은 무엇인가?

; 운영체제의 핵심으로 메모리에 상주하면서 운영체제의 다른 부분 또는 응용 프로그램 수행에 필요한 환경을 설정하는 소프트웨어

; 응용프로그램 실행에 필요한 다양한 서비스를 제공하고, 실행되는 프로세스를 스케쥴링하는 역할을 함

 

 

 

 

 

 

'Computer Engeering > OS' 카테고리의 다른 글

DAY 4 스레드의 개념  (0) 2023.03.23
DAY 3 프로세스의 개념  (0) 2023.03.23
DAY 2 운영체제의 기능과 서비스  (1) 2023.03.18
Comments