> For the complete documentation index, see [llms.txt](https://real-dev.gitbook.io/real-library/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://real-dev.gitbook.io/real-library/os_with_joonion/1-.-1.md).

# 1강. 운영체제 개론 (1)

* 정보를 처리하는 기계
* 정보란, 클로드 새넌의 정리에 따르면 사건 X의 정보량은 해당 사건이 발생한 사건의 -log^2를 붙인 것과 같다. $ I(x) = -log2 P(X) $
* ~~아니 뭐라고 하시는겁니까 교수님 진도가 너무 빠릅니다.~~
* 정보란, 불확실한 상황을 측정해서 수치적으로 표현한 것이다.
* 컴퓨터가 정보를 처리하는 것은 정보의 최소의 단위가 bit 이기 때문에, **컴퓨터는 bit를 처리하는 기계**라고 표현할 수 있다.
* 정보의 처리 → 정보의 상태 변환을 위해선, 0과 1을 서로 변환하기 위해서 부울 대수가 사용된다. AND, OR, NOR, NAND… 이를 위해 사용하는 물리 기기가 트랜지스터
* 따라서 논리 게이트를 사용하는 거다. 얘네들을 사용하여 논리 회로를 만들 수 있다. 그리고 이 집적도가 칩 안에 포함된다.
* 무어의 법칙, 황의 법칙에 따라 연산과 데이터 크기가 매해 2배로 증가하고 있다. 하드웨어 발전은 눈부시게 일어났고, 이제 거의 한계에 다다랐다. 물리적으로 집적 한계에 다다랐다.
* 덧셈은 반가산기, 전가산기를 사용하고, 뺄셈은 2의 보수 표현법을 사용하고, 곱셈과 나눗셈은 덧셈과 뺄셈의 반복이다. 실수 연산은 부동 소수점 표현법을 사용하낟. 함수는 GOTO로 표현한다.
* 컴퓨터는 만능은 아니지만 범용성이 있다. NOT, AND, OR, NAND 게이트만으로 모든 계산을 할 수 있다. 하드웨어 기술은 이를 극한으로 활용중. 컴퓨터는 Turing-Computable한 문제는 풀 수 있지만, 정지 문제는 풀 수 없음. 그냥 그런갑다 하자.
* 컴퓨터의 할아버지는 앤런 튜링. 아버지는 폰 노이만. 세기의 천재들…
* 프로그램이란 컴퓨터에게 명령어를 실행시키는 세트
* 결국 운영체제도 프로그램의 일부이며, 컴퓨터에서 항상 실행되는 시스템 프로그램
* OS가 하드웨어를 감싸고 있고, 어플리케이션 프로그램에서 OS에 요청하는 방식
* 따라서 OS는 프로세스를 관리하고, 하드웨어를 제어하는 소프트웨어이다.
*

***
