. Lecture2 : OS overview
본문 바로가기
Pintos Project/이론 공부

Lecture2 : OS overview

by 불냥이_ 2021. 1. 28.

 

 

운영체제의 역할

- 편리성 

- 효율성 : HW/SW의 리소스관리

- Process (실행 주체) and Thread Management

- System Management

 

 안전 상의 이유로 사용자가 커널을 직접 조작하게 해서는 안된다. 필요 시에는 OS에 System Call Interface를 사용해서 간접적으로 커널을 조작하도록 한다.

 (System Call Interface : 커널이 제공하는 기능들 중에서 사용자가 사용할 수 있는 기능들)

 

 

 

운영체제의 구분

- 동시 사용자 수 (Single or Multi : )

 1) 단일 사용자 : 한 명의 사용자만 시스템을사용 가능 (개인용 장비 등)

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

                          -> 윈도우, 도스, 안드로이드 등 

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

 2) 다중 사용자 : '동시'에 여러 사용자들이 시스템 사용

                          -> 동시에 여러 사용자들이 시스템 사용 : 각종 시스템 자원에 대한 소유권한 관리 필요

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

                          -> OS의 기능 및 구조가 복잡 

                          -> Unix, Linux 등

 

- 동시 실행 프로세스 수 (Single-tasking or Multi-tasking)

 1) 단일작업 ( Single-tasking system )

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

                          -> 운영체제 구조가 간단 

                          ex) MS-DOS 등 

 

 2) 다중작업 ( Multi-tasking system )

                          -> 동시에 여러 작업(프로세스)의 수행 가능 : 작업 사이의 동시 수행, 동기화 등을 관리해야함

                          -> 운영체제의 기능 및 구조가 복잡

                          ex) 요즈음의 OS

 

 

 

 

1. 작업 수행 방식

 1) 순차 처리 (운영체제 개념이 존재하지 않던 시기)

- 컴퓨터에 필요한 모든 작업을 프로그램에 포함시킨다. (프로세서에는 명령어 저장 방법, 계산 대상, 결과 저장 위치와 방법, 출력 시점, 위치 등이 다 담겨있다.)

- 각각의 작업에 대한 준비 시간이 소요된다. 

 

2) Batch System

- 모든 시스테을 중앙에서 관리 및 운영 

- 사용자의 요청 작업을 일정 시간 모아두었다가 한번에 처리

장점 : 

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

       처리 효율(throughput) 향상

단점 :

       생산성 저하 : 같은 유형의 작업들이 모이기를 기다려야 함

       긴 응답시간

 

3) Time Sharing Systems

- 여러 사용자가 자원을 동시에 사용 : OS가 파일 시스템 및 가상 메모리 관리

- 사용자 지향적 : 대화형 시스템, 단말기 사용

장점 : 

       응답시간 단축

       생산성 향상 (프로세서 유휴 시간 감소)

단점 :

       통신 비용 증가

       개인 사용자 체감 속도 저하 (동시 사용자 수 ↑ -> 시스템 부하 ↑ -> (개인 사용자 관점에서 느려짐)

 

4) Personal Computing

- 개인이 시스템 전체 독점

- CPU 활용률이 고려의 대상 아님 : 얼마나 효율적으로 쓰는 것 보다는 얼마나 편하게 쓰느냐의 관점으로 넘어감

- OS가 상대적으로 단순함

장점 : 

       빠른 응답시간

단점 : 

       성능이 낮아짐

 

5) Parallel Processing System

- 단일 시스템 내에서 둘 이상의 프로세서 사용 : 동시에 둘 이상의 프로세스 지원

- 메모리 등의 자원 공유 (Tightly-coupled System)

- 사용 목적

       -> 성능 향상

       -> 신뢰성 향상 (하나의 CPU가 고장나도 다른 CPU가 넘겨받아서 전체 시스템은 문제없어진다.)

- 프로세서간 관계 및 역할 관리 필요

 

Distributed Processing Systems

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

장점 : 

       자원 공유를 통한 높은 성능

       고신뢰성, 높은 확장성

단점 :

       구축 및 관리가 어려움

 

Real-time Systems

- 작업 처리에 제한 시간(deadline)을 갖는 시스템 : 제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요

- 작업의 종류

       - Hard real-time task : 시간 제약을 지키지 못하는 경우 시스템에 치명적 영향 (발전소 제어, 무기 제어 등)

       - Soft real-time task : 동영상 재생 등

 

 

 

 

 

운영체제의 구조

커널(Kernal) : 

- OS의 핵심 부분 (메모리 상주)

가장 빈번하게 사용되는 기능들을 담당 (시스템 관리 등)

동의어 : 핵(neucleus), 관리자(supervisor program), 상주 프로그램(resident program), 제어 프로그램(control program) 등

 

유틸리티(Utility)

- 비상주 프로그램, UI 등 서비스 프로그램

 

운영 체제의 구조
단일 구조및 마이크로 커널

단일 구조

장점 : 

        커널 내 모듈간 직접 통신 : 효율적 자원 관리 및 사용

단점 : 

        커널의 거대화

        -> 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움

        -> 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향을 줌 (악성 코드 등)

 

 

 

마이크로 커널 구조

- 커널의 구조 최소화

        -> 필수 기능만 포함

        -> 기타 기능은 사용자 영역에서 수행

 

 

계층 구조

계층 구조

장점 :

        모듈화 : 계층간 검증 및 수정 용의

        설계 및 구현의 단순화

단점 : 

        단일구조 대비 성능 저하 : 원하는 기능 수행을 위해 여러 계층을 거쳐야 함

 

 

 

운영체제의 기능

Process Management

프로세스 (Process)

 - 커널에 등록된 실행 단위 (실행 중인 프로그램)

 - 사용자 요청/프로그램의 수행 주체(entity)

 

OS의 프로세스 관리 기능

 - 생성/삭제, 상태관리

 - 자원 할당

 - 프로세스 간 통신 및 동기화(synchronization)

 - 교착상태(deadlock) 해결

 

프로세스 정보 관리

 - PCB (Process Control Bloc)

 

중앙처리장치(CPU)

 - 프로그램을 실행하는 핵심 자원

 

프로세스 스케줄링(Scheduling)

 - 시스템 내의 프로세스 처리 순서 결정

 

프로세서 할당 관리

 - 프로세스들에 대한 프로세서 할당 : 한 번에 하나의 프로세스만 사용 가능

 

주기억장치

 - 작업을 위한 프로그램 및 데이터를 올려 놓는 공간

 

-Multi-user, Multi-tasking 시스템

 - 프로세스에 대한 메모리 할당 및 회수

 - 메로리 여유 공간 관리

 - 각 프로세스의 할당 메모리 영역 접근 보호

 

메모리 할당 방법 (scheme)

 - 전체 적재

장점 : 

        구현이 간단

단점 : 

        제한적 공간

 

 - 일부 적재

 프로그램 및 데이터의 일부만 적재

장점 : 

        메모리의 효율적 활용

단점 : 

        보조기억 장치 접근 필요

 

 

(파일 : 논리적 데이터 저장 단위)

- 사용자 및 시스템의 파일 관리

- 디렉토리 구조 지원

- 파일 관리 기능

 

 

I/O Management

입출력(I/O) 과정

입출력의 과정

 

 

 

댓글