본문 바로가기
(구) 자료/Operating System

[OS] Chapter 1. OS 개념 정립

by 뜐뜐뜐 2017. 11. 29.

* 혼자서 정리하고자 여러 블로거 분들의 글을 참고하였습니다. 혹시 문제가 된다면 비공개로 돌릴테니 말씀해주세요.

* 이번 챕터는 [마조리카]님의 블로그, 그리고 오지덤을 참고하여 제가 이해하기 쉽게 정리하였습니다.

* 출처는 위의 링크입니다!


운영체제(Operating System)란?

사용자와 하드웨어 사이에서, 사용자가 하드웨어를 손 쉽게 활용할 수 있도록 하고, 컴퓨터 자원을 효율적으로 관리해주는 자 역할을 하는 소프트 웨어!


그렇다면, 이러한 운영체제를 사용하는 이유는 무엇일까?

  1. 편의성 : 사용자가 하드웨어를 쉽게 만질 수 있도록 하여 편의성을 제공한다. 개인 PC에서의 특성!
  2. 효율성 : 컴퓨터 시스템의 효율적인 운영을 도와주기 때문에, 다수 사용자가 이용하는 시스템에서의 특성이라고 볼 수 있다.


오... 그럼 왜 쓰는지 알게 됐다. 그렇다면, 운영체제에는 어떠한 기능들이 있을까? 크게 자원 관리 기능기타 기능으로 나눠진다.

1. 자원 관리 기능

-    대부분의 시스템은 메모리, 프로세스, 장치, 파일 등의 구성요소를 제공한다.
-    이러한 시스템 요소를 자원이라고 한다.
-    이 자원들을 OS가 관리하는 역할을 한다.


그럼 본격적으로 메모리, 프로세스, 장치, 파일을 어떤식으로 관리하는지 알아보자!


1-1) 메모리 관리

-    메모리는 위와 같이 구성되어 있다. 프로세서가 명령을 수행한다... 라는 말은 간단히 정리하면 다음과 같다.

1) 프로그램을 수행하기 위해, 프로그램을 절대 주소로 맵핑하여 메인 메모리에 저장


2) 명령을 수행하기 위해 메인 메모리에 명령어가 있어야 함 (메인 메모리는 프로세서가 직접 주소로 지정할 수 있는 '유일한' 메모리)


[1 -> 2] 순서대로 제대로 처리되었을 때, 비로소 프로세서가 명령 수행이 가능해진다!!


프로세서가 명령을 수행하는 과정에서, 프로세서 이용률컴퓨터 응답 속도를 높이려면 메인 메모리를 관리 해줘야 하는데 이를 위해 OS는

다음과 같이 세 가지 일을 수행한다.



1-2) 보조 기억 장치 관리

-    물론 운영 체제가 메인 메모리를 관리하긴 하지만, 메인 메모리는 언젠간 공간이 꽉 찰 것이다.

-    이를 위해 컴퓨터의 시스템은 보조기억장치를 이용해 메인 메모리 내용을 저장한다.

1-3) 프로세스 관리

-    프로세스는 프로세서를 분할하여 사용함으로써 병렬적으로 수행할 수 있다.

-    운영체제가 이러한 프로세스 관리를 위해 수행하는 기능은 다음과 같다.


1-4) 장치 관리 (입출력 관리)

-    컴퓨터 시스템의 역할은 장치의 속성을 숨겨야 함!

-    왜냐고?? 하드웨어에 대한 지식이 없어도 컴퓨터를 사용할 수 있도록 하는게 OS의 목적이니까!

-    그럼 그걸 컴퓨터가 어떻게 하는데...? 세 가지 방법이 있다!


1-5) 파일 관리

-    가장 많이 사용된다.

-    효율적인 사용을 위해 OS는 단일화된 정보 저장 형태를 제공한다.

-    OS는 파일 관리를 위해 다음과 같은 네 가지 기능을 담당한다.


지금까지 자원 관리 기능에 대해 알아봤으니, 마지막인 기타 기능에 대해서 알아보자


2. 기타 기능

-    시스템 보호, 네트워킹, 명령어 해석기, 시스템 관리 등의 기능도 수행한다.


2-1) 시스템 보호

-    OS에 있는 Process는 타 User의 Program으로 부터 보호되어야 한다.

-    그러므로, 여러 자원은 운영체제가 적절하게 권한을 부여한 Process만 수행될 수 있도록 해야 한다!!

-    예를 들어보면, 기억장치 주소를 지정하는 하드웨어는 Process가 자신의 주소 영역에서만 실행 되도록 보장하고

타이머권한이 없는 프로세스가 프로세서의 제어권을 얻지 못하도록 막아준다.


2-2) 네트워킹

-    분산 시스템 -> Memory나 Clock을 공유하지 않는 Processor의 집합!

-    Processor는 자신의 Local Memory + [ (고속으로 전송하는) 버스] + [기타 통신 매체]등을 통해 상호 통신하는 다른 프로세서를 갖고 있다.

-    시스템에 있는 프로세서는 (다양한 방법으로 구성될 수 있는) 통신 네트워크를 통해 연결된다!!


2-3) 명령어 해석기 및 시스템 관리

-    사용자가 입력한 명령어 -> 제어 문장에 의해 운영 체제에 전달되는데, 이 전달을 [명령 해석기]가 담당한다.

-    단, 명령 해석기는 [사용자 - 운영체제] 간의 Interface일 뿐, OS가 아니라는 점 주의!


다음 챕터에서는, 대표적인 운영 체제 리눅스와 유닉스를 비교하고, CPU 스케쥴링에 대해 알아보쟈!

'(구) 자료 > Operating System' 카테고리의 다른 글

[5] 크리티컬섹션, 뮤텍스, 세마포어  (1) 2018.08.17