C언어 개요
- 1972년에 벨 연구소(Bell Labs)의 데니스 리치가 만든 프로그래밍 언어
- 자바, C++, C#, 파이썬 등 다양한 언어의 문법적 부모
- 운영체제 커널, 하드웨어 드라이버, 펌웨어 등을 만들 때 자주 사용되는 언어
C언어의 정신
- 프로그래머를 믿어라. (Trust the programmer)
- 프로그래머가 작업을 못하게 방해하지 마라. (Don't prevent the programmer from doing what needs to be done)
- 언어를 작고 간단하게 유지하라. (Keep the language small and simple)
- 호환성은 장담할 수 없더라도 빨리 작동하게 만들어라. (Make it fast, even if it is not guaranteed to be portable)
C언어의 활용
각 언어별 비교
컴퓨터의 구성 요소들
- 전원 공급장치
- 메인보드
- 중앙처리장치(CPU)
- 주기억장치(RAM)
- 보조기억장치(HDD, SSD)
- 입력장치(키보드, 마우스)
- 출력장치(디스플레이)
- 그래픽 카드
영상
https://youtu.be/KBs_cbWfbIk
컴퓨터를 켤 때 일어나는 일
- 전원 공급
- 부트 프로그램 실행
- 하드웨어 검사
- 운영체제 로드
- 운영체제 실행
영상
https://youtu.be/nibismaE3fk
운영체제가 해주는 일들
- 시스템 보호
- 시스템이 지속가능하도록 한계를 지정
- 일의 효율성확보를 위한 룰 집행
영상
https://youtu.be/kZ2F36FLoV0
컴퓨터는 왜 이진수를 사용할까
- 반도체의 2가지 상태를 이용
- 상태의 구분이 용이
영상
https://youtu.be/HZRxCJ7Sweo
현대적 컴퓨터의 기본 구조
- CPU와 메모리 분리
- 입력창치 분리
영상
https://youtu.be/S6u23ZpjzVk
컴퓨터 메모리의 기본구조
- 보조기억장치는 순차접근
- 보조기억장치는 느리다.
- 보조기억장치는 전원이 꺼져도 데이터 유지
- 주기억장치는 임의접근
- 주기억장치는 빠르다.
- 주기억장치는 전원이 꺼지면 데이터 유실
영상
https://youtu.be/J-OFmu6td9Y
CPU의 구조
- Control Unit : 매니저
- ALU : 계산
- 레지스터 : 기억력
영상
https://youtu.be/sjPNcKre_so
CPU가 일하는 방법
- Control Unit : 매니저
- ALU : 계산
- 레지스터, 프로그램 카운터 : 현재 실행중인 소스코드 라인
- 레지스터, 명령어 레지스터 : 현재 실행중인 명령어
- 레지스터, 메모리 주소 레지스터 : 타켓
- 레지스터, 메모리 데이터 레지스터 : 타겟에서 가져온 데이터 혹은, 타겟에 넣을 데이터
- 레지스터, 어큐뮬레이터 : 계산값
정보의 단위
- 데이터 + 처리 = 정보
- 정보의 기본단위는 비트
- CPU에서 레지스터의 단위는 워드
- 16비트 CPU에서의 워드는 16비트
- 64비트 CPU에서의 워드는 64비트
영상
https://youtu.be/qbSsIXw_iNk