1 / 30

Utility 프로그램

제 02 강 : Utility 프로그램. Utility 프로그램. Utility Program. 하드웨어를 직접 제어하지는 않지만 , 다른 프로그램의 실행 / 개발을 도와줌 예 : Editor 어셈블러 , 매크로 프로세서 , 컴파일러 링커 (Linker), 로더 (Loader) 사용자 인터페이스 ( 명령 처리기 ) 다음에는 어떤 일을 할까요 ?. 매크로 프로세서 (Macro Processor). ( 반복되는 데이터 ) John Fitzgerald Kennedy

nhung
Download Presentation

Utility 프로그램

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. 제02강 : Utility 프로그램 Utility 프로그램

  2. Utility Program • 하드웨어를 직접 제어하지는 않지만, • 다른 프로그램의 실행/개발을 도와줌 • 예: • Editor • 어셈블러, 매크로 프로세서, 컴파일러 • 링커(Linker), 로더(Loader) • 사용자 인터페이스(명령 처리기) • 다음에는 어떤 일을 할까요?

  3. 매크로 프로세서(Macro Processor) • (반복되는 데이터) John Fitzgerald Kennedy • (짧은 macro 이름) JFK • 코딩하는 사람은 JFK 사용하여 코딩한다. • 컴파일 직전에 치환 (macro processing). JKF  John Fitzgerald Kennedy • 치환은 2-패스(pass)로 • pass 1: 매크로 정의를 인식 (예: JFK) (JFK -- John Fitzgerald Kennedy)저장. • pass 2: 매크로 치환작업  프로그램 번역 완성

  4. LoaderAbsolute, Relocating hole 0 hole process 1 process 1 process 1 100 process 2 200 process 3 400 hole main = 400 main = 0 번지 main() main() main() main() main() main() X= Y + Z

  5. Overlay 소스 읽기 번역하기 binary 만들기 part 1 part 1 part 2 part 3 part 2 예 번역 프로그램 시 간 part 3 Manual Overlay Dynamic Overlay

  6. Utility Program • 하드웨어를 직접 제어하지는 않지만, • 다른 프로그램의 실행/개발을 도와줌 • 예: • Editor • 어셈블러, 매크로 프로세서, 컴파일러 • 링커(Linker), 로더(Loader) • 사용자 인터페이스(명령 처리기) • 다음에는 어떤 일을 할까요?

  7. 사용자 Interface hwp binary PPT binary 탐색기 binary

  8. 사용자 Interface $ hwp binary PPT binary 탐색기 binary

  9. 사용자 Interface $ hwp_ hwp binary PPT binary 탐색기 binary

  10. 사용자 Interface GUI – Windows Graphic User Interface CUI – Linux, UNIX Character User Interface $ hwp_ programs in disk processes in memory

  11. 사용자 Interface 상주 OS “hwp”

  12. 사용자 Interface OS 상주 OS 탐색기 “hwp” email *.EXE a.out hwp Powerpoint game

  13. 사용자 Interface OS 상주 OS 탐색기 “hwp” email *.EXE a.out hwp hwp Powerpoint game

  14. 사용자 Interface OS 상주 OS 탐색기 “hwp” email *.EXE a.out hwp hwp hwp 화면 Powerpoint game

  15. 프로그래밍 언어 • 기계어 (machine language) • 00110110 • 컴퓨터가 바로 실행 가능 • 어셈블리어 (assembly language) • 기계어 명령어와 1:1 대응 • 어셈블러 (assembler) • 고급 언어 (high-level language) • X**2  여러개의 기계어 명령어 • 컴파일러(compiler) 또는 인터프리터(interpreter) 0110011011110011 10010111 ADD AB

  16. 컴파일링, 어셈블링 Source Code AddA, B A: 100 B: 330 JumpC C: exit

  17. 컴파일링, 어셈블링 Source Code AddA, B A: 100 B: 330 JumpC C: exit D: EOF Symbols

  18. 컴파일링, 어셈블링 Add 10, 20 10: 100 20: 330 Jump30 30: exit Source Code symbol address 부분 AddA, B A: 100 B: 330 JumpC C: exit

  19. 컴파일링, 어셈블링 Add 10, 20 10: 100 20: 330 Jump30 30: exit Source Code AddA, B A: 100 B: 330 JumpC C: exit 001 A, B A: 100 B: 330 112 C C: 723 op-code data 부분

  20. 컴파일링, 어셈블링 Add 10, 20 10: 100 20: 330 Jump30 30: exit Binary Code Source Code symbol address 부분 AddA, B A: 100 B: 330 JumpC C: exit • 001 10, 20 • 10: 100 • 20: 330 • 30 • 30: 723 001 A, B A: 100 B: 330 112 C C: 723 op-code 부분

  21. 컴파일링, 어셈블링 Binary Code Source Code Symbol Table AddA, B A: 100 B: 330 JumpC C: printf() • 001 10, 20 • 10: 100 • 20: 330 • 30 • 30: 723

  22. 참조한 Symbol이 그 file에 없다면?예: print() sin() my.c: main() { int x; call sin(); call printf(); } add() { } 불완전한 binary object module

  23. object module 의 예 object module: -이 파일만으로는 불완전 -binary를 만들 수 없음 예: main()이 없음 he.c: printf() { int i,j; return; } she.c: sin() { int x,y; return; } library 비슷한 종류의 object module들의 모음

  24. binary까지 세단계 Source Object Executable code module binary main.c main.o a.out (*.EXE) print.c print.o sin.c sin.o 컴파일 link

  25. 전체 과정 Source code Object module Compiler Source code Object module Linker Compiler Executable Loader library 들 Object module Object module Object module

  26. 전체 과정 사용자 인터페이스 Source code Object module Compiler Source code Object module Linker Compiler Executable Loader Executable library 들 Executable Object module Object module Object module

  27. OS의 정의

  28. 정 의 하드웨어와 사람(또는 응용 프로그램)사이 중간 역할 • 성능(Performance) 향상을 도모한다. • 사용자 인터페이스(User interface) 제공. 응용프로그램 응용프로그램 고급 인터페이스 제공 운영체제 관리 보호 하드웨어 하드웨어

  29. 광의/협의 OS 정의 응용프로그램 응용프로그램 사용자 문제 해결 프로그램 개발/실행 도우미 Utility Programs linker loader 컴파일러 광의OS 협의OS OS Kernel 자원의 관리 하드웨어 CPU Memory

  30. 운영체제의 기능 • 자원의 할당 • CPU, memory 스케줄링 등 • 편리한 인터페이스 • 사용자 인터페이스 • 입출력 device driver • 제어 • 여러 프로그램들이 자원을 공유할때 • 발생하는 문제 제어

More Related