[운영체제] Chapter 2. 운영체제 개요

Lil_Young·2022년 11월 4일
0

운영체제

목록 보기
2/11
post-thumbnail

운영체제

운영체제

  • 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어

운영체제 역할

1. 자원관리, 운영체제는 자원을 응용 프로그램에 나눠주어 사용자가 원활하게 작업할 수 있도록한다.

2. 자원보호, 비정상적인 작업으로부터 컴퓨터 자원을 보호

3. 하드웨어 인터페이스 제공, 사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있도록 해주는 하드웨어 인터페이스를 제공한다.

4. 사용자 인터페이스 제공, 사용자가 운영체제를 편리하게 사용하도록 지원한다. (ex. CPI, GPU, EUCI)

운영체제 목표

1. 효율성, 자원을 효율적으로 관리하는 것, 같은 자원을 사용하여 더 많은 작업량을 처리하거나, 같은 작업량을 처리하는데 보다 적은 자원을 사용하는 것

2. 안정성, 작업을 안정적으로 처리하는 것, 운영체제는 하드웨어 전체를 관리하는 소프트웨어로, 운영체제가 불안정하면 모든 작업이 불안해질 수 있으므로 안정성이 담보되어야 한다.

3. 확장성: 다양한 시스템 자원을 컴퓨터에 추가하거나 제거하기 편리한 것

4. 편리성, 사용자가 편리하게 작업할 수 있는 환경을 제공하는 것

운영체제 구분

  • 동시 사용자 수

    • 단일 사용자 (Single-User System)

      • 한명의 사용자만 시스템 사용 가능

        • 한명의 사용자가 모든 시스템 자원 독점

        • 자원관리 및 시스템 보호 방식이 간단함

    • 다중 사용자 (Multi-User System)

      • 동시에 여러 사용자들이 시스템 사용

        • 각종 시스템 자원(파일 등)들에 대한 소유 권한 관리 필요

        • 기본적으로 Multi-Tasking 기능 필요

        • OS의 기능 및 구조 복잡

      • 서버, 클러스터(cluster) 장비 등에 사용

        • Unix, Linux, Windows Server 등

  • 동시 실행 프로세스 수

    • 단일 작업 (Single-Tasking System)

      • 시스템 내에 하나의 작업(프로세스)만 존재

        • 하나의 프로그램 실행을 마친 뒤에 다른 프로그램 실행

      • 운영체제 구조 간단

      • 예) MS-DOS

    • 다중 작업 (Multi-Tasking System)

      • 동시에 여러 작업(프로세스) 수행 가능

        • 작업들 사이의 동시 수행, 동기화 등을 관리해야 됨

      • 운영체제 기능 및 구조 복잡

      • 예) Unix/Linux, Windows 등

  • 작업 수행 방식

    • 일괄처리 시스템 (Batch Processing System)

      • 모든 시스템을 중앙에서 관리 및 운영

      • 사용자의 요청 작업(천공카드 등)을 일정 시간 모아 두었다가 한번에 처리

      • 시스템 지향적

      • 장점

        • 많은 사용자가 시스템 자원 공유

        • 처리 효율 향상

      • 단점

        • 생산성 저하

          • 같은 유형의 작업들이 모이기를 기다려야 함

        • 긴 응답시간

    • 시분할 시스템 (Time-Sharing System)

      • 여러 사용자가 자원을 동시에 사용

        • OS가 파일 시스템 및 가상 메모리 관리

      • 사용자 지향적

        • 대화형(interactive) 시스템

        • 단말기 사용

      • 장점

        • 응답시간 단축

        • 생산성 향상

      • 단점

        • 통신 비용 증가

          • 통신선 비용, 보안 문제 등

        • 개인 사용자 체감 속도 저하

    • 분산처리 시스템 (Distributed Processing System)

      • 네트워크를 기반으로 구축된 병렬처리 시스템

        • 물리적인 분산, 통신망을 이용한 상호 연결

        • 각각 운영체제에 탑재한 다수의 범용 시스템으로 구성

        • 사용자는 분산운영체제를 통해 하나의 프로그램, 자원처럼 사용 가능

        • 각 구성 요소들간의 독립성유지, 공동작업 가능

        • Cluster System, Client-Server System, P2P 등

      • 장점

        • 자원 공유를 통한 높은 성능

        • 고신뢰성, 높은 확장성

      • 단점

        • 구축 및 관리가 어려움

    • 실시간 시스템 (Real-Time System)

      • 작업 처리에 대한 시간(deadline)을 갖는 시스템

        • 제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요

      • 작업(Task) 종류

        • Hard real-time task

          • 시간 제약을 지키지 못하는 경우 시스템에 치명적 영향

          • 예) 발전소 제어, 무기 제어 등

        • Soft real-time task

          • 예) 동영상 재생 등

        • Non real-time task

운영체제 구조

  • 커널

    • 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것, 자동차가 운영체제라고하면 엔진이 커널에 해당한다.

  • 인터페이스

    • 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할, 자동차 핸들, 브레이크 등이 인터페이스에 비유된다.

  • 시스템 호출

    • 커널이 자신을 보호하기 위해 만든 인터페이스이다.

    • 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단한다.

    • 따라서 자원을 이용하기 위해서는 시스템 호출이라는 인터페이스를 사용하여 접근해야 한다.

    • 예) printf함수는 사용자가 시스템의 특정 위치에 문자를 출력할 수 있게 하는 시스템 호출이다.

  • 드라이버

    • 응용 프로그램과 커널의 인터페이스가 시스템 호출이라면 커널과 하드웨어의 인터페이스는 드라이버가 담당한다.

  • 단일형 구조 커널

    • 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있는 커널 구조

    • 장점

      • 모듈이 거의 분리되지 않았기 때문에 모듈 간의 통신 비용이 줄어들어 효율적인 운영 가능

    • 단점

      • 모든 모듈이 하나로 묶여 있기 때문에 버그나 오류 처리가 어렵다.

      • 운영체제의 여러 기능이 서로 연결되어 있어 상호 의존성이 높기 때문에 기능상 작은 결함이 시스템 전체 성능 문제를 야기한다.

      • 수정이 불가능하기 때문에 다양한 환경 시스템에 적용이 어렵다.

  • 계층형 구조 커널

    • 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만든다.

    • 장점

      • 모듈화를 했기 때문에 계층간 검증 및 수정이 용이하다.

    • 단점

      • 원하는 기능 수행을 위해 여러 계층을 거쳐야한다.

  • 마이크로 구조 커널

    • 프로세스관리, 메모리관리, 프로세스간 통신관리 등 가장 기본적인 기능만 제공하고 각 모듈은 독립적으로 작동한다.

운영체제 기능

  • 프로세스 관리

  • 프로세서 관리

  • 메모리 관리

  • 파일 관리

  • 입출력 관리

  • 보조 기억 장치 및 기타 주변장치 관리 등

[출처] https://drive.google.com/file/d/1X7v7BeA-JjAh7YD-kzEcL76GyBV93H0e/view

profile
Beginner_Developer

0개의 댓글