300 likes | 449 Views
조 지 혁 <jacob@sparcs.kaist.ac.kr>. S ystem P rogrammer’s A ssociation for R esearching C omputer S ystems. CS100 컴퓨터 기초. 목차. S ystem P rogrammer’s A ssociation for R esearching C omputer S ystems. Computer 란 ? Computer 의 Functional Requirements Computer 의 구성 요소 Hardware
E N D
조 지 혁 <jacob@sparcs.kaist.ac.kr> System Programmer’s Association for Researching Computer Systems CS100컴퓨터 기초
목차 System Programmer’s Association for Researching Computer Systems • Computer란? • Computer의 Functional Requirements • Computer의 구성 요소 • Hardware • Software • Programming이란? • Reference
Computer란? System Programmer’s Association for Researching Computer Systems • Compute? • 계산하다. 산출하다 • Calculator? Computer? • 컴퓨터의 역사
Computer란? • Napier’s Bones • System Programmer’s Association for Researching Computer Systems • 과거의 Computer • 중국의 Abacus
Computer란? • System Programmer’s Association for Researching Computer Systems • 과거의 Computer • Pascaline
Computer란? • Analytical engine • 천공카드 • 인쇄기 장착 • 증기기관을 사용해 • 동력을 얻음 System Programmer’s Association for Researching Computer Systems • 과거의 Computer • Difference engine • 십진법 사용 • 핸들을 사용
Computer란? System Programmer’s Association for Researching Computer Systems • 과거의 Computer • 디지털형 • ENIAC, EDSAC, EDVAC, UNIVAC-Ⅰ etc. • 자기드럼, 자기 코어, 집적회로 등의 기억장치 • 프로그래밍 언어 사용 • 운영체제의 등장
Computer란? Processing Information Data System Programmer’s Association for Researching Computer Systems • Computer • 전자회로를 이용하여 자동적으로 계산이나 데이터를 처리하는 기계로 프로그래밍이 가능하다. 입력자료를 받아들여 처리하고 그 정보를 저장하고 검색하여 결과를 출력하는 일을 한다. – 두산백과사전
Computer란? Processing Information Data • 데이터를 입력시켜 유용한 정보로 가공 및 처리하는 정보처리 장치이다!!! • 그렇다면 인간과의 의사소통 및 자료처리는 어떻게? • System Programmer’s Association for Researching Computer Systems 자료 또는 정보에 대해 일련의 계획된 조작 처리를 수행함으로써 원하는 결과를 얻기 위한 전자식 기계 조직체
Computer의 Functional Requirements • 기억 장치 • 제어 장치 System Programmer’s Association for Researching Computer Systems 입력및 출력 장치 연산 장치
Computer의 구성요소 System Programmer’s Association for Researching Computer Systems • Hardware • Hard(딱딱한) + Ware(용품) • 전자 및 기계장치 • CPU, ALU, CU, 주변 장치 등 • Software • Hardware의 동작에관계되는 제어와 자료 처리를 지시하기 위한 명령어들로 구성 • OS, 응용 소프트웨어, 시스템 소프트웨어 등
Hardware System Programmer’s Association for Researching Computer Systems • 1. CPU(Central Processing Unit) • Processor • 산술 및 논리 처리 장치 • Intel(80286, 80386, … , 80586(펜티엄), … , 인텔 코어i7, ~) • AMD(Athlon) 등의 회사에서 제작
Hardware • System Programmer’s Association for Researching Computer Systems • 2. Main Board(Central Processing Unit) • 아울러주는 “Mother Board” • 자료 신호 및 명령 신호가 이동되는 통로 역할
Hardware • System Programmer’s Association for Researching Computer Systems
Hardware • System Programmer’s Association for Researching Computer Systems • 3. Memory • RAM(Random Access Memory) • 휘발성 메모리(Volatile Memory) • 기억된 정보를 읽어내기도 하고 다른 정보를 기억시킴 • DRAM(Dynamic), SRAM(Static) • Bit: 0, 1 (정보의 최소 단위) • BCD(Binary-Coded Decimal) • ASCII(American Standard Code for Information Interchange) • Byte = 8 or 9 bit(정보 표현의 최소 단위) • KB, MB, TB, PB, EB, ZB, YB
Hardware • System Programmer’s Association for Researching Computer Systems • 4. HDD(Hard Disk Drive) • Non-Volatile Memory • 용량이 큰 보조 기억장치 • RAM에 비해 속도가 느림 • 충격과 자성 물체에 약함
Hardware • System Programmer’s Association for Researching Computer Systems • 5. Several Cards...
Hardware • System Programmer’s Association for Researching Computer Systems • Mouse left button down event occurred! : Mouse Down → Main Board → CPU → Main Board → Graphic Card → Monitor • Input sound to Microphone! : Microphone → Main Board → CPU → Main Board → Sound Card → Speaker
Hardware • System Programmer’s Association for Researching Computer Systems • Execute a program! : Input(Mouse Down or something else.) → Main Board → CPU → HDD → RAM → CPU → Output(Monitor, speaker etc.)
Hardware • System Programmer’s Association for Researching Computer Systems • 그 외의 기기들 • Monitor – CRT, LCD • Keyboard, Mouse • Power supply • Scanner • Tablet • Printer • Case • Etc.
Software • System Programmer’s Association for Researching Computer Systems • Software
Software • System Programmer’s Association for Researching Computer Systems • Program란? • 연주회 및 TV program • 라틴어 ‘미리 쓴다’ • 컴퓨터가 수행해야 하는 절차(명령어) • 보통 하드디스크에 저장된 실행 코드 • cf. Process • 프로그램을 구동하여 메모리에 적재된 상태의 실행 단위 • Multi-Processing, Multi-Tasking
Software • System Programmer’s Association for Researching Computer Systems • Application Software • 사용자 프로그램, 게임 소프트웨어, 연결/통신 소프트웨어, 데이터 베이스, 워드, 엑셀 etc. • 특정 업무를 해결하기 위한 목적으로 만들어진 프로그램 • System Software • 운영 체제, 장치 드라이버, 유틸리티 프로그램, 서버 • 응용프로그램의 기초(개발 및 사용가능케 함)
Software • System Programmer’s Association for Researching Computer Systems • OS(Operating System) • 서로 다른 hardware에겐 서로의 program 작동 안 된다!! → 응용프로그램의 기반 필요! OS! ex) Window XP/2000용 응용프로그램 및 유틸리티 etc. • 응용 프로그램들이 메모리와 입출력 장치를 사용할 수 있도록 만들어준다(환경 제공). • 프로세스의 스케쥴링하여 효율적으로 수행토록 한다(생성, 중단 , 삭제 및 재개 등의 제어 및 처리 기능).
Software • System Programmer’s Association for Researching Computer Systems • OS(Operating System) • Window • Microsoft사 빌 게이츠 전 사장 개발 • 세계의 다수의 컴퓨터 유저가 사용하는 OS • GUI • 유료
Software • System Programmer’s Association for Researching Computer Systems • OS(Operating System) • Linux • UNIX 기반의 open source • GUI
Software • System Programmer’s Association for Researching Computer Systems • OS(Operating System) • 그 외에 OS • DOS(CUI 기반) • cf. DOS에서 directory, Window에서 folder • http://ko.wikipedia.org/wiki/%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C%EC%9D%98_%EB%AA%A9%EB%A1%9D
Programming이란? • Program을 만드는 작업! • High-level language(Java, Python, C, C++ etc) • Low-level language(기계어 etc) • SPARCS도 Linux와 같이 웹 서비스 및 오픈 소스를 프로그래밍하는 동아리! • Welcome to SPARCS!!! System Programmer’s Association for Researching Computer Systems
Reference • http://blog.naver.com/coolchacha/20041848210 • http://ko.wikipedia.org/wiki • http://blog.naver.com/dlaalswo2000/110035619414 • 두산백과사전 System Programmer’s Association for Researching Computer Systems
Q&A CS100컴퓨터 기초 System Programmer’s Association for Researching Computer Systems