A. 컴퓨터의 종류
- Embedded Computer : 특정 목적을 위해 설계된 컴퓨터. 필요한 하드웨어 스펙까지 설계하기 때문에 하드웨어의 제약이 생긴다. ex) 계산기, 키오스크
- Personal Computer : 일상적, 범용으로 사용 가능한 컴퓨터
ex) 데스크탑, 랩탑
- Server Computer : 고성능이며 연산을 효과적으로 처리
ex) 기상청, 알파고
B. 컴퓨터 구성 요소
- computer hardware : CPU, Memory, I/O 장치들
- operating system : 하드웨어를 사용할 수 있는 interface를 알려준다
- system and application programs : ex) compiler, assembler, text editor, database systerm -> 백엔드
- users(process) -> 프론트엔드
- process
disk에 저장된 binary image들이 메모리로 로드된 상태. CPU위로 올릴 수 있는 상태
C. 컴퓨터 HW 구조
-
정통적 구조 : CPU(메모리에서 명령을 가져와 수행), Memory, I/O 장치들(disk controller, USB controller, 그래픽 카드 등)이 BUS로 연결되어 있다.
-
최신 구조 : 목적에 따라 BUS의 규격이 달라진다.
- Memory Controller Hub (MCH) : DRAM(Memory) , AGP(그래픽 카드 -> 수많은 픽셀 필요) 등을 처리
많은 데이터들을 처리하며 속도가 빠르다
- I/O Controller Hub (ICH) : LAN, SCSI 등을 처리. 비교적 속도가 느리다
D. Operating System
= resource manager = 자원(하드웨어) 관리자
- Abstraction : 추상화 / 필요한 부분만 사용자에게 노출시켜 사용성을 높여준다
- Sharing : 공유 / 다수의 프로그램들을 사용 가능하도록 한다
- Protection : 보호 / 해당하는 프로그램만 사용하능한 메모리가 있다
- Fairness : 한 프로그램이 CPU를 독점할 수 없도록 한다.
- Performance : 최대 성능을 추구
-> Convenience(Abstraction을 통해 향상), Efficiency를 추구
E. Hardware protection
- CPU protection
- timer -interrupt -> 한 프로그램이 CPU를 모두 점령하지 못한다
- Memory protection
- MMU가 감시
if) 다른 memory 영역 access -> interrupt(exception)
- I/O protection
- Dual mode(user, kernal)
- I/O 명령은 kernel 모드에서만 가능하다