본문 바로가기

CS/OS

C/S 2. 운영체제

커널= 운영체제 

사람의심장, 자동차엔진처럼 핵심적인 기능이나 다름없음 

 

 

✅운영체제의 큰 그림

 

 

 

 

 

 

 

 

운영체제에 핵심기능

- 자원 할당 및 관리

- 프로세스 및 스레드 관리

 

 

 

• 운영체제의 역할

 ‘자원 할당 및 관리’

자원resource(혹은 시스템 자원system resource)이란 프로그램 실행에 마땅히 필요한 요소 실행에 필요한 ‘데이터’를 자원(소프트웨어)이라고 하기도 하고, 실행에 필요한 ‘부품’ 을 자원(하드웨어)이라고 하기도 하죠. 컴퓨터의 핵심 부품을 대표적인 자원으로 꼽을 수 있습니다.

 

운영체제는 사용자가 실행하는 응용 프로그램을 대신하여 CPU, 메모리, 보조기억장치 등의 컴퓨터 부품에 접근하고, 각각의 부품들이 효율적으로 사용되도록 관리합니다. 또 응용 프로그램이 컴퓨터 부품들을 효율적으로 할당받아 문제 없이 실행할 수 있도록 응용 프로그램에게 자원을 할당합니다. 

-  CPU 관리: CPU 스케줄링

메모리에는 실행 중인 프로그램이 다수 적재될 수 있지만, CPU가 이들 모두를 동시에 실행할 수 있는 것은 아닙니다. CPU는 한정된 자원이기 때문에 CPU를 할당받아 사용하기 위해 때로는 다른 프로그램의 CPU 사용이 끝날 때까지 기다려야 합니다. 그래서 운영체제는 실행 중인 모든 프로그램들이 공정하고 합리적으로 CPU를 할당받도록 CPU의 할당 순서와 사용 시간을 결정합니다. 이것이 바로 CPU 스케줄링입니다.


 

 

 

 

- 메모리 관리: 가상 메모리

또한 운영체제는 새롭게 실행하는 프로그램을 메모리에 적재하고, 종료된 프로그램을 메모리에서 삭제합니다. 동시에 낭비되는 메모리 용량이 없도록 효율적으로 관리해야 하죠. 오늘날 존재하는 많은 운영체제들은 이를 위해 가상 메모리 기술을 활용합니다. ‘가상 메모리’는 운영체제의 메모리 관리 기법 중 하나로, 실제 물리적인 메모리 크기보다 더 큰 메모리를 이용할 수 있도록 하는 기술입니다.

 

 

 

 

 

- 파일/디렉터리 관리: 파일 시스템

메모리보다 더 큰 용량을 갖고 있는 보조기억장치는 더욱 일목요연하게 관리할 필요가 있습니다. 보조기억장치에 아무렇게나 정보를 저장한다면 마치 어질러진 서랍에서 원하는 물건을 찾듯 원하는 정보에 접근하기 위해 오랜 시간이 소요되기 때문입니다. 운영체제는 보조기억장치를 효율적으로 관리하기 위해 파일 시스템을 활용합니다. 파일 시스템은 보조기억장치 내의 정보를 파일 및 폴더(디렉터리) 단위로 접근·관리할 수 있도록 만드는 운영체제 내부 프로그램입니다. 

 

 

 

 

 

- 프로세스 및 스레드 관리

지금까지 우리가 단순히 ‘실행 중인 프로그램’이라고 지칭했던 대상은 프로세스process라고 합니다. 그리고 스레드thread는 이 프로세스를 이루는 실행의 단위입니다. 메모리에는 여러 프로세스가 적재될 수 있는데, 운영체제는 이 프로세스에 필요한 자원을 할당하고, 스레드는 프로세스가 할당받은 자원을 이용해 프로세스의 작업을 수행합니다. 프로세스를 이루는 스레드가 둘 이상인 경우에는 동일한 작업을 동시에 실행할 수도 있습니다.

 

운영체제는 이렇게 동시다발적으로 실행되는 프로세스와 스레드가 올바르게 처리되도록 실행의 순서를 제어하고, 프로세스와 스레드가 요구하는 자원을 적절하게 배분할 수 있어야 합니다. 

 

 

 

 

 

 

 

 

• 운영체제 지도 그리기

 

운영체제의 내용을 대략적으로 살펴보았습니다. 운영체제의 역할(핵심 기능)을 바탕으로 한눈에 정리된 운영체제 지도를 보면서 학습의 흐름을 정리해 보시기 바랍니다.

 

 

 

'CS > OS' 카테고리의 다른 글

C/S 4. 네트워크  (0) 2024.12.03
C/S 1. 컴퓨터 구조  (0) 2024.12.03
BIOS와 UEFI 부팅과정  (2) 2024.04.26