박봉달의 개발생활

[리눅스마스터 1급:#2] 리눅스의 개요 : 운영체제 본문

Qualification/리눅스 마스터 1급

[리눅스마스터 1급:#2] 리눅스의 개요 : 운영체제

박봉달 2020. 12. 28. 14:19
728x90

안녕하세요

박봉달입니다!

오늘은 리눅스 마스터 1급 공부 둘째날의 기록을 남겨보도록 하겠습니다.

서적은 이기적 리눅스마스터 1급 이론서+기출문제를 기본으로 하고 있습니다.


1. 운영체제의 개요

▶ 운영체제의 정의 및 목적, 역할

1) 운영체제의 정의

- 사용자와 하드웨어 간 상호작용 위해 사용자 인터페이스 (UI)를 제공하는 시스템 소프트웨어

- 컴퓨터 중앙처리장치 (CPU), 메모리 및 주변 장치 등 하드웨어를 효율적으로 관리함

- 응용 프로그램이 동작할 수 있는 환경, 즉 프로그래밍 인터페이스 제공

2) 운영체제의 목적

- 일정시간 처리하는 일의 양인 처리능력(Throughput)의 향상을 목적으로 함

- 작업 의뢰 후 결과까지의 응답시간(Turnaround Time)의 최소화 목적

- 주어진 문제 정확하게 처리하는 신뢰도(Reliability)의 향상 목적

- 이용 가능한 자원의 정도를 의미하는 사용가능도 (Availability)의 향상 목적

3) 운영체제의 역할

- 접근 용이하도록 제어, 입력, 출력 등의 관리

- 한정된 하드웨어 자원을 다수의 이용자가 공유할 수 있는 기능

- 자원의 효율적 사용을 위한 자원 스케줄링 제공

- 응용 프로그램의 작성과 실행을 위한 시스템 호출(system call) 제공

- 오류 발생시 중단 않고 실행 가능한 오류 복구 기능 제공

- 사용자의 다양한 데이터를 조직화하고 저장 가능한 파일 관리 및 데이터베이스 기능 제공, 네트워키 기능 제공

- 사용자 인터페이스 제공

▶ 운영체제의 구조와 기능

1) 운영체제의 구조

- 사용자는 시스템의 기능을 이용하기위해 필요한 응용 프로그램을 실행하거나, 셸(Shell), GUI, 배치 작업(Batch jobs)을 통해 운영체제 기능 사용 가능

- 시스템 호출을 통하여 커널의 서비스 이용 가능

- 다양한 하드웨어에 대한 이식성 향상 위해 하드웨어 추상계층(HAL : Hardware Abstraction Layer) 제공

2) 운영체제의 기능

- 프로세스, 메모리, 장치I/O, 파일 시스템 등 리소스 관리 기능 제공

- 자원의 효율적 사용 위해 자원 스케줄링 제공

- LAN 카드, USB 장치, 디스크 등 다양한 하드웨어의 관리와 네트워크의 주소 할당, 네트워크 생성, 경로 설정 등 다양한 네트워크 제어 기능 제공

- 파일 시스템이나 데이터베이스를 통해 데이터를 생성, 저장, 조회 등 데이터 관리 기능과 파일 및 네트워크 같은 자원 공유 기능 제공

- 사용자, 프로세스가 파일이나 네트워크 같은 자원에 무분별하게 접근하는것을 방지하는 자원 보호 기능 제공

- 디스크 및 파일 시스템과 같은 시스템의 손상 여부 점검 위한 오류검사 기능과 복구 기능 제공

- 자원의 유휴시간 최소화 위해 가상의 컴퓨터 여러대 실행 가능한 가상화 기능 제공

▶ 운영체제의 운용기법

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

- 초기 운영체제의 형태, 여러 작업 묶어서 처리

- 작업 처리 시작하면 결과 나올때까지 기다려야 함

- 처리중일때 시스템 이용하지 못해 자원 사용의 효율성 떨어짐

2) 다중 프로그래밍 시스템 (Multi Programming System)

- 일괄처리 시스템은 입출력중일 때 CPU는 유휴 상태가 됨

- 하나의 작업이 입출력 중일 때 다른 작업 할당하여 CPU 사용률과 처리량을 향상

- 사용자 입장에선 하나의 CPU지만 동시에 여러 프로그램 동시 실행으로 인지

3) 시분할 시스템 (Time Sharing System)

- 다중 프로그래밍 시스템이 작업 단위라면 시분할은 '타임 슬라이스' 또는 '타임 퀀텀'이라는 일정 작업 시간 동안 실행함

- 다중 프로그래밍 시스템보다 CPU사용률과 처리량 향상 가능

- 다중프로그래밍보다 더욱 동시에 여러 작업 실행처럼 보임

4) 다중 처리 시스템 (Multi-Processing System)

- 여러개의 CPU를 통하여 여러 작업 처리 운용 기법, 병렬 처리 시스템(Parallel Processing System)이라고 함

- 비대칭적 다중처리(Asymmetric)와 대칭적 다중처리(Symmetric) 유형으로 나눔

- 비대칭적 다중처리는 주종관계가 있으며 주 프로세스의 명령에 따라 종 프로세스가 작업 처리

- 대칭적 다중처리는 다시 SMP(Symmetric)와 MPP(Massively Parallel)로 나눌 수 있다.

5) 실시간 처리 시스템 (Real Time Processing System)

- 작업의 요청에서 수행 결과가 나올 때까지 시간 안에 수행해야하는 시간적 제약을 갖는 운용 방식

- 시간적 제약의 엄격한 정도에 따라 경성 실시간 처리 시스템(Hard)과 연성 실시간 처리 시스템(Soft)로 나눈다

- 경성 실시간 처리 시스템은 제한된 시간 안에 반드시 작업 처리 완료해야하며 무기 제어, 로봇 등 사용된다

- 연성 실시간 처리 시스템은 제한된 시간 안에 완료하지 못하더라도 큰 영향을 미치지 않는 시스템으로 동영상 재생 시스템 등이 해당된다.

6) 다중 모드 시스템 (Multi-Mode System)

- 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리 시스템을 모두 혼용하여 사용할 수 있는 운용 시스템

7) 분산 처리 시스템(Distribute Processing System)

- 개별 프로세서, 하드웨어 자원과 이를 구동하는 운영체제를 갖는 독립적인 시스템들 간에 통신망을 연결하고 시스템이 수행해야할 작업을 분산하고 자원을 공유하여 처리량과 응답시간, 가용량을 극대화하는 시스템

- 하나의 운영체제 하에 여러 프로세서가 하나의 메모리를 공유하는 방식인 강결합(Tightly-Coupled)이 아닌 둘 이상의 독립된 시스템이 통신으로 연결되고 상호작용하는 약결합(Loosely-Coupled) 방식이다

- 물리적인 시스템의 연결을 넘어 유휴 자원의 효율적 활용 위해 가상화 기술을 기본적으로 내장하거나 커널(Kernel)단에서 지원하여 가상화 시스템 간 또는 가상화 시스템과 물리적 시스템 간 분산처리 형태로 진화

* 운영체제 기법은 한번에 하나의 작업 처리하는 일괄 처리 시스템을 시작으로 지역적으로 분산된 여러 시스템이 동시에 작업 처리하는 분산처리 시스템으로 발전하였다.


오늘은 리눅스 운영체제의 특징에 대해 알아보았습니다.

리눅스 마스터 1급 공부 첫날의 포스트를 이것으로 마치고,

내일 다시 돌아오도록 하겠습니다!

읽어주셔서 감사합니다!

좋은 정보 가지고 계신 분이 계시다면

댓글 부탁드려요 :)

728x90
반응형