ABOUT ME

Today
Yesterday
Total
  • 운영체제 소개 Chapter 02
    수업 완료/운영체제 (학교 수업) 2023. 5. 3. 18:23
    728x90
    반응형

    01 운영체제의 개념과 발전 목적

     

    1. 운영체제의 개념 

    컴퓨터시스템사용자, 소프트웨어, 하드웨어로 구성된다.

    운영체제는 사용자가 하드웨어에 접근할 수 있는 유일한 수단이다. 

    운영체제는 사용자가 응용프로그램을 실행할 수 있는 기반환경을 제공해 편하게 사용할 수 있도록 해주며, 하드웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트 웨어이다. 

     

     

     

    ◆ 사용자

     컴퓨터를 사용하는 사람이나 장치, 다른 컴퓨터를 의미

     

    ◆ 소프트웨어

    컴퓨터가 기능을 수행하는 데 필요한 모든 프로그램

     

    시스템 소프트웨어 : 컴퓨터를 제어하는 프로그램, 운영체제를 비롯해 장치 드라이버 등으로 구성

    유틸리티 : 시스템을 유지하고 성능을 개선하는 프로그램, 운영체제를 돕는 역할 

    응용 프로그램 : 특정 작업을 수행하려는 목적, 즉 어떤 문제를 해결하려고 사용자나 전문가가 만든 프로그램이다.

                              웹 브라우저, 워드 프로세서, 게임, 이미지 편집 프로그램, 은행 시스템 및 항공 예약 시스템 등

     

    ◆ 하드웨어

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

     

     

    컴퓨터 시스템은 여러 사용자가사용할 수 있으며 다양한 응용 프로그램이 있을 수 있다. 

    컴퓨터 자원을 관리하는 면에서 운영체제의 역할은 다음과 같다.

     

    ◆ 조정자

    컴퓨터 시스템하드웨어와소프트웨어 이 둘 사이를 오가는 데이터로 운영된다. 

    운영체제는 작업을 핤 수 있는 환경만 제공하는 조정자이다. 

     

    ◆자원 할당자나 관리자

    운영체제는 각 응용 프로그램에 필요한자원을 할당하는 자원 할당자이다.

    여러 응용 프로그램이 동일한 컴퓨터 자원을 요구하면 충돌이 발생할 수 있다.

    자원을 할당하는 방법을 결정하는 관리자 역할도 한다.

     

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

    운영체제는 다양한 입출력장치와 응용 프로그램을 제어 하는 역할을 한다. 

    컴퓨터 시스템을 부적절하게 사용하거나 오류가 발생하는 것을 방지하려고 하드웨어 사용을 조정하고 응용프로그램의 실행을 제어한다.

     

    운영체제 : 사용자와하드웨어 사이의 중간 매개체로 응용 프로그램의 실행을 제어하고, 자원을 할당 및관리

    입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어

     

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

    운영체제는 커널, 장치 드라이버, 사용자 인터페이스, 시스템 유틸리티 등 4개의 주요 부분으로 구분한다.

    커널은 시스템 호출, 인터럽트 및 예외에 응답하는 운영체제의 핵심 구성 요소로 운영체제를 메모리에 적재할 때 제일 먼저 적재하고 운영체제가 종료될 때 가지 메모리에 머문다. 

     

    그러므로 커널은 가능한 작게 구현하는 것이 좋다. 

     

    2. 운영체제의 발전 목적

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

    프로그램을 편리하게 개발할 수 있는 환경뿐만 아니라 응용 프로그램에 대한 사용자 인터페이스

    ◆ 효율성 : 시스템 성능 향상

    • 처리량 : 시스템의 생산성을 나타내는 대표적인 지표로, 단위시간당 처리하는 작업량
    • 지연⊙응답시간: 사용자가 시스템에 작업을 의뢰한 후 반응을 얻을 때까지 걸린 시간
      시분할 시스템과 온라인 시스템에서는 응답시간이라고 하며, 일괄 처 리 시스템에서는 턴 어라운드 타임 이라고 한다.
    • 신뢰도 : 하드웨어(펌웨어), 소프트웨어가 실패 없이 주어진 기능을 수행할 수 있는 능력이다.
    • 사용 가능도 : 가동률이라고 한다. 사용자가 일정 기간 동안 컴퓨터를 실제로 사용한 시간(비율)이다. 고장으로 보수한 기간은 제외한다

    ◆ 제어 서비스 향상 

    운영체제는 시스템을 확장하고 효율적으로 운영할 수 있도록 새로운 기능의 효과적인 개발을 허용하는 방법으로 발전해야 한다.

    서비스를 방해하지 않고 새로운 기능을 도입하고 테스트할 수 있도록 발전해야 한다는 것이다.

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

     

    02 운영체제의 기능

    1 자원관리

    컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등 구성요소자원이라고 한다.

    운영체제는 이 자원을 관리한다. 

     

    1.1 메모리 관리

    ◆ 메인 메모리 관리

    메인 메모리는 대게 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리이다.

    메모리에 프로그램을 몇개 저장해야 프로세서 이용률컴퓨터 응답 속도를 높일 수 있는데, 이를 위한 다양한 메모리 관리 방법을 개발했다. 

     

    운영체제의 메인메모리 관리 기능

    • 메모리의 어느부분을 사용하고, 누가 사용하는지 점검한다.
    • 메모리에 저장할 프로세스를 결정한다.
    • 메모리를 할당하고 회수하는 방법을 결정한다.

      보조 기억장치 관리

    대부분의 응용프로그램은 메인 메모리에 적재할 때까지는 보조 기억장치에 저장한다

     

    운영체제에서는 다음 세부 기능을 수행하여 보조 기억장치를 관리한다.

    • 빈 여유 공간을 관리한다.
    • 새로운 파일을 작성할때 저장 장소를 할당한다.
    • 메모리 접근 요청을 스케줄링한다.
    • 파일을 생성하고 삭제한다.

     

    1.2 프로세스 관리

     

    프로세스는 실행중인 프로그램

     

    시분할 사용장 프로그램도 하나의 프로세스가 된다. 스플링 같은 시스템 작업도 프로세스가 된다.

    하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원이 있어야 업무를 수행 할 수 있다.

    자원은 프로세스를 생성할때 제공하거나 실행중에 할당할 수 있다.

    시스템은 이 프로세스의 집합으로 크게 시스템 코드를 수행하는 운영체제 프로세스사용자 코드를 수행하는 사용자 프로세스로 구분한다.

    모든 프로세스는 프로세서를 분할 사용하여 병행 수행 할 수 있다. 

     

    운영체제는 다음 세부기능을 수행해서 프로세스 관리

    • 프로세스와 스레드를 스케줄링 한다.
    • 사용자 프로세스와 스스템 프로세스를 생성하고 제거한다.
    • 프로세스를 중지하고 재수행한다.
    • 프로세스 동기화 방법을 제공한다.
    • 프로세스 통신 방법을 제공한다.
    • 교착상태를 방지하는 방법을 제공한다.

    운영체제의 역할

    먹통현상 -> 전원 재부팅시 파일이 날아가지 않게 끔 관리

    교착상태 = 데드락, 병목현상 (사거리에 서로 진입시 아무도 못움직이는것)

     

    1.3 주변장치(입출력장치)관리

    (과거 제조사에서 드라이버를 설치했음)

    운영체제는 특수 프로그램인 장치 드라이브를 사용하여 입출력 장치와 상호작용 한다. 

    장치 드라이버는 특정하드웨어장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램이다

     

    운영체제는 다음 세부기능을 수행하여 주변 장치(입출력장치)를 관리한다.

    • 임시저장 시스템 기능을 제공한다.
    • 일반 장치용 드라이버 인터페이스를 제공한다.
    • 특정 장치 드라이버를 제공한다.

    1.4 파일(데이터)관리

    파일관리는 입출 파일의 위치, 저장과 검색 관리를 의미한다.

    다양한 형태로 파일을 저장할 수 있다.

    보통 디렉토리로 구성한다.

     

    운영체제는 다음과 같이 일을 관리한다.

    • 파일을 생성하고 삭제한다.
    • 디렉터리를 생성하고 삭제한다.
    • 보조기억장치에 있는 파일을 맵핑한다.
    • 안전한(비휘발성) 저장장치에 파일을 저장한다.

    2. 시스템 관리 

     

    운영체제는 추가로 시스템 보호, 네트워킹, 명령해석기등 기능 제공

     

    2.1 시스템 보호(사용자 권한 부여)

    보호는 컴퓨터 자원에서 프로그램, 프로세서 , 사용자 접근을 제어하는 방법이다.

     

    2.2 네트워킹(통신)

    연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 문제를 고려해야 한다.

     

    2.3 명령 해석기

    명령해석기는 운영체제에서 중요한 시스템 프로그램이다.

    대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스,

    사용자가입력한 명령은 제어문으로 운영체제에 전달

    이전달을 명령해석기가 담당

     

    인터페이스 역할을 할 뿐 운영체제는 아님

    명령 해석기는 보통 커널과 분리하는 것이 좋음

     

    03. 운영체제의 발전 과전 유형

    1.운영체제의 발전과정

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

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

    운영체제의개념 존재 X

    컴퓨터에 필요한 모든 작업을 프로그램에 담았음

    카드 판독기에 판독의 시작, 종료시점, 데이터 해석 방법 등을 포함

    모든작업을 예약으로 진행하여 문제 발생

     

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

    자동차 제조회사 GM에서 1952년 초 운영체제의 효시인 IBM791 개발

    초기 운영체제인 일괄 처리 시스템은 작업을 올리는 시간과 해제하는 시간 낭비를 줄이는 데 관심을 두었다.

    일괄 처리, 버퍼링, 스풀링 등 방법 도입

     

    ◆ 일괄 처리

    일괄 처리는 직렬 처리 기술과 동일

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

     

    일괄처리 장점

    • 많은 사용자와 프로그램이 컴퓨터 자원을 공유할 수 있다.
    • 컴퓨터 자원을덜 사용 중일 때는 작업 처리 시간을 교대할 수 있다.
    • 시시각각 수동으로 개입하고 감독하여 컴퓨터 자신의 유휴를 피할 수 있다.

    일괄처리 단점 

    • 작업 유형이 동일해야 함
    • 작업의 모든 유형의 입력을 할 수 없다.
    • 입출력장치가 프로세서 보다 속도가 느려 프로세서가 종종 유휴 상태가 된다.
    • 작업의 우선순위를 주기 어렵다.

    위 문제 해결을 위해 모니터링, 버퍼링, 스플링 등 여러방법들이 등장

     

    ◆ 버퍼링

    버퍼링은 유휴시간이 없도록 입 출력장치별로 입출력 버퍼를 두어, 프로세서에서 연산을 할 때 동시에 다른 작업을 입출력하는 방법

     

     스플링

    속도가 빠른 디스크를 버퍼처럼 사용하여 입출력장치에서 미리 읽는것

    스플링은 별개의 오프라인 장치를 사용한다.

     

    버퍼링은 하나의입출력작업과그 작업의 계산만 할 수 있는 반면

    스플링은 여러 작업의 입출력과 계산을 함께 할 수 있다.

     

    스플링은 성능에 직접적으로 도움을 준다.

    스플링은 프로세서와 입출력장치가 고효율로 작업 할 수 있도록 한다. 

    1.3 1960년대 : 당중 프로그래밍 - 시분할 - 다중처리 - 실시간 시스템

     

    위 시기 운영체제의 특징 :

    장치독립성을 이용한편리한 하드웨어 관리 

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

     

    프로그래밍 시스템

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

    시분할 시스템 

    • 다중 프로그래밍 시스템에 프로세스 스케줄링이라는 개념 추가 
    • 일정한 프로세서 사용시간을 할당하여 빠른 응답이 가능하므로 사용자와 대화하는 방법으로 여러 프로그램을 실행

    실시간 처리 시스템

    • 미 항공사의 SABRE 예약 시스템
    • 위 시스템은 멀리떨어진 사용자가 단말기를 이용하여 중앙 컴퓨터 시스템과 통신하는 트랜잭션 처리시스템의 효시
    • 트렌젝션 처리 시스템은 사용자와 컴퓨터 시스템이 서로 대화하되 사용자의 간단한 요구에 컴퓨터가 빠르게 응답

    1.4 1970년 초반 : 다중모드 범용 시스템

    • 모든사용자에게 모든 기능제공을위해 범용시스템으로 설계

    1.5 1970년대 중반 ~ 1990년대 : 분산 처리 시스템, 병렬 계산과 분산 계산

    • 컴퓨터 네트워크와 온라인 처리방법 사용
    • 네트워크를 이용하여 멀리 떨어진 컴퓨터 사용가능
    • 마이크로프로세스 등장하여 개인용 컴퓨터사용가능
    • 사용자에게 편리한 메뉴 지향적인 시스템으로 대체
    • GUI시스템으로 발전

    1.6 2000년대 이후 : 모바일 및 임배디드, 가상화 및 클라우드 컴퓨팅

    • 21세기에 접어들어 개인의 생활깊숙히 영향을 주는 변화로 스마트폰 등장
    • 모바일운영체제는 모바일장치나 정보의 기기를 제어하는 운영체제
    • 각종 사물에 컴퓨터 칩과통신기능을 내장하여 인터넷에 연결하는 사물인터넷 기술 등장 
    • 가상화 기술의 본격적인확산
    • 물리적 자원을 추상화 하여 논리적 자원의 형태로 표현
    • 가상화는 적용대상에 따라 이름이 다르며 운영체제와 관련된 가상화 핵심은 가상서버임
    •  
    728x90
    반응형
Designed by Tistory.