OS는 컴퓨터 시스템이 작동하는 소프트웨어
Computer는 정보를 처리하는 기계
Information는 불확실성을 측정하여 정량적 표현
정보처리 방식
정보의 최소 단위: bit
정보의 처리: 정보의 상태 변환(0->1, 1->0)
부울 대수: NOT, AND, OR
논리 게이트: NOT, AND, OR, XOR, NAND, NOR
논리 회로: IC, LSI, VLSI, ULSI, SoC,...
정보의 저장과 전송: 플립-플롭, 데이터 버스
덧셈: 반가산기, 전가신기
뺄셈: 2의 보수 표현법
곱셈과 나눗셈: 덧셈과 뺄셈의 반복
실수 연산: 부동 소수점 표현법
특징
범용성(universality)
계산가능성(computability)
task를 수행하기 위한 컴퓨터 하드웨어
OS의 4가지 구성요소
OS의 정의를 크게 받지 않는다.
흔한 정의
프로그램의 유형
CPUs 한 개 이상
bus를 통해 장치 연결
전원을 키고 os를 동작
하드웨어가 시간별로 간섭하여 CPU와 System bus에서 신호를 보냄
A typical instruction-execution cycle
The instruction is then decoded
After the insturction on the operands
storage capacity
access time
CPU: 하드웨어, 지시
Processor: 물리칩에는 CPUs가 하나 이상 있다.
Core: CPU의 back computation
Multicore: 같은 CPU에 여러 computing core가 있다
Multiprocessor: 멀티 프로세서들이 추가
흔한 멀티프로세서 시스템
Asymmetric multiprocessing
한 타임에 하나의 프로그램이 실행
메모리안에서 여러가지 프로세스가 즉각적으로 유지
CPU utilization증가
멀티프로그래밍의 논리적 확장
CPU 스케쥴링
user mode and kernel mode
부정확한 프로그램 봅증
한 컴퓨터의 하드웨어 abstract
다른 실행 조건
VMM(Virtual Machine Manager)
Tranditional Computing
Mobile Computing
Client-Server Computing
Peer to Peer Computing
Cloud Computing
Real Time Embedded Systems
User interface
Program execution
I/O operation
File-system manipulation
Communications
Error detection
Resource allocation
Logging
Protection and security
CLI: interface and interpreter 명령
GUI: graphical user interface
Touch-Screen Interface
OS로 가능한 서비스를 만든다.
API: Application Programming Interface