본문 바로가기
컴퓨터공학/운영체제

1. 운영체제 개요

by meow0110 2024. 5. 21.

운영체제의개념과목적

 

1. 운영체제의 개념

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

*한글, 워드 같은 것은 응용 소프트웨어라고 부른다.

*시스템을 제어하는 소프트웨어를 시스템 소프트웨어이다. 그리고 여기에 OS가 포함된다.

*운영체제는 사용자와 하드웨어 간의 중간자 역할을 한다.

 

■사용자 : 컴퓨터를 사용하는 사람이나 장치, 다른 컴퓨터 등을 의미

■ 소프트웨어 : 컴퓨터의 기능 수행에 필요한 모든 프로그램

■ 하드웨어 : 기본 연산 자원을 제공하는 프로세서(CPU, 중앙 처리장치), 메모리, 주변장치 등

*운영체제는 사용자와 하드웨어 간의 중간자 역할을 한다.

 

 

2 운영체제의 역할

■ 조정자

-운영 요소 사용을 제어하면서 사용자와 응용 프로그램 간에 통신할 수 있게 함

-작업을 할 수 있는 환경만 제공함

 

■ 자원 할당자나 관리자

-각 응용 프로그램에 필요한 자원 할당, 자원 할당 방법을 결정

 

■ 응용 프로그램과 입출력장치 제어자

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

 

■ 운영체제의 역할 좀 더 자세히

 하드웨어 및 사용자, 응용 프로그램, 시스템 프로그램 사이에서 인터페이스를 제공

프로세서, 메모리, 입출력장치, 통신장치 등 컴퓨터 자원을 효과적으로 활용하려고 조정·관리함

메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어

다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리

 

1. 편리성 2. 효율성 3. 제어 서비스 향상
 사용자에게 편리한 환경 제공  시스템 성능 향 상
 처리량 향상
 지연.응답시간 단축
 신뢰도 향상
 사용 가능도 향 상
 입출력장치의 동작 관리
 시스템 오류 예방

편리성

 하드웨어 및 사용자, 응용 프로그램, 시스템 프로그램 사이에서 인터페이스를 제공

 편리성 프로그램 개발 환경뿐만 아니라 응용 프로그램에 대한 사용자 인터페이스, 즉 사용자와 컴퓨터 시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스 제공

 

효율성 : 시스템 성능 향상

 사용자가 많은 대형 컴퓨터 시스템에서 특히 중요함 운영체제는 각 프로그램을 유기적으로 결합하여 시스템 전체 성능을 향상

 시스템 성능의 평가 기준

 -처리량 : 단위 시간당 얼마나 처리하는가? 작업량을?

 -지연·응답시간(턴 어라운드 타임) : 줄여야한다. 실행 요청시 응답이 빨리 올 수록 좋다.

 -신뢰도 :  프로그램 중간에 오류나면 안되니까

 -사용 가능도(가동률) : 중간에 꺼지거나 문제가 생기면 안되니까.

 

제어 서비스 향상

 시스템 확장, 효율적 운영을 위해 새로운 기능의 효과적인 개발을 허용하는 방법으로 발전 제어 서비스 향상

 입출력장치의 동작 관리 및 제어, 시스템 오류 예방 등으로 컴퓨터 자원을 여러 사용자에게 효율적으로 할당하고 관리할 수 있도록 제어 서비스를 발전

 

 

 

운영체제의종류

1. 운영체제의 분류

동시 사용자 수에 따라 작업 처리 방법에 따라 사용 환경에 따라
 Single-user system
 Multi-user system
 Single-tasking system
 Multi-tasking system (Multiprogrammin g system)
 Batch processing system
 Time-sharing system
 Distributed processing system
 Real-time system

*tasking : 작업

*Batch processing system : 일괄처리 시스템

*Distributed processing system : 분선처리 시스템

 

 

■ 동시 사용자 수에 따라

Single-user system Multi-user system
 OS가 한 순간 한 사용자만이 시스템 을 사용할 수 있도록 지원 
 시스템의 모든 자 원들이 사용자에 귀속
 동시에 여러 사용 자들이 시스템을 사용할 수 있도록 지원
 각종 시스템 자원 (파일 등)들에 대 한 소유 권한 관리 필요
 주로 Microcomputer나 Personal computer에서 사용  기본적으로 Multitasking 기능 필요
 OS의 기능 및 구조 가 복잡해짐
 MS-DOS, Windows 95/98  Unix, VMS(Digital), MVS(IBM), VM(IBM), AOS/VS(DG)

 

■ 작업 처리 방법에 따라

Single-tasking system Multi-tasking system
 시스템 내에 하나의 작업(프로그램, 프로세스)만 존재, 실행 가능
 하나의 프로그램 실 행을 마친 뒤에 다른 프로그램의 실행을 시작
 동시에 여러 작업 의 수행을 지원
 병행 수행으로 인 한 문제점들의 관 리 필요

 

■ 사용 환경에 따라

일괄처리 시스템
(Batch systems)
 사용자의 요청 작업들을 일정 시간 모아 두었다가 한꺼번에 처리하는 방식
 작업을 실행하면 끝날 때까지 아무것도 못한다.
 급여계산처리등에 사용
장점  다량의 작업을 일괄적으로 모아서 처리하는 것 으로 전송 속도가 빠른 자기테이프, 자기 디스크 등의 보조기억장치를 이용하여 CPU의 효율을 높힐 수 있다
단점  준비 작업들의 유형이 동일해야 하고, 작업에 모든 유형의 입력 불가능
 입출력장치가 프로세서보다 속도 느려 프로세서 의 유휴 상태 발생
 하나의 작업이 수행되면 그 작업이 시스템의 모든 자원을 독점하기 때문에 CPU 유휴시간을 갖음.

*단점 두번째 : 한마디로 하드디스크에서 CPU로 가는 속도가 느리면, CPU는 멍떄리면서 기다린다. 자원의 낭비! 유휴상태

시분할 시스템
(Time-sharing systems)
여러 사용자에게 짧은 간격으로 프로세서 번갈아 할당해서 마치 자기 혼자 프로세서를 독점하고 있는 양 착각하게 하여 여러 사용자가 단일 컴퓨터 시스템을 동시에 사용 가능 하도록 하는 기술
다수의 사용자가 동시에 컴퓨터의 자원을 공유할수 있는 기술
대화형 체제 가능
장점  여러 사람이 공동으로 CPU를 사용할 수 있음
단점  실행중인 프로세스 간 통신 및 I/O 장치의 사용에 대한 제어 및 관리 능 력이 필요

*한마디로 A,B,C,D 모든 사람에게 CPU 사용시간 1분씩 주고 계속 돌림.

분산 시스템
(Distributed systems)
하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니 컴퓨터에 분담시킨 후 통 신망을 통하여 상호간에 교신, 처리하는 방식
이러한 자료 처리 시스템들이 상호 연결은 컴퓨터 네트워크에 의해 이루어짐
장점  Low cost, High performance
단점  구축 어려움

*단점 : 서로 통신해야하니 네트워크도 구축해야하고 시스템적으로 연결도 하다보니 복잡하다!

실시간 시스템
(Real-time systems)
단말기나 제어 대상으로부터 처리를 요구하는 자료 가 발생할 때마다 즉시 처리하여 그 결과를 구동기 를 통해 출력하거나 요구에 대하여 응답하는 방식
온라인의 개념 도입
장점  자료가 발생한 지점에서 단말기를 통하여 직 접 입출력 되기 때문에 사용자의 노력이 절감
 처리 시간이 단축
단점  자료가 무작위하게 도착하므로 입출 력 자료의 일시 저장 및 대기가 필요

 

 

 

운영체제의발달과정

 

1. 1940년대 : 운영체제 없음(작업별 순차 처리)

 사용자가 기계어로 직접 프로그램 작성, 실행하는 작업별 순차 처리 시스템 사용

 운영체제 개념 존재하지 않음

 프로세서에는 명령어 저장 방법, 계산 대상, 결과 저장 위치와 방법, 출력 시점, 위치 등

 모두 명령어로 명시적으로 표현

 

 

2 1950년대 : 일괄 처리 시스템

 초기 운영체제인 일괄 처리 시스템(Batch processing system) :

작업을 올리는 시간과 해제하는 시간 줄이는 데 관심 (일괄 처리, 버퍼링 등 방법 도입)

IBM 701 1952년 초 자 동차 제조회사 GM에서 운영 체제의 효시 개발
IBM 704 1955년 GM 과 북아메리카 항공사가 공동 개발
IBM 704 자체 운영체제 1957년까지 IBM 사용자협 회에서 개발

 

일괄 처리란?

 일괄(Batch) 처리는 직렬 처리 기술과 동일

 작업 준비 시간을 줄이려고 데이터가 발생할 때마다 즉시 처리하지 않고 데이터를 일정 기간 또는 일정량이 될 때까지 모아 두었다 가 한꺼번에 처리

 

 

3. 1960년대 : 다중 프로그래밍, 시분할, 다중 처리, 실시간 시스템

장치 독립성을 이용한 편리한 하드웨어 관리와 다중 프로그래밍

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

 

장치 독립성이란?

 프로그램을 다른 입출력장치와 함께 실행할 수 있는 것

 

시분할, 다중 처리, 실시간을 이용한 시스템의 처리 능력 향상

 시분할 시스템 : 다중 프로그래밍 시스템에 프로 세서 스케줄링이라는 개념을 더한 것

 다중 처리 시스템 : 하나의 시스템에서 프로세서 를 여러 개 사용하여 처리 능력을 높인 것

 실시간 처리 시스템 : 즉시 응답

 

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

 

 

4. 1970년대 ~ 1990년대 : 분산 처리 시스템

 컴퓨터 네트워크와 온라인 처리 방법 널리 사용

 네트워크 이용하여 멀리 떨어진 컴퓨터 사용

 마이크로프로세서가 등장, 개인용 컴퓨터 보유

 사용자가 지역적으로 원격의 여러 시스템과 통신할 수 있어 정보 보호가 주요 관심사

1970년대 명령어 중심의 시스템 사용
1980년대 사용자에게 편 리 한 메뉴 지향적인 시스템
1990년대 GUI(Graphic al User Interface) 시스템

* 분산 처리 개념을 확립하여 데이터 발생하는 곳으로 컴퓨터의 능력을 가져오는데 관심

 

 

5. 2000년대 이후 : 모바일, 사물인터넷 운영체제

21세기에 접어들어 스마트폰이나 태블릿 같은 모바일 기기 대중화

 

모바일 운영체제(Mobile Operating System) :

 모바일 장치나 정보 기기 제어 운영체제

 스마트폰용 : 노키아(심비안), 구글(안드로이드 Android), 애플(iOS), RIM(블랙베리 OS), 마이크로소프트의 윈도우 등

 

사물 인터넷(IoT, Internet of Things) 기술 등장 : 각종 사물에 컴퓨터칩과 통신 기능 내장

 사물인터넷은 기존의 와이파이나 이동통신보다 도 전력소모가 적어야 하고 대규모 네트워크 구 성 시 데이터 전송이 전력소모의 주요 요인이므 로 이에 대응하는 기술이 필요

 특히 저비용과 저전력, 그리고 저메모리 환경에 서도 동작할 수 있는 운영체제의 성능이 중요함

 삼성전자가 TV, 세탁기등 가정용 전구에까지 들 어갈 수 있는 운영체제 ‘타이젠 RT’ 개발

 

클라우드 컴퓨팅

 사용자가 인터넷을 통해 컴퓨터 하드웨어와 소프트웨어를 원격으로 액세스하여 사용할 수 있는 수단

 언제 어디서나 운영체제를 이용하여 개인 파일 및 데이터 전송이 가능한 운영체제의 클라우드 화가 실현

 

 

 

학습정리

운영체제의 개념과 목적
 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어이다.
 하드웨어 및 사용자, 응용 프로그램, 시스템 프로그램 사이에서 인터페이스를 제공한다.
 프로세서, 메모리, 입출력장치, 통신장치 등 컴퓨터 자원을 효과적으로 활용하려고 조정·관리한다.
 메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어한다.
 다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리한다.

 

운영체제의 종류
 동시 사용자 수에 따라 Single-user system과 Multi-user system으로 분류된다.
 작업 처리 방법에 따라 Single-tasking system과 Multi-tasking system (Multiprogramming system)으로 분류된다.
 사용 환경에 따라 Batch processing system, Time-sharing system, Distributed processing system, Real-time system으로 분류된다.

 

운영체제의 발달 과정
 1940년대에는 운영체제 개념 존재하지 않았고 사용자가 기계어로 직접 프로그램 작성, 실행하는 작업별 순차 처리 시스템을 사용하였다.
 1950년대부터 일괄 처리 시스템이 사용되었는데 초기 운영체제인 일괄 처리 시스템(batch processing system)은 작업을 올리는 시간과 해제하는 시간 줄이는 데 관심이 있었다.
 1960년대에는 장치 독립성을 이용한 편리한 하드웨어 관리와 다중 프로그래밍 그리고 시분할, 다중 처리, 실시간을 이용한 시스템의 처리 능력이 향상되었다.
 1970년대에서 1990년대에는 분산 처리 시스템으로 인해 컴퓨터 네트워크와 온라인 처리 방법이 널리 사용되었다.
 2000년대 이후 스마트폰이나 태블릿 같은 모바일 기기가 대중화되면서 모바일 및 임베디드, 가상화 및 클라우드 컴퓨팅이 발달하였다.

'컴퓨터공학 > 운영체제' 카테고리의 다른 글

6. 스케쥴링 알고리즘  (0) 2024.06.25
5. 프로세서 스케쥴링  (0) 2024.06.12
4. 스레드의 개념  (1) 2024.05.26
3. 프로세스의 개념  (0) 2024.05.26
2. 운영체제의 기능과 서비스  (1) 2024.05.22