본문 바로가기

OS

0. 운영체제 서론

*kocw.net에 올라온 경성대학교 양희재 교수님의 운영체제 수업을 정리하는 글입니다. OS의 아주아주 기초적인 내용을 정리합니다. 아직 부정확하고 부족한 부분이 많습니다. 잘못된 부분이 있다면 댓글 부탁드립니다. 감사히 배우겠습니다.

 

 

 

 

 

 

 

 

 

 

프로그램들은 대부분 하드디스크에 실행 파일 형태로 저장된다. 이런 프로그램들을 사용하려면 하드디스크에서 메인 메모리로 파일을 올려야 하는데, 이 일을 OS가 수행한다. 

(Program이란? 명령(instruction)의 모음.)

 

그런데 CPU는 한 개인데 어떻게 동시에 여러 프로그램을 사용하지? 이 control도 OS가 담당한다.

인쇄, 문서 편집 후 하드 디스크에 저장 등등 OS가 하는 일은 정말 다양하다.

 

 

 

 

이렇게 OS는

컴퓨터 하드웨어(CPU, 메모리, 하드디스크, 키보드, 마우스, 스피커, 인쇄기 등등..)를 잘 관리하여

Performance를 높이고 

사용자에게 Convenience를 제공한다.

 

즉, OS는 Control program for computer.

 

 

 

 

--------------------------------------------------------------------------------------------------------------

프로그램이 instruction의 모음이라는 말을 2년 전에 누가 나한테 말했으면 '뭔 소리여..'했을텐데 C/C++이나 Python, Haskell로 아주 작은 프로그램들을 만들어 보고 나니 저 말이 무슨 말인지 알겠다. 그 언어들을 통해서 적는 문장 하나하나가 컴퓨터에게 주는 instruction들이고 그 instruction을 모은게 Program이다. 

 

 

그리고 컴퓨터에서 많은 프로그램들을 다운 받을 때 늘 뫄뫄.exe 파일을 깔게 되는데 그게 하드 디스크에 저장된다는 뜻! 그리고 그 프로그램을 사용하려면 하드디스크에서 메인 메모리로 올려야하는데 그 작업을 OS가 친절하게도 도와준다고!

 

그래서 같은 하드웨어라도 OS에 따라 성능 차이가 날 수 밖에 없다.

--------------------------------------------------------------------------------------------------------------

 

 

 

 

 

메인 메모리는 RAM과 ROM으로 나뉘어 진다.

ROM : Read Only Memory

 

 

RAM은 Random Access Memory의 약자로 데이터 읽기, 쓰기가 가능한 메모리이다. 흔히들 휘발성 메모리라고 한다. 왜냐하면 전원이 꺼지면 메모리에 기록된 정보가 날아가기 때문이다. 응용프로그램 일시적 로딩, 데이터 일시적 저장 등의 역할도 한다.

 

ROMRead Only Memory의 약자다. 이름에서부터 알 수 있듯이 데이터 읽기만 가능하다.(쓰기가 가능한 ROM도 있지만 그 횟수가 정해져 있다고 한다.) RAM과 달리 ROM에서는 전원이 꺼져도 데이터가 날아가지 않는다. 그래서 전원을 껐다 켜면 Processor는 먼저 ROM에 저장된 코드를 읽어와서 실행한다. 그렇다면 ROM에는 무엇이 저장되어 있을까?

 

 

  • POST (Power On Self Test)

컴퓨터, 키보드, 마우스, 인쇄기 등등 다 제대로 연결되있고 작동할 수 있는지 체크

 

PC에 전원을 넣었을 때 시스템 전반을 검사하는 과정. 컴퓨터에 전원이 공급되면 컴퓨터 키보드, 램, 디스크 드라이브, 기타 하드웨어 등이 바르게 동작하는지를 확인하기 위해 컴퓨터 자체 프로그램에 의해 동작하는 일련의 진단 시험 과정이다.

[네이버 지식백과] 시동 자체 시험 [Power On Self Test, 始動自體試驗] (IT용어사전, 한국정보통신기술협회)

 

 

  • Boot Loader 

Boot Loader는 하드디스크 뒤져서 OS를 찾아 메인 메모리로 올려준다. 이렇게 OS를 메인 메모리로 올려주는 것이 Booting. Booting이 끝나면 ROM의 임무 완료! 

 

운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램을 말한다.

https://ko.wikipedia.org/wiki/%EB%B6%80%ED%8C%85

 

 

 

 

 

 

이런 과정을 거쳐서 OS가 드디어 Main Memory로 올라오면?

바탕화면 등장! OS는 이제 명령을 받을 준비가 다 됐다!

 

hwp나 ms word나 chrome 등등 프로그램은 종료 시키면 메모리에서 바로 사라지지만 OS는 마지막 컴퓨터 전원을 꺼야만 메모리에서 사라진다. 그래서 OS는 메모리에 '상주한다'(resident)라는 표현을 사용한다. 

 

 

 

 

 

 

 

 

 

 

OS는 Kernel과 Shell로 구성된다.

Kernel은 실제 CPU, 메모리, 디스크 등등을 관리한다면

Shell은 사용자가 내린 명령을 해석하고 결과를 화면에 띄우는 일을 한다. 

그래서 Shell을 명령해석기(Command Interpreter)라고도 부른다. 

 

 

그림을 통해서도 알 수 있지만 App은 하드웨어에 바로 접근할 수 없다. 반드시 OS를 통해야 하며 OS가 자원(resource)를 각 App에 할당해준다.

 

'OS' 카테고리의 다른 글

2. 이중모드 (Dual Mode)  (0) 2020.05.17
1. 인터럽트  (0) 2020.05.17