Download presentation
Presentation is loading. Please wait.
1
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍
2
컴퓨터 시스템의 구성(1) 컴퓨터 시스템의 구성 요소 하드웨어(Hardware) 소프트웨어(Software)
시스템 소프트웨어(System Software) 미들웨어(Middleware) 응용 소프트웨어(Application Software) 통신망(Communication Network) 신라대학교 컴퓨터공학과 시스템 프로그래밍
3
컴퓨터 시스템의 구성(2) 컴퓨터시스템 응용 소프트웨어 응용 소프트웨어 미들웨어 미들웨어 통신망 시스템소프트웨어
하드웨어 컴퓨터 응용 소프트웨어 미들웨어 시스템소프트웨어 하드웨어 컴퓨터 통신망 신라대학교 컴퓨터공학과 시스템 프로그래밍
4
하드웨어(Hardware) 논리회로 수준 보드(혹은 기능적인 요소) 수준 시스템 수준
SSI(<10 gates/chip), MSI(<100) LSI(<1000), VLSI(>10000) 보드(혹은 기능적인 요소) 수준 중앙처리장치 기억장치 입출력장치 등 시스템 수준 마이크로컴퓨터, 워크스테이션 중형컴퓨터, 대형컴퓨터 등 신라대학교 컴퓨터공학과 시스템 프로그래밍
5
소프트웨어(Software) 시스템 소프트웨어(System Software) 미들웨어(Middleware)
운영체제, 어셈블러, 컴파일러, 유틸리티, 통신 프로토콜 등 미들웨어(Middleware) 통신, 데이터베이스 응용 사용자 인터페이스, 트랜잭션 처리, 분산지원(CORBA) 등 응용 소프트웨어(Appware) 산업, 비즈니스, 일반, 내장형 응용 컨텐츠(contents)와는 구별 신라대학교 컴퓨터공학과 시스템 프로그래밍
6
하드웨어와 통신망 용어 : 아키텍쳐 & 구조 하드웨어의 구성 중앙처리장치 기억장치 입출력장치 컴퓨터 통신망
신라대학교 컴퓨터공학과 시스템 프로그래밍
7
용어: 아키텍쳐 vs. 구조 (1) (Architecture vs. Organization)
세가지 의미 명령어 집합(Instruction Set) + 입출력연결기능(I/O Capability) 구조 (Organization, Structure) 두개의 계층사이에서 위 계층에서 본 아래 계층의 기능적인 모양 예: 하드웨어 아키텍쳐, 입출력 아키텍쳐 등 응용 소프트웨어 시스템소프트웨어 하드웨어 CPU+기억장치 입출력 제어장치 입출력 하드웨어 신라대학교 컴퓨터공학과 시스템 프로그래밍
8
용어: 아키텍쳐 vs. 구조 (2) (Architecture vs. Organization)
구현의 입장에서 본 컴퓨터의 논리적 혹은 물리적 블록과 그들 사이의 연결 형태 흔히 말하는 ‘컴퓨터 아키텍쳐’와 동일한 의미로 사용 구현 (Implementation, Realization) 실제로 구현된 상태 어떤 부품을 사용하여 주어진 구조의 명세를 구현하는가에 따라 달라진다 신라대학교 컴퓨터공학과 시스템 프로그래밍
9
용어: 아키텍쳐 vs. 구조 (3) (Architecture vs. Organization)
예: 피아노 시계 마이크로 프로세서 아키텍쳐 건반 시침/분침/초침을 갖는 시계판 명령어셋 + 입출력 기능 구조 연주용 가정용 벽시계 손목시계 다른 구조를 갖는 마이크로 프로세스 구현 실제 사용된 부품 태엽 배터리 다른 논리회로나 반도체 집적 기술 신라대학교 컴퓨터공학과 시스템 프로그래밍
10
하드웨어의 구성(1) 폰 논이만 컴퓨터(Von Neumann Computer) 프로그램 내장형 컴퓨터
메모리에 명령어 및 데이터가 구분됨이 없이 같이 저장 명령어의 실행으로 데이터를 처리 프로그램 카운터(PC)를 사용 PC는 다음에 수행될 명령어의 위치를 가리키며, 명령의 인출 후에 자동적으로 증가 메모리는 데이터 저장 장소의 위치를 일련 번호(주소)에 의해 표시 참고: 하버드 아키텍쳐(Harvard Architecture) 명령어와 데이터를 별도의 메모리에 저장하여 실행 신라대학교 컴퓨터공학과 시스템 프로그래밍
11
하드웨어의 구성(2) 기본 구성 보조기억장치 CPU 입력장치 출력장치 주기억장치 통신장치 자기디스크, 자기테이프 등
키보드, 마우스 등 자기디스크, 자기테이프 등 통신망 접속 장치 등 모니터, 프린터, 스피커 등 신라대학교 컴퓨터공학과 시스템 프로그래밍
12
하드웨어의 구성(3) 기본 구성 신라대학교 컴퓨터공학과 시스템 프로그래밍
13
중앙처리장치(CPU) (1) 구성 산술논리 연산장치(ALU: Arithmetic Logic Unit)
제어 장치(Control Unit) 레지스터(Registers) 프로그램 카운터(PC: Program Counter) 상태 레지스터(Status Register) 메모리 주소 레지스터(MAR: Memory Address Register) 메모리 데이터 레지스터(MDR: Memory data register) 명령 레지스터(IR: Instruction Register) 범용 레지스터(General Purpose Register) 신라대학교 컴퓨터공학과 시스템 프로그래밍
14
중앙처리장치(CPU) (2) 주요 기능 마이크로프로세서의 경우 기억장치로부터 명령/데이터를 인출 및 저장
명령의 해석 : 제어장치 명령의 실행 : ALU 입출력 연산 : I/O Operations 마이크로프로세서의 경우 대부분 CPU를 한 개의 칩에 탑재 캐쉬 등의 다른 유닛도 포함 신라대학교 컴퓨터공학과 시스템 프로그래밍
15
중앙처리장치(CPU) (3) 명령 주기(Instruction Cycle) 명령 인출(Instruction Fetch)
PC의 주소에 저장된 명령어를 인출하여 IR에 저장 명령 실행(Instruction Execution) IR의 명령어를 분석하여 요구하는 연산을 실행 신라대학교 컴퓨터공학과 시스템 프로그래밍
16
기억장치(1) 명령 및 데이터의 저장장소 주소공간(Address Space) 기본소자: 비트(bit)
기본 주소지정 단위: 바이트(byte) 기본 정보 단위: 워드(word) 주소(address), 위치(location), 내용값(contents) 주소공간(Address Space) 프로그램이 지정할 수 있는 단위 정보의 수 주소를 나타내기 위한 주소 비트의 수에 의해 결정 예: 주소 버스가 32 비트이면 232 = 4 GB 신라대학교 컴퓨터공학과 시스템 프로그래밍
17
0.2~3 MB/sec(real-to-real)
기억장치(2) 기억장치의 계층 구조(Memory Hierarchy) 저장매체 일반적인 접근시간 데이터 처리율 CPU 레지스터 온칩 캐쉬 캐쉬 메모리 10~30 nsec 주기억장치 50~100 nsec 디스크캐쉬 70~500 nsec 하드디스크 10~50 msec 600~6000 KB/sec 플로피디스크 95 msec 100~200 KB/sec CD-ROM 100~600 msec 150~1000 KB/sec 테이프 0.5 sec 이상 5~20 KB/sec(cartridge) 0.2~3 MB/sec(real-to-real) 신라대학교 컴퓨터공학과 시스템 프로그래밍
18
입출력장치(I/O Devices) 종류 입출력 처리 장치 사용자 인터페이스용 입출력 장치 보조기억장치 통신장치 입출력 버스
다른 처리장치와의 접속장치 입출력 처리 장치 입출력 연산을 전담 신라대학교 컴퓨터공학과 시스템 프로그래밍
19
컴퓨터 통신망(Computer Network)
구성 통신용 하드웨어 프로토콜 : 통신망 소프트웨어에 의해 구현 종류 유선 통신 통신망(네트워크) 지역망(LAN: Local Area Network) 광역망(WAN: Wide Area Network) 전화망 케이블망 무선 통신 무선지역망 신라대학교 컴퓨터공학과 시스템 프로그래밍
20
시스템 소프트웨어 하드웨어의 제어와 운영 프로그램의 작성과 처리 운영체제 기타 시스템 소프트웨어 컴파일러, 링크, 로더 등
신라대학교 컴퓨터공학과 시스템 프로그래밍
21
하드웨어의 제어와 운영(1) 명제 하드웨어의 제어 하드웨어의 운영 프로그램에 의한 제어 프로그래밍 수단 프로그램의 작성과 처리
주어진 기계를 어떻게 효율적으로 이용할 것인가? 하드웨어의 제어 프로그램에 의한 제어 프로그래밍 수단 프로그램의 작성과 처리 하드웨어의 운영 프로그램에 의한 처리장치, 메모리 등의 이용 운영체제 하드웨어 시스템 구성 요소의 운영 프로그램의 운영 신라대학교 컴퓨터공학과 시스템 프로그래밍
22
명령을 분석하여 어떤 게이트를 제어할 것인지 결정
하드웨어의 제어와 운영(2) 하드웨어의 동작 제어 기계 명령에 의한 제어 일련의 기계어 명령을 차례로 입력 명령을 분석하여 어떤 게이트를 제어할 것인지 결정 게이트를 제어할 제어신호의 생성 ALU내의 전하의 흐름을 제어 신라대학교 컴퓨터공학과 시스템 프로그래밍
23
프로그램의 작성과 처리(1) 프로그래밍 수단: 프로그래밍 언어 기계어(Machine Code) : 숫자
단점 – 코딩의 어려움 어셈블리어(Assembly Language) : 문자의 사용 좀 더 코딩하기 쉬운 방법 CPU의 구조에 대한 이해를 요구하기 때문은 코딩 어려움이 상존 고급 언어(High-level Language) : 자연어에 가까운 언어 더욱 코딩하기 쉬운 방법 단점 – 직접적인 제어신호 생성 불가 비능률적인 기계어 프로그램 생성 프로그램 개발 및 실행 도구의 사용 운영체제, 유틸리티, 언어번역 프로그램 등 신라대학교 컴퓨터공학과 시스템 프로그래밍
24
프로그램의 작성과 처리(2) 프로그램 처리 소프트웨어 인터프리터(Interpreter -해석기) 번역기(Translator)
고급언어 프로그램의 각 명령을 직접 해석하여 실행함 번역기(Translator) 컴파일러(Compiler) : 고급언어의 원시모듈 기계어의 목적모듈 어셈블러(Assembler) 어셈블리어의 원시모듈 기계어의 목적 모듈 링커(Linker) 프로그램 모듈간의 연결 로더(Loader) – 적재기 프로그램 실행을 위하여 주기억장치에 적재 신라대학교 컴퓨터공학과 시스템 프로그래밍
25
프로그램의 작성과 처리(3) 고급언어 프로그램의 실행 절차 Compiler linker loader a.c b.c d.c
a.o b.o d.o libs linker t.exe loader Main Memory CPU 소스 파일 목적 파일 실행 파일 (Loadable File) 신라대학교 컴퓨터공학과 시스템 프로그래밍
26
시스템 소프트웨어와 다른 구성 요소와의 관계 에디터(편집기) 응용 프로그램 컴파일러 운영체제 링커 기계어 프로그램 로더
시스템 소프트웨어와 다른 구성 요소와의 관계 응용 프로그램 기계어 프로그램 프로그래머 데이터 처리 장치 운영체제 에디터(편집기) 컴파일러 링커 로더 프로그램 편집 컴파일 & 링킹 메모리에 적재 프로그램 실행 프로그램실행 환경제공 신라대학교 컴퓨터공학과 시스템 프로그래밍
27
운영체제 (1) 기능 및 특성 사용의 편의성 제공 하드웨어 사용의 효율성 제고
사용자-컴퓨터 인터페이스(HCI) 제공 CUI or GUI 하드웨어 사용의 효율성 제고 자원(CPU, 메모리, 입출력 장치 등)의 관리 상위 레벨 소프트웨어 운영 및 실행의 효율성 제고 적응성 지원 새로운 컴포넌트나 시스템의 도입 허용 개방형 시스템 신라대학교 컴퓨터공학과 시스템 프로그래밍
28
운영체제 (2) 구성 정적인 구성 동적인 구성 각종 기능을 갖는 프로그램의 집합
프로세스 관리, 메모리 관리, 입출력 관리, 입출력장치 관리, 파일 관리, 초기화, 사용자 인터페이스 등 동적인 구성 프로세스(Process) – 실행중인 프로그램 프로세스 스케줄러(Process Scheduler) 프로세스가 일정한 순서대로 CPU에서 실행될 수 있도록 제어 시스템 서비스 시스템 프로그램에서 제공하는 기능 기타 초기화 , 입출력 등 신라대학교 컴퓨터공학과 시스템 프로그래밍
29
기타 시스템 소프트웨어 (1) 유틸리티(Utilities) 라이브러리(Library) 기타 프로그램의 작성 및 실행을 지원
편집기, 디버거 등 라이브러리(Library) 그래픽, 통신, 기억공간관리 등의 기능을 수해하는 모듈의 집합체 프로그램 작성시에 라이브러리 루틴을 호출하여 실행 컴파일 또는 실행시에 링크 기타 데이터베이스 관리, 그래픽, 통신 등의 기능을 수행하는 커널 수준의 독립된 프로그램 신라대학교 컴퓨터공학과 시스템 프로그래밍
30
기타 시스템 소프트웨어 (2) 사용자 사용자 매크로 프로세서 링커 로더 컴파 일러 하드웨어 운영 체제 펌웨어 화일 시스템
어셈블러 응 램 용 프 로 그 사용자 사용자 신라대학교 컴퓨터공학과 시스템 프로그래밍
Similar presentations