티스토리 뷰


운영체제를 공부하기전에 먼저 알아둬야할 것들이 많이 있다.

먼저 리눅스를 이용해서 스터디를 진행할 것이고, 우리가 스터디에서 참고하는 책은 공룡책으로 유명한

Operating System Concepts 로 진행한다. 


잘 찾아보면 ppt 파일도 있으니 열심히 구글링을 해서 정리된 ppt로 공부하면 좋을 듯하다(물론 영어)




1장 운영체제의 기본 컨셉에 대해서 알아보자


운영체제란 무엇일까? 컴퓨터를 샀다고 해서 바로 컴퓨터를 쓸 수 있는 것은 아니다. 처음에 컴퓨터를 사면 운영체제를 설치하는 것부터가 시작인데, 보통은 컴퓨터에 이미 운영체제가 설치되어 있어서 컴퓨터를 잘 모르는 일반인들은 운영체제라는 것을 모르고 컴퓨터를 쓰는 경우가 많이있다. 운영체제는 대용량의 저장소를 가지면서 고속의 연산의 능력을 가진 컴퓨터가 여러가지 프로그램을 돌려도 버벅이지 않도록 내부 자원을 잘 활용하게 해주고 데이터의 입출력과 프로그램간의 이벤트핸들링, 에러탐지, 보안 등 컴퓨터를 사용함에 있어서 사용자가 신경을 써야하는 부분을 알아서 처리해주는 역할을 한다. 영화 HER을 보면 인공지능이 탑재된 운영체제가 나오는데, 미래의 운영체제는 그런 모습이 아닐까 하는 생각이 든다. 


사실 처음부터 우리가 쓰고있는 운영체제가 탑재된 컴퓨터가 나온 것은 아니었다.


컴퓨터의 구조는 폰 노이만(Von Neumann) 아키텍쳐 전과 후로 나뉘게 된다.  폰노이만 이전의 컴퓨터와 프로그래밍의 관계는


"프로그램을 위한 컴퓨터" 다.


프로그램을 돌릴 수 있도록 전선과 물리적인 데이터 저장공간을 만들어 두고 물리적으로도 제어가 가능하도록 설계를 했었다. 이 방법은 정확한 설계로 원하는 프로그램을 무리없이 통제할 수도 있지만, 한가지 프로그램을 위해서 하나의 컴퓨터를 만들고, 다른 프로그램을 돌리기 위해서는 새로운 컴퓨터를 만들어야 한다는 단점이 있고, 당시 규모가 큰 데이터를 처리하는 컴퓨터였기에 물리적인 저장소를 위해 차지하는 공간에도 한계가 있었다.  


폰노이만은 프로그램을 위한 컴퓨터가 아닌 컴퓨터를 위한 프로그램이라는 새로운 개념의 아키텍쳐를 제안하게 되었고, 소형 컴퓨터를 무리없이 사용하기 위해 컴퓨터의 관리자격인 운영체제라는 것이 탄생하게 된 배경이다.


폰노이만 아키텍쳐(Von Neumann Architecture) 는 위의 그림으로 단순하게 표현 할 수 있다 물론 실제 컴퓨터의 구조를 보면 훨씬 복잡하지만, 아키텍쳐는 고속의 연산장치(CU + ALU) 와 메모리 그리고 그 사이를 잇는 Bus를 이룬다.  이전에 비해 연결하는 방식이 훨씬 간소화 되고 작은 구조에서도 이전과 같은 작업이 가능하다.


컴퓨터를 사용하다가 어느 순간부터 느려졌다면, 컴퓨터가 노후해서 문제가 생긴 것이 아니고, 우리가 사용하면서 컴퓨터의 자원을 이상하게 쓰고 있었기 때문이라고 생각해야한다.컴퓨터는 잘못이 없다. 마찬가지로 스마트폰을 사용하면서 어느 순간부터 어플이 잘 돌아가지 않는다면, 역시나 메모리를 쓸데없이 차지하고 있는 어플들을 삭제해야한다.( 이때는 백그라운드에서 돌아가는 서비스 예를 들면 푸시알람기능, 기기의 상태를 체크하는 백신 등) 만약에 최소의 어플을 남겼는데도 느려졌다면, 진짜 똥폰이기 때문이니 당장 핸드폰을 바꿔야한다.


운영체제가 알아서 자원을 관리해주지만, 그래픽이 좋은 게임을 하거나, 메모리를 많이 차지하는 기능을 사용하는 프로그램을 돌리면, 컴퓨터가 버벅일 수 있다. 이런 걸 공부해보면 비슷한 사양에서 윈도우는 버벅이는데, 맥에서는 버벅이지 않는 것을 보면 맥OS가 진짜 잘만든 운영체제라는 것을 느낄 수 있다. 돈생기면 꼭 맥북을 사야겠...다.. 돈만 생기면..



앞으로도 프로그램을 설계하고 만들 때마다,  항상 컴퓨터의 최소 사양조건을 생각하며, 만들어야 한다는 것을 느낀다.



운영체제가 기기에서 하는 역할은 다음의 9가지로 말 할 수 있다.

1. 사용자 인터페이스( GUI, CLI)

2. 프로그램 실행

3. 입출력 연산

4. 파일 시스템 조작

5. 통신(WiFi, Bluetooth 등)

6. 오류 탐지

7. 자원 할당

8. 자원 할당에 관한 로그기록

9. 보호 및 보안(요즘은 거의 백신 프로그램)



운영체제의 기본 기능과 왜 필요한지에 대해서 알아 봤다


앞으로 운영체제 와  OS에 대해 스터디를 진행하며 공부한 내용을 이곳에 슬금슬금 적어나가겠다