1. 기본개념
○ 처리능력 분류: 슈퍼, 메인, 미니, 마이크로 컴퓨터
- 팸톱 컴퓨터: 스마트폰 및 PDA
- 웨어러블 컴퓨터: 착용할 수 있는 컴퓨터
○ 디지털 컴퓨터와 아날로그 컴퓨터
- 디지털 컴퓨터: 논리회로, 전자시계, 사칙연산, 느림, 정확
- 아날로그 컴퓨터: 증폭회로, 바늘시계, 미적분연산, 빠름, 정밀도 제한적
2. 중앙처리장치(CPU)
○ 기억장치(레지스터): CPU 내부의 임시기억장치(가장 속도 빠름)
○ 연산장치(산술논리장치, ALU)
- 가산기: 덧셈
- 보수기: 보수하여 뺄셈
- 누산기: 연산결과 일시 저장
- 상태 레지스터: 상태정보 기록
○ 제어장치(CU)
- 프로그램 카운터(PC): 다음에 수행할 명령어 주소 기억
- 명령 레지스터: 명령어 내용 기억
- 해독기: 명령어 해독
- 부호기: 제어신호 생성
3. 주기억장치
○ RAM: 휘발성, 작업대 역할
- SRAM(Static RAM): 빠르고, 집적도 낮고, 재충전 불필요
- DRAM(Dynamic RAM): 느리고, 집적도 높고, 재충전 필요
○ ROM-BIOS
- 펌웨어, CMOS로 설정 가능, 비휘발성, 플래시 메모리(EEPROM)
- POST(Power On Self-Test), 날짜 전원 관리, 부팅순서, 시스템 암호, 기본글꼴, 칩셋정보 등
4. 보조기억장치
○ SSD: HDD보다 성능 좋음
○ RAID: 스트라이핑(두 곳에 나누어서 기록), 미러링(두 곳에 동일하게 기록)
○ 하드디스크 연결 방식
- SATA: 직렬(Serial) 방식
- PATA: IDE, E-IDE: 병렬(Parallel) 방식
5. 메인보드와 기타
○ 버스: 데이터, 주소, 제어신호 전송에 사용되는 통로
- 내부버스(CPU내부), 외부버스(CPU외부), 확장버스(확장 장치)
○ USB: 127개 연결 가능, P&P 지원, 3.0은 파란색
○ 채널: CPU와 입출력장치 사이의 속도 차이 문제 해결
○ 인터럽트(응급상황): 외부, 내부, 소프트웨어 등이 있음
7. 컴퓨터 단위와 문자코드
○ 기억 용량 단위
bit → byte(8bit) → KB(1024Byte) → MB(1024KB) → GB(1024MB) → TB(1024(MB) → PB(1024TB)
○ 처리 속도 단위(밀마나 피펨아 369)
ms(10-3) → μs(10-6) → ns(10-9) → ps(10-12) → fs(10-15) → as(10-18)
밀리 마이크로 나오 피코 펨코 아코
○ 자료 구성 단위
bit → Nibble(4bit) → Byte(8bit) → Word(명령 단위) → Field → Record → File → DB
○ 문자코드
BCD(6bit) → ASCII(7bit, 통신용) → 확장 ASCII(8bit), EBCDIC(8bit) → 국제문자(UNICODE, 16bit)
8. 운영체제와 소프트웨어
○ 운영체제 목적: 응답시간 단축, 처리능력 향상, 신뢰도 향상, 사용가능도 향상
○ 시스템 프로그램(운영체제)
- 제어 프로그램: 감시, 작업관리, 데이터 관리(감작데)
- 처리 프로그램: 서비스, 문제처리, 언어번역(서문언)
○ 소프트웨어 종류
- 프리웨어: 무료, 공개
- 오픈소스: 소스코드까지 공개
- 셰어웨어: 일정기간 무료
- 베타버전: 일반인 테스트용
- 상용: 구매해서 사용해야 하는 프로그램
※ 유틸리티 프로그램은 컴퓨터 동작에 필수는 아님(사용하기에는 편함)
9. 운영체제 운영 방식과 세대별 특징
○ 운영체제 운영방식
- 일괄처리: 모아서 한꺼번에 처리(옛날 시스템)
- 실시간 처리: 바로 바로 처리
- 다중 프로그래밍(Multi-Programming): 여러 개 프로그램을 동시에 처리\
- 시분할처리(Time Shairing System): 시간을 분할
- 듀얼 코어: 다중처리+듀플렉스
· 다중처리(Multi-Processing): 여러 개의 CPU로 연산 능력 향상
· 듀플렉스(Duplex System): 고장 대비 여러 개 CPU 사용
- 분산처리: 네트워크 작업, 서버/클라이언트 방식
○ 컴퓨터 세대별 회로
- 1세대(진공관), 2세대(트랜지스트), 3세대(IC), 4세대(LSI), 5세대(VLSI)
10. 프로그래밍 언어
○ 프로그래밍 언어 종류
- 컴파일러: 전체 번역으로 번역 느림, 실행 빠름(C, 코볼, 포트란 등)
- 인터프리터: 줄 번역으로 번역은 빠름, 실행은 느림(베이직, LISP 등)
○ 객체 지향 언어(OOP=Obeject-Oriented Programming)
- 복잡한 프로그램 구축이 어려운 절차형 언어의 문제점 해결
- 추상화(불요한 것 과감히 생략), 캡슐화(세부내용 숨기기), 상속성, 다형성(다양한 목적)
- C++, JAVA, SmallTalk
○ 클라이언트 서브 방식
- 정보를 제공하는 서브, 제공받는 클라이언트
- 양쪽 모두 처리능력 있음
- 분산처리 환경에 적합
○ 웹 프로그래밍 언어
- HTML: 하이퍼텍스트 문서를 만들기 위한 언어
- XML: HTML 단점 보완, 구조화된 다양한 문서 표현
- HTML5: 플러그인 없어도 웹 서비스 이용 가능
- VRML: 가상 현실 모델링 언어
- ASP: 서브 가동 언어(윈도우에서만 사용)
- PHP: 서브 가동 언어(리눅스, 유닉스, 윈도우에서 사용 가능)
- JSP: JAVA로 만든 서브 가동 언어(다양한 운영체제에서 사용 가능)