운영체제의개념과목적
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 |