1강
운영체제가 뭐길래?
정보란건 뭘까?
- 정보의 최소 단위 : bit(Binary digit)
- 정보의 처리 : 정보의 상태 변환(0에서 1로, 1에서 0으로)
- 부울 대수(Boolean Algebra) : NOT, AND, OR
- 논리 게이트 : NOT, AND, OR, XOR, NAND, NOR
- 논리 회로 : IC, LCI, VLCI, ULCI, SoC
- 정보의 저장과 전송 : 플립-플롭, 데이터 버스, RF
- 무어의 법칙
- 황의 법칙
그래서, 컴퓨터가 정보를 어떻게 처리하죠?
- 덧셈은 ? 반가산기, 전가산기
- 뺄셈은 ? 2의 보수 표현법
- 곱셈과 나눗셈은 ? 덧셈과 뺄셈의 반복 → 단일 회로로 구현 가능
- 실수 연산은 ? 부동 소수점 표현법, 별도의 회로로 구성하면 GPU?
- 함수는 ? GOTO
그럼, 컴퓨터는 만능인걸까?
범용성 : Universality
- NOT, AND, OR 게이트만으로 모든 계산 가능
- NAND 게이트만으로 모든 계산 가능
- 범용 컴퓨터 : general-purpose computer
- 특정 기능을 가지면 calculator, 다 할 수 있으면 computer
계산가능성 : Computability
- Turing-computable : 튜링 머신으로 계산 가능한 것.
- 정지 문제 : Halting Problem : 튜링 머신으로 풀 수 없는 문제.
컴퓨터의 할아버지
- Alan Turing - Turing Machine
컴퓨터의 아버지
- John von neumann -ISA : Istruction Set Architecture
- 튜링머신 여러개를 가지고 유니버셜 튜링 머신을 만들 수 있다.

- Head, Tape, Turing Machines : Universal Turing Machine
- CPU, RAM, Application Programs : Operating System
튜링 머신의 구조

- 테이프 (메모리) : 기호 정보를 저장할 수 있는 셀이 연결된 정보 저장 장치
- 헤드 (CPU) : 셀을 읽고 쓰거나 죄우로 이동할 수 있는 제어 장치
- 알파벳 집합 (모든 정보)
- 상태 집합 : 투링 머신이 가질 수 있는 모든 상태를 담고 있음
- 명령 테이블 : 현재 상태와 기호에 따라 해야 할 일을 지정하는 명령 목록
폰 노이만이 왜 컴버지인가 ?
- 내장형 프로그램 방식을 처음 제안한게 폰 노이만.
- 메모리에 프로그램을 저장하는 컴퓨터

- CPU는 램에 있는 명령어들을 하나씩 fetch해와서 execute함 폰 노이만 아키텍처(ISA)
프로그램은 뭘까 ?
- 명령어들의 집합.
- movl $3, -12(%rbp)
- rbp = 베이스 포인터 레지스터
- movl -12(%rbp), %edx
운영체제도 프로그램일까?
- 컴퓨터에서 항상 실행중인 프로그램
- 시스템 서비스를 응용 프로그램에게 제공
- H/W와 App 사이에서 인터페이스 역할
- 프로세스를 관리하고 파일, 프린터, IO 같은 리소스를 관리하고, 마우스 키보드와 같은 interface를 관리
운영체제는 뭘 할까 ?

- 사용자는 각각의 응용 프로그램을 통해서 OS와 통신을 진행
- OS가 사용자에게 서비스를 제공
- 커널이 운영체제의 핵심을 담당함

Bootstrap은 컴퓨터의 전원이 들어왔을 때, OS를 메모리에 올리는 역할을 함
키보드를 눌렀을때 CPU가 알아야함 . 그 방법을 Interrupt라고 함.
IO 시그널을 시스템 버스를 통해서 전송해줌
Instructions Set(명령어 집합)
명령어를 메모리에 올리고. 메모리에 올라간 내용을 fetch 해서 CPU로 가져간 후 execute
저장장치는 여러개의 hierarchy로 구성
directed memory access Interrupt ?
컴퓨터 시스템 컴포넌트
- CPU
- Processor
- Core
- Multicore
- Multiprocessor
Symmetric multiprocessing (SMP) : CPU가 하나가 아니라 멀티라는 것
멀티 프로그래밍
- 한번에 하나 이상의 프로그램이 돌고 있는 것.

- OS한테 서비스를 요청하는 것 = System call
- 커널에서 System call을 처리하고 user mode로 되돌려 줌
- 위처럼 나누어져 있기 때문에 보안적인 측면을 챙길 수 있음

'CS > 운영체제' 카테고리의 다른 글
메인 메모리 (0) | 2023.06.19 |
---|---|
스레드 (1) | 2023.06.13 |
데드락(Deadlock) (0) | 2023.03.26 |
스핀락, 뮤텍스, 세마포어 (0) | 2023.03.19 |
프로세스의 이해 & 프로세스간 통신 (0) | 2023.02.26 |