system programming
Post on 12-Jan-2016
132 Views
Preview:
DESCRIPTION
TRANSCRIPT
System Programming
김대영
1
강의 소개
담당교수 : 김대영
연락처 이메일 : com@kw.ac.kr 전화번호 : 010-5695-5675 특별한 경우를 제외하고는 이메일로 ..
( 꼭 학교 , 과목 , 이름을 이야기해주세요 ~!)
2
강의 소개
교재 뇌를 자극하는 윈도우 시스템 프로그래밍 저자 : 윤성우 , 출판사 : 한빛미디어
성적 산출 중간 : 35%, 기말 : 35% 출석 : 10% (4 번 결석시 F 처리 ) 기타 : 10%, 보고서 : 10%
지속적인 리포트 및 테스트 , 평소 행동 등 ..
3
시스템 프로그래밍
선수 과목 컴퓨터 구조 운영체제
교재 선정 이유 시스템 프로그래밍 + 컴퓨터 구조 +
운영체제를 혼합하여 이해하기 쉽게 되어 있음 . 작은 그림이 아니라 큰 그림을 이해하자 ~! Power Programmer 가 되는 발판 마련
무료 동영상 강의도 지원함 .4
5
컴퓨터 구조에 대한 첫 번째 이야기
Chapter 1
6
Section 1~3
시스템 프로그래밍이란 ?
시스템 프로그램이란 ? 기본 개념 : 컴퓨터 시스템을 동작시키는 프로그램
동작 : 파일 복사 , 파일 이등 등의 기본 동작들 포함 .
우리가 알고 있는 시스템 프로그램은 ? Windows, UNIX, Linux 와 같은 운영체제들 .
시스템 프로그래머 어셈블리나 C 언어를 활용 하드웨어를 직접 컨트롤
하는 개발자 ( 운영체제 개발자들도 포함 ) 운영체제가 제공하는 라이브러리를 사용하여
프로그램을 개발하는 개발자 7
Term. 라이브러리 - 운영체제의 기능을 활용할 수 있는 시스템 함수들의 집합
시스템 프로그래밍이란 ?
윈도우 시스템 프로그래머 윈도우에서 제공하는 라이브러리를 활용하여
프로그램을 개발하는 사람 유닉스 시스템 프로그래머
유닉스에서 제공하는 라이브러리를 활용하여 프로그램을 개발하는 사람
윈도우 시스템 프로그래머가 되기 위해서는 무엇을 공부해야만 하는가 ? MSDN 을 뒤져서 각각의 함수가 제공하는 기능을
아주 정확히 이해하면 됨 . 8
=> 운영체제에 대한 최소 지식 필요 => 컴퓨터 구조 지식 필요
9
컴퓨터 시스템의 주요 구성요소 CPU, 캐쉬
컴퓨터 하드웨어 구조
운영체제 메인 메모리
메모리 관리 기법
하드디스크 파일 I/O( 다양한 I/O
포함 )
두 과목을 이해하면 언어의 문법적 요소만을 이해하고 바로프로그래밍하는 프로그래머들보다 효율적인 ( 속도를 높이고 ,메모리를 효율적으로 사용하는 ) 프로그램을 구현하는 것이 가능해짐
10
컴퓨터 하드웨어 구성 ( 전체 )
11
컴퓨터 하드웨어 구성 ( 전체 )
CPU( Central Processing Unit) 중앙처리장치 연산이 이뤄지는 원리는 무엇인가 ?
메인 메모리 (Main Memory) 램 (RAM) 프로그램 실행 방식을 이해하는 것 .
입출력 버스 (Input/Output Bus) 데이터 송 수신이 이뤄지는 원리 .
12
CPU 에 대한 이해 ( 전체 구성 )
ALU
컨트롤 유닛
레지스터
버스 인터페이스
13
CPU 에 대한 이해
나 ? 덧셈
숫자 2
숫자 5
Brain!
14
클럭 신호 (Clock Pulse)
동작 타이밍 클럭 발생기의 클럭
필요성 요소들의 동기화
15
Section 4~5
16
프로그램 실행과정 전처리기에 의한 치환작업
# 으로 시작하는 지시자
컴파일러에 의한 번역 CPU 의 명령어로 번역
어셈블러에 의한 바이너리 코드 생성 CPU 의 명령어를 바이너리 코드로 번역
링커에 의한 연결과 결합 라이브러리와의 결합
17
Stored Program Concept
Fetch CPU 내부로 명령어 이동
Decode 명령어 해석 컨트롤 유닛
Execution 연산을 진행 보통은 ALU 를 생각
18
Stored Program Concept
19
Stored Program Concept + 컴퓨터 구조
20
데이터 이동의 기반 버스 시스템
데이터 버스 데이터 이동
어드레스 버스 주소 이동
컨트롤 버스 컨트롤 신호 이동
21
QnA
top related