1 / 21

System Programming

System Programming. 김대영. 강의 소개. 담당교수 : 김대영 연락처 이메일 : com@kw.ac.kr 전화번호 : 010-5695-5675 특별한 경우를 제외하고는 이메일로 .. ( 꼭 학교 , 과목 , 이름을 이야기해주세요 ~!). 강의 소개. 교재 뇌를 자극하는 윈도우 시스템 프로그래밍 저자 : 윤성우 , 출판사 : 한빛미디어 성적 산출 중간 : 35%, 기말 : 35% 출석 : 10% (4 번 결석시 F 처리 )

sarah
Download Presentation

System Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System Programming 김대영

  2. 강의소개 • 담당교수 : 김대영 • 연락처 • 이메일 : com@kw.ac.kr • 전화번호 : 010-5695-5675 • 특별한 경우를 제외하고는 이메일로.. • (꼭 학교, 과목, 이름을 이야기해주세요~!)

  3. 강의 소개 • 교재 • 뇌를 자극하는 윈도우 시스템 프로그래밍 • 저자 : 윤성우, 출판사 : 한빛미디어 • 성적 산출 • 중간 : 35%, 기말 : 35% • 출석 : 10% (4번 결석시 F 처리) • 기타 : 10%, 보고서 : 10% • 지속적인 리포트 및 테스트, 평소 행동 등..

  4. 시스템 프로그래밍 • 선수 과목 • 컴퓨터 구조 • 운영체제 • 교재 선정 이유 • 시스템 프로그래밍 + 컴퓨터 구조 + 운영체제를 혼합하여 이해하기 쉽게 되어 있음. • 작은 그림이 아니라 큰 그림을 이해하자~! • Power Programmer가 되는 발판 마련 • 무료 동영상 강의도 지원함.

  5. 컴퓨터 구조에 대한 첫 번째 이야기 Chapter 1

  6. Section 1~3

  7. Term. 라이브러리 -운영체제의 기능을 활용할 수 있는 시스템 함수들의 집합 시스템프로그래밍이란? • 시스템 프로그램이란? • 기본 개념 : 컴퓨터 시스템을 동작시키는 프로그램 • 동작 : 파일 복사, 파일 이등 등의 기본 동작들 포함. • 우리가 알고 있는 시스템 프로그램은? • Windows, UNIX, Linux 와 같은 운영체제들. • 시스템 프로그래머 • 어셈블리나 C언어를 활용 하드웨어를 직접 컨트롤 하는 개발자 (운영체제 개발자들도 포함) • 운영체제가 제공하는 라이브러리를 사용하여 프로그램을 개발하는 개발자

  8. 시스템 프로그래밍이란? • 윈도우 시스템 프로그래머 • 윈도우에서 제공하는 라이브러리를 활용하여 프로그램을 개발하는 사람 • 유닉스 시스템 프로그래머 • 유닉스에서 제공하는 라이브러리를 활용하여 프로그램을 개발하는 사람 • 윈도우 시스템 프로그래머가 되기 위해서는 무엇을 공부해야만 하는가? • MSDN을 뒤져서 각각의 함수가 제공하는 기능을 아주 정확히 이해하면 됨. => 운영체제에 대한 최소 지식 필요 => 컴퓨터 구조 지식 필요

  9. 컴퓨터 시스템의 주요 구성요소 • CPU, 캐쉬 • 컴퓨터 하드웨어 구조 • 운영체제 • 메인 메모리 • 메모리 관리 기법 • 하드디스크 • 파일 I/O(다양한 I/O포함) Power Programmer • 두 과목을 이해하면 언어의 문법적 요소만을 이해하고 바로 • 프로그래밍하는 프로그래머들보다 효율적인(속도를 높이고, • 메모리를 효율적으로 사용하는) 프로그램을 구현하는 것이 가능해짐

  10. 컴퓨터 하드웨어 구성(전체)

  11. 컴퓨터 하드웨어 구성(전체) • CPU( Central Processing Unit) • 중앙처리장치 • 연산이 이뤄지는 원리는 무엇인가? • 메인 메모리(Main Memory) • 램(RAM) • 프로그램 실행 방식을 이해하는 것. • 입출력 버스(Input/Output Bus) • 데이터 송 수신이 이뤄지는 원리.

  12. CPU에 대한 이해(전체 구성) • ALU • 컨트롤 유닛 • 레지스터 • 버스 인터페이스

  13. CPU에 대한 이해 Brain! 나? 덧셈 숫자 2 숫자 5

  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

More Related