-
# 01. 운영체제란?전공 지식/OS 2022. 8. 7. 02:13
0. 운영체제란?
게임을 너무 하고 싶었던 우리의 OS맨, 하루는 마음 먹고 공장에서 출고되는 컴퓨터를 바로 사게 되었다. 그리고 집으로 가지고 가서 켰더니 아무것도 작동하지 않는 것이다. 아! 게임을 설치하지 않아서 그런 것이구나 하고 게임 프로그램을 설치하려고 하니 이조차도 불가능함을 알았다. 무엇이 문제일까? 컴퓨터를 정상적으로 작동시켜 필요한 프로그램을 설치하고 실행될 수 있도록 해주는 가장 기본적인 프로그램들. 컴퓨터를 사면 기본적으로 설치되어 있었던 윈도우 프로그램. 이런 것들이 있어야 컴퓨터를 이용할 수 있었던 것이다.
즉 컴퓨터에 여러 응용프로그램들을 설치되게 해주고, 여러가지 장치가 효율적으로 작동하도록 하며, 사용자가 컴퓨터를 쉽게 이용할 수 있도록 해주는 프로그램의 집단을 운영체체라고 한다.
운영체제는 설명하는 사람에 따라서 다양하게 불리는데 대표적으로 몇 가지를 적어보았다.
- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.
- 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어.
- 컴퓨터의 사용자와 하드웨어 사이에서 가교 역할을 하는 프로그램.
- 컴퓨터가 컴퓨터 밖의 세계와 상호작동하는 방법을 정의한 프로그램.
- 사용자 인터페이스와 자원관리를 위한 프로그램.
잘 읽어봐라 결국 같은 뜻을 가지고 정의하고 있음을 알게 된다.
1. 운영체제 안에는 어떤 것들이?
앞에서 운영체제에 대한 여러가지 정의 중 사용자 인터페이스와 자원관리를 위한 프로그램 이라는 말이 있었다. 이를 생각해보면 운영체제를 구성하는 대표적 요소들에 대한 이해가 쉬울 것이다.
- 쉘이라고 불리는 사용자 인터페이스
- 자원 관리 요소
- 장치관리 - 프린터, 모니터, 마우스, 키보드를 제어한다.
- 파일관리 - 파일 생성, 삭제, 수정 등등 파일 관리.
- 메모리관리 - 주기억 장치의 관리.
- 처리기관리 - CPU의 처리 능력을 각 작업에 효과적으로 배분토록하는 부분.
2. 운영체제를 이루는 큰 두 분류
커널
빈번히 사용되면서 빨리 실행이 돼야 하는 프로그램으로 주기억장치에 상주시키는 프로그램
사용자와 실행프로그램을 위해 매우 빈번하게 사용되는 부분이다. 컴퓨터가 처음 부팅될 때 주 기억장치에 적재되어 시스템의 운영이 종료될 때 까지 계속해서 주기억 장치에 남아있게 되는 부분이다. 다시 말해 커널은 운영체제의 핵, 관리자, 메모리 상주 프로그램이라고 부른다. 그렇다면 왜 커널을 주 기억장치에 상주 시킬까? 운영체제 중 빈번히 그리고 빨리 실행되어야 할 프로그램을 디스크에 두었을 때 이들이 실행될 때 마다 주기억장치로 부르는 일은 많은 시간이 걸리고 시스템의 성능이 매우 떨어지게 된다. 그렇다면 운영체제 전부를 커널로 하면 되는데 왜 유틸리티라는 것을 따로 두었을까?
유틸리티 프로그램(용량 때문에 주기억에 상주x)
모든 운영체제 프로그램을 주기억장치에 상주를 시키게 되면 성능 저하를 가져오며, 메모리 낭비가 되어 버린다. 자주 사용되지 않는 부분을 디스크에 두고 필요할 때만 잠시 주기억장치로 넣어 사용하고 다시 디스크로 보내는 것이 효율적이다.
김주균 교수님의 OS? Oh Yes - 누워서 보는 운영체제 이야기를 토대로 정리를 한 것 입니다. 상업적인 목적으로 작성하지 않았으며 학습을 위한 것임을 알립니다.
'전공 지식 > OS' 카테고리의 다른 글
# 07. Memory (3) 2022.09.19 # 05. 병행프로세스 동기화 (3) 2022.08.30 # 04. CPU 스케줄링 (0) 2022.08.30 # 03. Interrupt & System call (6) 2022.08.15 # 02. 프로세스와 스레드 (0) 2022.08.07