컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.

Slides:



Advertisements
Similar presentations
Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved. 제 10 강.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
컴퓨터는 어떻게 동작?.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
3. 명령어 집합 구조 순천향대학교 정보기술공학부 이상정.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
5 컴퓨터 시스템의 구성과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Part 01 서론 안산1대학 디지털정보통신과 임 성 국.
Windows Server 장. Windows Server 2008 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
임베디드 시스템.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
제 3장 컴퓨터 시스템의 구조.
System Programming 제1장 배경지식 시스템 프로그래밍.
이것이 C 언어다. IT응용시스템공학과 김 형 진 교수.
컴퓨터 기본 원리 프로그래밍 언어 C 프로그래밍 환경 C 프로그래밍 작성, 컴파일, 링크 및 실행
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
COMPUTER ARCHITECTIRE
11 장 LAN 기본 개념과 Ethernet LAN
P.L.C -Programmable Logic Controller
제10강 중앙처리장치 1.
컴퓨터과학 전공탐색 배상원.
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
마이크로컨트롤러, 마이크로컨트롤러 보드 마이크로컨트롤러 보드 = 마이크로컨트롤러 +  마이크로컨트롤러 마이크로컨트롤러 보드.
임베디드 시스템이란?.
제 1장. 멀티미디어 시스템 개요.
Microprocessor I/O Port & CLCD Noh Jin-Seok.
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
1장 운영체제 2-C반 운영체제 박소라.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Chap 6.Assembler 유건우.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
멀티미디어시스템 제 6 장. 운영체제 IT응용시스템공학과 김 형 진 교수.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
UNIX Unbounded A Beginning Approach
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제2강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
2019년도 전자정보공학과 이수체계도 1학년(트랙) 2학년(트랙) 3학년(트랙) 4학년 1학기 2학기 1학기 2학기 1학기
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
LabVIEW WiznTec 주임 박명대 1.
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학 과 : 정보제어 공학과 학 번 : 이 름 : 김민혁 이메일 :
제2강 : 전자계산기구조-컴퓨터 시스템 구성.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
3과목 운영체제 강사 이 민 욱.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
3.2 분기 명령어.
System Security Operating System.
.Net FrameWork for Web2.0 한석수
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
06. 디바이스의 등록과 해제 김진홍
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
1장. C Language Synopsis.
Presentation transcript:

컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍

컴퓨터 시스템의 구성(1) 컴퓨터 시스템의 구성 요소 하드웨어(Hardware) 소프트웨어(Software) 시스템 소프트웨어(System Software) 미들웨어(Middleware) 응용 소프트웨어(Application Software) 통신망(Communication Network) 신라대학교 컴퓨터공학과 시스템 프로그래밍

컴퓨터 시스템의 구성(2) 컴퓨터시스템 응용 소프트웨어 응용 소프트웨어 미들웨어 미들웨어 통신망 시스템소프트웨어 하드웨어 컴퓨터 응용 소프트웨어 미들웨어 시스템소프트웨어 하드웨어 컴퓨터 통신망 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어(Hardware) 논리회로 수준 보드(혹은 기능적인 요소) 수준 시스템 수준 SSI(<10 gates/chip), MSI(<100) LSI(<1000), VLSI(>10000) 보드(혹은 기능적인 요소) 수준 중앙처리장치 기억장치 입출력장치 등 시스템 수준 마이크로컴퓨터, 워크스테이션 중형컴퓨터, 대형컴퓨터 등 신라대학교 컴퓨터공학과 시스템 프로그래밍

소프트웨어(Software) 시스템 소프트웨어(System Software) 미들웨어(Middleware) 운영체제, 어셈블러, 컴파일러, 유틸리티, 통신 프로토콜 등 미들웨어(Middleware) 통신, 데이터베이스 응용 사용자 인터페이스, 트랜잭션 처리, 분산지원(CORBA) 등 응용 소프트웨어(Appware) 산업, 비즈니스, 일반, 내장형 응용 컨텐츠(contents)와는 구별 신라대학교 컴퓨터공학과 시스템 프로그래밍

펌웨어 Software stored in read-only memory (ROM) or programmable ROM (PROM) Easier to change than hardware but harder than software stored on disk Firmware is often responsible for the behavior of a system when it is first switched on A typical example would be a "monitor" program in a microcomputer which loads the full operating system from disk or from a network and then passes control to it 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어와 통신망 용어 : 아키텍쳐 & 구조 하드웨어의 구성 중앙처리장치 기억장치 입출력장치 컴퓨터 통신망 신라대학교 컴퓨터공학과 시스템 프로그래밍

용어: 아키텍쳐 vs. 구조 (1) (Architecture vs. Organization) 세가지 의미 명령어 집합(Instruction Set) + 입출력연결기능(I/O Capability) 구조 (Organization, Structure) 두개의 계층사이에서 위 계층에서 본 아래 계층의 기능적인 모양 예: 하드웨어 아키텍쳐, 입출력 아키텍쳐 등 응용 소프트웨어 시스템소프트웨어 하드웨어 CPU+기억장치 입출력 제어장치 입출력 하드웨어 신라대학교 컴퓨터공학과 시스템 프로그래밍

용어: 아키텍쳐 vs. 구조 (2) (Architecture vs. Organization) 구현의 입장에서 본 컴퓨터의 논리적 혹은 물리적 블록과 그들 사이의 연결 형태 흔히 말하는 ‘컴퓨터 아키텍쳐’와 동일한 의미로 사용 구현 (Implementation, Realization) 실제로 구현된 상태 어떤 부품을 사용하여 주어진 구조의 명세를 구현하는가에 따라 달라진다 신라대학교 컴퓨터공학과 시스템 프로그래밍

용어: 아키텍쳐 vs. 구조 (3) (Architecture vs. Organization) 예: 피아노 시계 마이크로 프로세서 아키텍쳐 건반 시침/분침/초침을 갖는 시계판 명령어셋 + 입출력 기능 구조 연주용 가정용 벽시계 손목시계 다른 구조를 갖는 마이크로 프로세스 구현 실제 사용된 부품 태엽 배터리 다른 논리회로나 반도체 집적 기술 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어의 구성(1) 폰 논이만 컴퓨터(Von Neumann Computer) 프로그램 내장형 컴퓨터 메모리에 명령어 및 데이터가 구분됨이 없이 같이 저장 명령어의 실행으로 데이터를 처리 프로그램 카운터(PC)를 사용 PC는 다음에 수행될 명령어의 위치를 가리키며, 명령의 인출 후에 자동적으로 증가 메모리는 데이터 저장 장소의 위치를 일련 번호(주소)에 의해 표시 참고: 하버드 아키텍쳐(Harvard Architecture) 명령어와 데이터를 별도의 메모리에 저장하여 실행 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어의 구성(2) 기본 구성 보조기억장치 CPU 입력장치 출력장치 주기억장치 통신장치 자기디스크, 자기테이프 등 키보드, 마우스 등 자기디스크, 자기테이프 등 통신망 접속 장치 등 모니터, 프린터, 스피커 등 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어의 구성(3) 기본 구성 신라대학교 컴퓨터공학과 시스템 프로그래밍

중앙처리장치(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) 신라대학교 컴퓨터공학과 시스템 프로그래밍

중앙처리장치(CPU) (2) 주요 기능 마이크로프로세서의 경우 기억장치로부터 명령/데이터를 인출 및 저장 명령의 해석 : 제어장치 명령의 실행 : ALU 입출력 연산 : I/O Operations 마이크로프로세서의 경우 대부분 CPU를 한 개의 칩에 탑재 캐쉬 등의 다른 유닛도 포함 신라대학교 컴퓨터공학과 시스템 프로그래밍

중앙처리장치(CPU) (3) 명령 주기(Instruction Cycle) 명령 인출(Instruction Fetch) PC의 주소에 저장된 명령어를 인출하여 IR에 저장 명령 실행(Instruction Execution) IR의 명령어를 분석하여 요구하는 연산을 실행 신라대학교 컴퓨터공학과 시스템 프로그래밍

기억장치(1) 명령 및 데이터의 저장장소 주소공간(Address Space) 기본소자: 비트(bit) 기본 주소지정 단위: 바이트(byte) 기본 정보 단위: 워드(word) 주소(address), 위치(location), 내용값(contents) 주소공간(Address Space) 프로그램이 지정할 수 있는 단위 정보의 수 주소를 나타내기 위한 주소 비트의 수에 의해 결정 예: 주소 버스가 32 비트이면 232 = 4 GB 신라대학교 컴퓨터공학과 시스템 프로그래밍

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) 신라대학교 컴퓨터공학과 시스템 프로그래밍

입출력장치(I/O Devices) 종류 입출력 처리 장치 사용자 인터페이스용 입출력 장치 보조기억장치 통신장치 입출력 버스 다른 처리장치와의 접속장치 입출력 처리 장치 입출력 연산을 전담 신라대학교 컴퓨터공학과 시스템 프로그래밍

컴퓨터 통신망(Computer Network) 구성 통신용 하드웨어 프로토콜 : 통신망 소프트웨어에 의해 구현 종류 유선 통신 통신망(네트워크) 지역망(LAN: Local Area Network) 광역망(WAN: Wide Area Network) 전화망 케이블망 무선 통신 무선지역망 신라대학교 컴퓨터공학과 시스템 프로그래밍

시스템 소프트웨어 하드웨어의 제어와 운영 프로그램의 작성과 처리 운영체제 기타 시스템 소프트웨어 컴파일러, 링크, 로더 등 신라대학교 컴퓨터공학과 시스템 프로그래밍

하드웨어의 제어와 운영(1) 명제 하드웨어의 제어 하드웨어의 운영 프로그램에 의한 제어 프로그래밍 수단 프로그램의 작성과 처리 주어진 기계를 어떻게 효율적으로 이용할 것인가? 하드웨어의 제어 프로그램에 의한 제어 프로그래밍 수단 프로그램의 작성과 처리 하드웨어의 운영 프로그램에 의한 처리장치, 메모리 등의 이용 운영체제 하드웨어 시스템 구성 요소의 운영 프로그램의 운영 신라대학교 컴퓨터공학과 시스템 프로그래밍

명령을 분석하여 어떤 게이트를 제어할 것인지 결정 하드웨어의 제어와 운영(2) 하드웨어의 동작 제어 기계 명령에 의한 제어 일련의 기계어 명령을 차례로 입력 명령을 분석하여 어떤 게이트를 제어할 것인지 결정 게이트를 제어할 제어신호의 생성 ALU내의 전하의 흐름을 제어 신라대학교 컴퓨터공학과 시스템 프로그래밍

프로그램의 작성과 처리(1) 프로그래밍 수단: 프로그래밍 언어 기계어(Machine Code) : 숫자 단점 – 코딩의 어려움 어셈블리어(Assembly Language) : 문자의 사용 좀 더 코딩하기 쉬운 방법 CPU의 구조에 대한 이해를 요구하기 때문은 코딩 어려움이 상존 고급 언어(High-level Language) : 자연어에 가까운 언어 더욱 코딩하기 쉬운 방법 단점 – 직접적인 제어신호 생성 불가 비능률적인 기계어 프로그램 생성 프로그램 개발 및 실행 도구의 사용 운영체제, 유틸리티, 언어번역 프로그램 등 신라대학교 컴퓨터공학과 시스템 프로그래밍

프로그램의 작성과 처리(2) 프로그램 처리 소프트웨어 인터프리터(Interpreter -해석기) 번역기(Translator) 고급언어 프로그램의 각 명령을 직접 해석하여 실행함 번역기(Translator) 컴파일러(Compiler) : 고급언어의 원시모듈  기계어의 목적모듈 어셈블러(Assembler) 어셈블리어의 원시모듈  기계어의 목적 모듈 링커(Linker) 프로그램 모듈간의 연결 로더(Loader) – 적재기 프로그램 실행을 위하여 주기억장치에 적재 신라대학교 컴퓨터공학과 시스템 프로그래밍

프로그램의 작성과 처리(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) 신라대학교 컴퓨터공학과 시스템 프로그래밍

시스템 소프트웨어와 다른 구성 요소와의 관계 에디터(편집기) 응용 프로그램 컴파일러 운영체제 링커 기계어 프로그램 로더 시스템 소프트웨어와 다른 구성 요소와의 관계 응용 프로그램 기계어 프로그램 프로그래머 데이터 처리 장치 운영체제 에디터(편집기) 컴파일러 링커 로더 프로그램 편집 컴파일 & 링킹 메모리에 적재 프로그램 실행 프로그램실행 환경제공 신라대학교 컴퓨터공학과 시스템 프로그래밍

운영체제 (1) 기능 및 특성 사용의 편의성 제공 하드웨어 사용의 효율성 제고 사용자-컴퓨터 인터페이스(HCI) 제공 CUI or GUI 하드웨어 사용의 효율성 제고 자원(CPU, 메모리, 입출력 장치 등)의 관리 상위 레벨 소프트웨어 운영 및 실행의 효율성 제고 적응성 지원 새로운 컴포넌트나 시스템의 도입 허용 개방형 시스템 신라대학교 컴퓨터공학과 시스템 프로그래밍

운영체제 (2) 구성 정적인 구성 동적인 구성 각종 기능을 갖는 프로그램의 집합 프로세스 관리, 메모리 관리, 입출력 관리, 입출력장치 관리, 파일 관리, 초기화, 사용자 인터페이스 등 동적인 구성 프로세스(Process) – 실행중인 프로그램 프로세스 스케줄러(Process Scheduler) 프로세스가 일정한 순서대로 CPU에서 실행될 수 있도록 제어 시스템 서비스 시스템 프로그램에서 제공하는 기능 기타 초기화 , 입출력 등 신라대학교 컴퓨터공학과 시스템 프로그래밍

기타 시스템 소프트웨어 (1) 유틸리티(Utilities) 라이브러리(Library) 기타 프로그램의 작성 및 실행을 지원 편집기, 디버거 등 라이브러리(Library) 그래픽, 통신, 기억공간관리 등의 기능을 수해하는 모듈의 집합체 프로그램 작성시에 라이브러리 루틴을 호출하여 실행 컴파일 또는 실행시에 링크 기타 데이터베이스 관리, 그래픽, 통신 등의 기능을 수행하는 커널 수준의 독립된 프로그램 신라대학교 컴퓨터공학과 시스템 프로그래밍

기타 시스템 소프트웨어 (2) 사용자 사용자 매크로 프로세서 링커 로더 컴파 일러 하드웨어 운영 체제 펌웨어 화일 시스템 어셈블러 응 램 용 프 로 그 사용자 사용자 신라대학교 컴퓨터공학과 시스템 프로그래밍

임베디드 시스템의 개요 마이크로프로세서 혹은 마이크로컨트롤러를 내장하여(embedded) 원래 제작자가 지정한 기능만을 수행하는 시스템 PC는 임베디드 시스템이라 하지 않는다 설계, 개발 시 고려사항 Real-Time, Reactive Small Size, Low Weight Safe, Reliable Harsh Environment Cost Sensitivity 3) 운영체제 시스템프로그램에서 가장 중요한 것으로 사용자가 컴퓨터시스템을 효율적이고 쉽게 사용할 수 있도록 사용자와 시스템간의 인터페이스 역할을 수행한다. 이러한 운영체제의 기능은 자원의 관리로 프로세서, 주기억장치, 입출력장치, 통신장치, 그리고 화일 등의 자원을 관리한다. 또한 오늘날 운영체제는 하드웨어 가격하락과 프로세서 속도 향상에 의해 분산처리, 병행처리, 다중처리로 발전되고 있다. 신라대학교 컴퓨터공학과 시스템 프로그래밍

임베디드 시스템의 활용 정보 가전 제품 핸드폰 및 PDA 다말기 공장 자동화 및 자동제어 첨단 특수 분야 3) 운영체제 시스템프로그램에서 가장 중요한 것으로 사용자가 컴퓨터시스템을 효율적이고 쉽게 사용할 수 있도록 사용자와 시스템간의 인터페이스 역할을 수행한다. 이러한 운영체제의 기능은 자원의 관리로 프로세서, 주기억장치, 입출력장치, 통신장치, 그리고 화일 등의 자원을 관리한다. 또한 오늘날 운영체제는 하드웨어 가격하락과 프로세서 속도 향상에 의해 분산처리, 병행처리, 다중처리로 발전되고 있다. 신라대학교 컴퓨터공학과 시스템 프로그래밍