CS 공부
운영체제 2020-1학기 중간고사 대비 2-1(운영체제의 개념) 본문
<운영체제의 개념>

사용자: 컴퓨터를 사용하는 사람이나 장치 다른 컴퓨터등을 의미
SW: 컴퓨터에 기능 수행에 필요한 모든 프로그램
하드웨어: 기본 연산 자원을 제공하는 프로세서, 메모리 주변장치등
조정자: 운영 요소 사용을 제어하면서 사용자와 응용프로그램 간에 통신할 수 있게 함. 작업을 할 수 있는 환경만 제공
자원 할당자나 관리자 : 각 응용 프로그램에 필요한 자원 할당, 자원 할당 방법 결정
응용 프로그램과 입출력장치 제어자 : 다양한 입출력장치와 응용 프로그램 제어
운영체제의 정의
사용자와 하드웨어 사이의 중간 매개체로 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 SW
역할
하드웨어 및 사용자,응용 프로그램, 시스템 프로그램 사이에서 인터페이스 제공
프로세서, 메모리, 입출력 장치, 통신정치 등 컴퓨터 자원을 효과적으로 활요하려고 조정 관리
메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어
다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리
운영체제의 발전 목적
편리성: 사용자에게 편리한 환경제공
프로그램 개발 환경뿐만 아니라 응용 프로그램에 대한 사용자 인터페이스, 즉 사용자와 컴퓨터 시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스 제공
효율성 : 시스템 성능 향상
사용자가 많은 대형 컴퓨터 시스템에서 특히 중요. 운영체제는 각 프로그램을 유기적으로 결합하여 시스템 전체 성능을 향상
시스템 성능의 평가 기준
1) 처리량
2) 지연·응답시간(턴 어라운드 타임)
3) 신뢰도
4) 사용 가능도(가동률)
제어 서비스 향상
시스템 확장, 효율적 운영을 위해 새로운 기능의 효과적인 개발을 허용하는 방법으로 발전
입출력장치의 동작 관리 및 제어, 시스템 오류 예방 등으로 컴퓨터 자원을 여러 사용자에게 효율적으로 할당하고 관리할 수 있도록 제어 서비스를 발전

자원: 컴퓨터 시스템의 메모리 프로세스 정치 파일 등 구성요소 (아래는 운영체제의 자원관리 기능)

메인 메모리 관리
프로세서가 직접 주소로 지정할 수 있는 유일한 메모리
메모리 관리의 기능
1) 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
2)메모리에 저장할 프로세스 결정
3) 메모리를 할당하고 회수하는 방법 결정
보조기억장치 관리
메인 메모리는 공간이 제한되어 데이터와 프로그램을 계속 저장할 수 없어 보조기억장치 이용
보조기억장치 관리의 기능
1) 빈 여유 공간 관리
2) 새로운 파일 작성 시 저장 장소 할당
3) 메모리 접근 요청 스케줄링
4) 파일 생성하고 삭제
프로세스 관리
프로세스
하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원으로 구성
자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능
시스템
1) 프로세스의 집합
2) 시스템 코드 수행하는 운영체제 프로세스와 사용자 코드 수행하는 사용자 프로세스로 구분
3) 모든 프로세스는 프로세서 분할 사용하여 병행 수행 가능
프로세스 관리를 위한 운영체제의 기능
1) 프로세스와 스레드 스케줄링
2) 사용자 프로세스와 시스템 프로세스 생성, 제거
3) 프로세스 중지, 재 수행
4) 프로세스 동기화 방법 제공
5) 프로세스 통신 방법 제공
6) 교착 상태deadlock를 방지하는 방법 제공
주변 장치(입출력) 관리
운영체제는 특수 프로그램인 장치 드라이브를 사용 입출력장치와 상호작용
장치 드라이버는 특정 하드웨어 장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램
주변장치관리를 위한 운영체제 기능
1) 임시 저장 (buffer-caching) 시스템 기능 제공
2) 일반 장치용 드라이버 인터페이스 제공
3) 특정 장치 드라이버 제공
파일(데이터) 관리
입출력 파일의 위치, 저장, 검색 관리 의미
컴퓨터 시스템은 물리적으로 다양한 형태로 파일 저장 가능
운영체제는 데이터의 효율적 사용을 위해 단일화된 저장 형태 제공
운영체제는 파일의 용이한 사용을 위해 보통 디렉터리로 구성, 다수의 사용자가 여기에 접근하려고 할 때는 이 접근을 제어
파일 관리를 위한 운영체제의 기능
1) 파일 생성, 삭제
2) 디렉터리 생성, 삭제
3) 보조기억장치의 파일 맵핑
4) 안전한(비휘발성) 저장장치에 파일 저장
시스템 보호(사용자 권한 부여)
1) 보호: 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근 제어 방법
2) 운영체제는 파일 사용 권한 부여, 데이터 암호화등 서비스를 제공, 데이터와 시스템 보안
3) 컴퓨터 시스템에서는 여러 프로세스 동시 실행 가능하므로 상호 보호해야 함
4) 네트워크로 파일 공유 사이트에 접속 시 다른 사용자의 프로그램에서 보호
네트워킹(통신)
프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결
연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 고려(OS가 관리)
명령 해석기
명령 해석기(command interpreter)는 운영체제에서 중요한 시스템 프로그램
대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스
사용자가 입력한 명령은 제어문으로 운영체제에 전달하는데, 이 전달을 명령 해석기가 담당
인터페이스 역할을 할 뿐 운영체제는 아님
커널과 분리하는 것이 좋음(명령 해석기의 인터페이스 변경 가능) 분리하지 않으면 사용자가 커널의 코드를 변경할 수 없어 인터페이스를 변경 불가
운영체제의 발전 과정
연도 | 운영체제 | 특징 |
1940년대 | 운영체제 X (작업별 순차처리) (작동은 하지만 정해진 기능이외에 추가적인 작업 X) |
사용자가 기계어로 직접 프로그램 작성, 실행하는 작업별 순차 처리 시스템 사용 운영체제 개념 존재하지 않음 컴퓨터에 필요한 모든 작업 프로그램에 포함 카드 판독기에 판독의 시작·종료 시점, 데이터 해석 방법 등 포함 프로세서에는 명령어 저장 방법, 계산 대상, 결과 저장 위치와 방법, 출력 시점, 위치 등 모두 명령어로 명시적으로 표현 모든 작업을 예약으로 진행하여 문제 발생 |
1950년대 | 일괄 처리 시스템 |
IBM 701, IBM704, IBM704 자체운영체제 초기 운영체제인 일괄 처리 시스템 (batch processing system) 작업을 올리는 시간과 해제하는 시간을 줄이는데 관심( 일괄처리, 버퍼링, 스풀링등 방법 도입) 일괄처리 일괄 처리는 직렬 처리 기술과 동일 작업 준비 시간을 줄이려고 데이터가 발생할 때마다 즉시 처리하지 않고 데이터를 일정 기간 또는 일정량이 될 때까지 모아 두었다가 한꺼번에 처리 일괄 처리 장점 1) 많은 사용자와 프로그램이 컴퓨터 자원 공유 2) 컴퓨터 자원을 덜 사용 중일 때는 작업 처리 시간 교대 가능 3) 시시각각 수동으로 개입, 감독하여 컴퓨터 자원의 유휴 회피 가능 일괄처리 단점 1) 준비 작업들의 유형이 동일해야 하고, 작업에 모든 유형의 입력 불가능 2) 입출력장치가 프로세서보다 속도 느려 프로세서의 유휴 상태 발생 3) 작업 우선순위 부여 곤란. 4) 문제점 보완 위해 모니터링, 버퍼링, 스풀링 등 여러 방법 등장 |
1960년대 | 다중 프로그래밍 시스템 시 분할 시스템 다중처리 시스템 실시간 처리 시스템 |
장치 독립성을 이용한 편리한 하드웨어 관리와 다중 프로그래밍 1) 여러 프로그램을 메모리에 나눠 적재한 후 프로세서를 번갈아 할당 프로세서 사용 극대화하여 2) 여러 프로그램을 동시에 실행 3) 장치 독립성 : 프로그램을 다른 입출력장치와 함께 실행할 수 있는 것 시분할, 다중 처리, 실시간을 이용한 시스템의 처리 능력 향상 1) 시분할 시스템 : 다중 프로그래밍 시스템에 프로세서 스케줄링이라는 개념을 더한 것 2) 다중 처리 시스템 : 하나의 시스템에서 프로세서를 여러 개 사용하여 처리 능력을 높인 것 3) 실시간 처리 시스템 : 즉시 응답 미항공사의 SABRE 예약 시스템을 개발 트랜잭션 처리 시스템의 효시 트랜잭션 처리 시스템은 사용자와 컴퓨터 시스템이 서로 대화를 하되 사용자의 비교적 간단한 요구에 컴퓨터고 빠르게 응답하는 것 |
1970년대 초반 |
다중모드 시스템 범용 시스템 |
일괄처리, 시분할 처리, 실시간 처리, 다중 프로그래밍 등을 제공하는 다중 모드 시스템 등장 장치의 독립성 제공 TCP/IP 통신 표준 활성화 운영체제가 네트워크와 보안을 아우르는 수준으로 발전 |
1970년 중반 |
분산 처리 시스템 |
각종 응용 프로그램 개발 및 DB 활용 확대 네트워크 기술 발전 하드웨어에 운영체제 개념이 포함된 펌웨어 개념 등장 명령어 중심의 시스템 사용 |
1990년대 | 병렬 계산 & 분산 계산 |
월드와이드웹의 등장으로 분산 컴퓨팅 증가 GUI강화 개인용과 서버용 운영체제의 보편화 |
2000년대 이후 |
모바일 및 임베디드 가상화 및 클라우드 컴퓨팅 |
네트워크 기반의 분산 및 병렬 운영체제의 보편화 모바일 장치와 가전제품을 위한 모바일 및 임베디드 운영체제의 보편화( 노키아(심비안) 구글(안드로이드) 애플(IOS) RIM(블랙베리 OS)등) (임베디드 운영체제란 가전제품과 같이 CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제) 다양한 기능 확장성과 호환성 극대화 다양한 통신망의 확대와 개발형 시스템 발달 여러 OS가 한 시스템의 자원을 공유할 수 있게 해주는 서버 가상화 기술의 확산 컴퓨팅 자원, 스토리지, SW등을 사용자에게 서비스 형태로 제공하는 클라우드 컴퓨팅의 등장 |
버퍼링 buffering
유휴 시간이 없도록 입출력장치별로 입출력 버퍼를 두어서 프로세서에 연산 할 때 동시에 다른 작업을 입출력하는 아주 간단한 방법

(프로세서가 어떤 작업을 처리하는 동안 다음으로 처리할(또는 출력할) 작업을 미리 읽어 저장해 두는 메모리
스풀링 spooling
1) 속도가 빠른 디스크를 버퍼처럼 사용 입출력장치에서 미리 읽는 것
2) 버퍼링이 컴퓨터 하드웨어의 일부인 버퍼를 사용 한다면, 스풀링은 별개의 오프라인 장치 사용
3) 버퍼링이 하나의 입출력 작업과 그 작업의 계산만 함께 할 수 있는 반면, 스풀링은 여러 작업의 입출력과 계산을 함께 할 수 있음
4) 프로세서에 일정한 디스크 공간, 테이블만 있으면 하나의 계산 작업과 다른 입출력 작업 중복 처리
5) 프로세서와 입출력장치가 고효율로 작업하게 함
6) 성능에 직접적으로 도움

가상화(virtualization)
물리적 자원 추상화, 논리적 자원 형태로 표현하는 기술
1) 처음 등장 시에는 도입 비용이 비싸고 사용 환경이 제한적이라 많이 사용하지 않음
2) 기술 발달로 경제성이 높아지면서 성능, 안정성, 효율성 향상 등 강점으로 본격적 확산
3) 적용 대상에 따라 서버 가상화, 데스크톱 가상화, 스토리지 가상화, 네트워크 가상화, 소프트웨어 가상화로 구분, 이 중 운영체제와 관련된 가상화 핵심은 서버 가상화

서버 가상화 :물리적 서버 하나에 가상 서버를 여러 개 구성하는 방법
서버 하나에서 각 응용 프로그램과 운영체제를 독립된 환경으로 사용할 수 있어 여러 운영체제가 한 시스템의 자원 공유
호스트기반 가상화 : 호스트 운영체제에서 가상 머신 구동
베어메탈bare-metal 기반 가상화 : 호스트 운영체제 설치 전 가상화 솔루션을 탑재하여 가상의 CPU, 메모리, 디스크, 네트워크 카드 등 생성

클라우드 컴퓨팅
서버 가상화 기술 이용 사용자에게 컴퓨팅 자원, 스토리지, 소프트웨어 등을 서비스 형태로 제공
그리드 컴퓨팅의 분산 컴퓨팅 개념, 유틸리티 컴퓨팅의 과금 모델, 서버 기반 컴퓨팅의 처리 모델을 적용하여 다음 세 가지 특징을 보인다.
1)클라우드 데이터 센터에서 원하는 만큼 컴퓨터 자원을 무한대로 사용
2) 컴퓨터 자원을 원할 때 원하는 만큼 늘리거나 줄일 수 있음
3)컴퓨터 자원을 사용한 만큼 사용료 지불
클라우드 컴퓨팅 이용서비스: laaS, Paas, SaaS

'CS공부 > 운영체제' 카테고리의 다른 글
운영체제 2020-1학기 중간고사 대비 3-1 (0) | 2021.07.01 |
---|---|
운영체제 2020-1학기 중간고사 대비 2-3(운영체제의 서비스 제공) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 2-2(다중 프로그래밍 ,시분할, 다중처리,실시간 처리, 분산처리 시스템) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 1-2(컴퓨터 시스템의 동작) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 1-1(Computer HardWare) (0) | 2021.06.30 |