C
- 반전공자 10여년만에 다시 시작하는 CS 공부. 10여년전 C++로 처음 프로그래밍이라는 것을 입문. 당시에는 별 찍는 것도 힘겨웠는데..
의외로 반복문을 제외하고는 재미있게 들었던 기억이 있다.
(시험은 별개 ㅋㅋㅋㅋ)
- 자료구조 & 알고리즘 공부와 더불어서 하루 40분 정도만 투자해서 완강하자! 그런데 51시간짜리 강의인거 실화..?!
0.1 컴퓨터의 구성요소
본체
- 전원 공급 장치
- 그래픽 카드(GPU, Graphics processing unit) - 내장형 (칩셋) 을 사용하는 경우도 있다.
- CPU (냉각장치 안에 있다)
- 주기억장치(Primary Storage, 메모리)
- CPU랑 가까이, 회선에 연결되어 있다.
- 전원을 끄면 데이터 사라짐
- RAM (Randome Access Memory, cf.Rom ->Read only Memory)
- 팬! 발열방지
- 보조 장치
- 전원 꺼도 데이터 유지
- 주기억보다 느림
- HDD: Hard Disk Drive -> 회전 물리적 한계가 있어 (속도) - SSD: Solid state Drive -> 물리적 한계 없어서 빠름 (아직 비쌈)
- FDD: Floppy Disk Drive -> HDD가 하드인 이유는 얘보다 Hard해서 ㅋㅋ
- 터널열면 왜 C드라이브에서 자꾸 시작할까 : 전통적으로 A,B가 플로피 디스크의 드라이브였어.
- 자기테이프 (Magnetic Tape)
0.2 컴퓨터를 켤 때 일어나는 일들
전원을 켠다 = 부팅한다.
- BIOS: Basic Input Output system
부팅 절차
- 전원공급
- 부트 프로그램 실행
- ROM BIOS: 메인보드에 내장되어 있다.
- ROM에 들어가는 내용은 처음부터 들어가 있다.
- 하드웨어 검사 by 부트 프로그램
CPU가 운영체제의 기능을 실행시키고 싶어해!
- 운영체제 로드
- OS는 보조기억장치에 저장되어 있다.
- CPU는 보조기억장치에 직접 접근하지 못한다.(주기억장치에만 접근 가능)
- 따라서, 보조 -> 주기억장치로 데이터를 복사한다.
- 운영체제 실행
- 주기억장치에 올라온 운영체제 코드를 CPU가 실행한다.
참고자료
- 프로그래밍 관점에서 바라보는 컴퓨터 구조 - 정기철 / 연두에디션
- 운영체제의 이해 - 김용석 / 홍릉과학출판사
0.3 운영체제가 해주는 일
예전에는 하드웨어에 접근할때마다 조작.. 이거를 공통화시킨것.
운영체제 종류 -Unix, 리눅스, 윈도우, iOS, 안드로이드, MacOS
- 사용자 <> 시스템 프로그램, 응용프로그램 <> 운영체제 - [커널 <> 하드웨어]
- 응용프로그램과 하드웨어의 중재
- 한정된 자원 관리
- 사용자에게 편하게 사용할 수 있는 도구 제공 (인터페이스)