컴퓨터의기초 2 nd Lecture 김현철 (2009 년여름학기 ) 컴퓨터공학부서울대학교 Copyrights 2008 Eom, Hyeonsang All Rights Reserved
Slide Credit 엄현상교수님 서울대학교컴퓨터공학부 컴퓨터의기초, 2008 년봄학기강의자료
순서 기본복습 컴퓨터소프트웨어개요 컴퓨터하드웨어개요 Q&A
Terminology Algorithm: A set of steps that defines how a task is performed Program: A representation of an algorithm Programming: The process of developing a program Software: Programs and algorithms Hardware: Equipment J. G. Brookshear, Computer Science An Overview, Slides 2007 Pearson Addison-Wesley. All rights reserved
An Overview of Computing 사용자 응용프로그램 운영체제 하드웨어
소프트웨어개발방법 1. 문제의정의 2. 문제의요구사항분석 (Requirement) 3. 문제해결알고리즘고안 (Analysis) 4. 알고리즘구현 (Algorithm) 5. 프로그램테스트 (Test) 6. 프로그램유지보수 (Maintenance)
소프트웨어개발예제 1. 정의 마일 (mile) 을킬로미터 (km) 로변환하라. 2. 요구사항분석 입력은마일 (mile), 출력은킬로미터 (km) 1 mile = 1.609 kilometers 3. 알고리즘고안 마일단위로거리입력 연산을통해마일거리를킬로미터로변경 킬로미터단위의거리출력
소프트웨어개발예제 (Cont d) 4. 구현 /* Converts distance in miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, kms; /* input and output */ printf( Enter the distance in miles > ); scanf( %lf, &miles); /* get the distance in miles */ kms = KMS_PER_MILE * miles; /* convert the dist. to kilometers */ } printf( That equals %f kilometers.\n, kms); /* display the results */ return 0; 5. 프로그램테스트
컴퓨터소프트웨어 응용소프트웨어 사용자의특정목적을달성하게하는소프트웨어 워드프로세서 게임소프트웨어 데이터베이스관리소프트웨어등 소프트웨어설치 (Software Installation) CD or Internet onto Hard Disk OS or Hardware Dependency Check
컴퓨터소프트웨어 (Cont d) 프로그래밍언어 기계어 (Machine Language): 컴퓨터가바로실행가능 이진 (Binary) 코드 (Code) Code: 암호, 규약 CPU 의종류에따라다름 (Pentium, Motorolla, ) 어셈블리어 (Assembly Language) 기계어명령어와 1:1 대응 어셈블러 (Assembler) 고급언어 (High-Level Language) 하나의명령문이어셈블리어명령문여러개에해당 ( 예 : Sin(x)) 컴파일러 (Compiler) 또는인터프리터 (Interpreter) Code=( 암호, 규약 ) 예 : Operation Code for + = 001100110 (Binary Code) = ADD (Assembly Code) 예 : operation code ADD A B 01100110 11110011 10010111
High level Language Assembler Language Machine Language sin(x) a/b. Source File eg, my.c add shift sub shift. 001 010 101 010. Object File eg, my.obj crossreference eg, printf() 001 010 101 010 ---- 111 110 101 010 printf(). Source File AND shift sub add. 111 110 101 010. Object File. Executable Binary File eg, my.exe
Compilation Process Other Object File(s) Word processor Source File Linker Executable File Compiler Object File Loader Error Msg Input Data Results
IDE (Integrated Development Environment) Editor, Compiler, Linker, Loader, Debugger
컴퓨터소프트웨어 (Cont d) OS (Operating System) S/W That Controls the Computer or Manages Its Resources Control User Programs CPU(s) Memory Devices Act as the Interface between the Users and the Computer Provide Services for Programs It Runs
컴퓨터소프트웨어 (Cont d) 운영체제 (OS) Hardware 자원을관리및여러작업사이에배분 주요역할 사용자의명령을받아서하드웨어에전달 메모리, CPU (Central Processing Unit) 시간등의자원을관리하고, 다양한작업에배분 입출력장치로부터데이터를읽거나내보냄 Booting ROM 내의소형프로그램으로서 Disk 내의나머지 OS 를메모리로올림 Command Line Interface (Shell in Unix) Prompt as a short OS message: OS is ready for input command Graphical User Interface (GUI) (Icon, menu)
Multi-User vs. Single-User Linux Protection - Yes Resource 最大節約 Text mode (CUI)* Total silent eg, vi Windows Protection - Little Resource 最大使用 Window, GUI Show everything History State Command Option eg, word, * CUI: Character User Interface - cf, GUI: Graphical User Interface
User Interface (OS) GUI - Windows CUI - Linux $ _ menu (Programs in disk) active processes (loaded into memory) man Command ps Command
컴퓨터하드웨어 Secondary storage Input device Main memory Output device CPU
컴퓨터하드웨어 (Cont d) 메인메모리 (Main Memory) ROM(Non-volatile) 와 RAM(Volatile) RAM 이대부분임 (both store & retrieval) 비트 (bit) 정보저장의최소단위 (0/1) Binary digit 바이트 (byte) Cell 을구성함 One character per byte (8 bit) Cell 당 byte 수 기계에따라다름 Cell Address 와 Content Content: data & stored program address: byte cell Program s instruction main memory ( 실행을위하여 ) bit byte
컴퓨터하드웨어 (Cont d) 2 nd 저장장치 (2 nd storage device) 비휘발성, Disk drive, floppy disk, USB(flash memory) 자성체 CD-ROM drive read-only, read-wrtie CD - optics 기술 File - 디스크에정보가저장되는단위 File 의내용 : program file, data file Directory (folder), subdirectory 수많은 file 들을디스크에저장 Main Memory 와 2 nd Storage 의다른점 CPU 는 main memory 안의정보만실행할수있음 디스크내 file 은먼저 main memory 로불러와야 CPU 가 access 가능 Main memory 차별성 속도가빠름 크기가작음 (bit 당가격이디스크보다비쌈 ) Volatile
컴퓨터하드웨어 (Cont d) 중앙처리장치 CPU: Central Processing Unit 대부분연산용회로 산술연산 : 11+63 논리연산 : (apple is fruit?) AND (banana is red?) CPU 내기억용공간 빠르고적은수레지스터 (register) 레지스터 (register) main memory 해야실행 Both data & instruction Instruction fetch, Data fetch
컴퓨터하드웨어 (Cont d) 중앙처리장치 ADD A B 1234 12 연산기 register ADD A B --- instruction 1234 --- data 12 --- data cell
컴퓨터하드웨어 (Cont d) 입력장치 (Input device): 키보드, 마우스 출력장치 (Output device): 모니터, 프린터 function keys space characters caps lock key numeric keypad shift key control key enter (return) key cursor control keys
컴퓨터하드웨어 (Cont d) 컴퓨터네트워크 LAN: Local Area Network 빌딩, 캠퍼스, 기관등 WAN: Wide Area Network 인터넷 (Internet) 네트워크장치 모뎀 (Modem) 전화선을통해컴퓨터데이터통신 Audio Binary data Baud rate (bits per second) 이더넷 (Ethernet)