30
Utility 프프프프 제 02 제 : Utility 제제제제

Utility 프로그램

  • Upload
    nhung

  • View
    55

  • Download
    3

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Utility  프로그램

Utility 프로그램

제 02 강 : Utility 프로그램

Page 2: Utility  프로그램

Utility Program

• 하드웨어를 직접 제어하지는 않지만 , • 다른 프로그램의 실행 /개발을 도와줌• 예 :

– Editor– 어셈블러 , 매크로 프로세서 , 컴파일러 – 링커 (Linker), 로더 (Loader) – 사용자 인터페이스 ( 명령 처리기 )

• 다음에는 어떤 일을 할까요 ?

Page 3: Utility  프로그램

매크로 프로세서(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: 매크로 치환작업 프로그램 번역 완성

Page 4: Utility  프로그램

LoaderAbsolute, Relocating

process 1

process 2

hole process 3

hole

process 10

100

400

main()

main = 0 번지 main = 400

main()

main()

main()

main()main()

hole

process 1

200

X= Y + Z

Page 5: Utility  프로그램

Overlay

part 1

part 2

part 3

part 1part 2

part 3

시 간

Manual OverlayDynamic Overlay

예 번역프로그램

소스 읽기 binary 만들기번역하기

Page 6: Utility  프로그램

Utility Program

• 하드웨어를 직접 제어하지는 않지만 , • 다른 프로그램의 실행 /개발을 도와줌• 예 :

– Editor– 어셈블러 , 매크로 프로세서 , 컴파일러 – 링커 (Linker), 로더 (Loader) – 사용자 인터페이스 ( 명령 처리기 )

• 다음에는 어떤 일을 할까요 ?

Page 7: Utility  프로그램

사용자 Interface

hwpbinary

PPTbinary

탐색기binary

Page 8: Utility  프로그램

사용자 Interface

$

hwpbinary

PPTbinary

탐색기binary

Page 9: Utility  프로그램

사용자 Interface

hwpbinary

PPTbinary

탐색기binary

$ hwp_

Page 10: Utility  프로그램

사용자 Interface

$ hwp_

GUI – WindowsGraphic User Interface

processesin

memory

programs in

disk

CUI – Linux, UNIXCharacter User Interface

Page 11: Utility  프로그램

사용자 Interface

상주OS

“hwp”

Page 12: Utility  프로그램

사용자 Interface

상주OS 탐색기

hwp

Powerpoint

game

email“hwp”

*.EXE

a.out

OS

Page 13: Utility  프로그램

사용자 Interface

상주OS 탐색기

hwp

Powerpoint

game

email“hwp”

hwp*.EXE

a.out

OS

Page 14: Utility  프로그램

사용자 Interface

상주OS 탐색기

hwp

Powerpoint

game

email“hwp”

hwp*.EXE

a.out

OS

hwp화면

Page 15: Utility  프로그램

프로그래밍 언어– 기계어 (machine language)

• 00110110• 컴퓨터가 바로 실행 가능

– 어셈블리어 (assembly language)• 기계어 명령어와 1:1 대응• 어셈블러 (assembler)

– 고급 언어 (high-level language)• X**2 여러개의 기계어 명령어 • 컴파일러 (compiler) 또는 인터프리터 (interpreter)

01100110 11110011 10010111

ADD A B

Page 16: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: exit

SourceCode

컴파일링 , 어셈블링

Page 17: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: exitD: EOF

SourceCode

컴파일링 , 어셈블링

Symbols

Page 18: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: exit

Add 10, 20

10: 100

20: 330

Jump 30

30: exit

SourceCode

symbol address

부분

컴파일링 , 어셈블링

Page 19: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: exit

Add 10, 20

10: 100

20: 330

Jump 30

30: exit

SourceCode

001 A, B

A: 100

B: 330

112 C

C: 723

op-code data부분

컴파일링 , 어셈블링

Page 20: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: exit

Add 10, 20

10: 100

20: 330

Jump 30

30: exit

SourceCode

BinaryCode

001 A, B

A: 100

B: 330

112 C

C: 723

op-code 부분

symbol address

부분001 10, 20

10: 100

20: 330

112 30

30: 723

컴파일링 , 어셈블링

Page 21: Utility  프로그램

Add A, B

A: 100

B: 330

Jump C

C: printf()

SourceCode

BinaryCode

001 10, 20

10: 100

20: 330

112 30

30: 723

컴파일링 , 어셈블링

Symbol Binary

A 10 번지 B 20 번지C 30 번지

printf ----

… ----

Symbol Table

Page 22: Utility  프로그램

참조한 Symbol 이 그 file 에 없다면 ?예 : print() sin()

my.c: main() { int x; call sin(); call printf();}

add(){

}

symbol binary 값main 0 번지

x 10 번지 printf 이 파일에는 없음

add 50 번지 …

불완전한 binaryobject module

Page 23: Utility  프로그램

object module 의 예

he.c: printf() { int i,j; return;}

object module: - 이 파일만으로는 불완전 -binary 를 만들 수 없음예 : main() 이 없음

she.c: sin() { int x,y; return;}

library 비슷한 종류의 object module 들의 모음

Page 24: Utility  프로그램

binary 까지 세단계

Source Object Executable code module binary

main.c main.o

a.out (*.EXE)

print.c print.osin.c sin.o

컴파일 link

Page 25: Utility  프로그램

전체 과정

Linker Loader

Sourcecode

Objectmodule

ExecutableSourcecode

ObjectmoduleCompiler

Compiler

Objectmodule

Objectmodule

Objectmodule

library 들

Page 26: Utility  프로그램

전체 과정

Linker Loader

Sourcecode

Objectmodule

ExecutableSourcecode

ObjectmoduleCompiler

Compiler

Executable

Executable

사용자인터페이스

사용자인터페이스

Objectmodule

Objectmodule

Objectmodule

library 들

Page 27: Utility  프로그램

OS 의 정의

Page 28: Utility  프로그램

정 의

하드웨어와 사람 ( 또는 응용 프로그램 ) 사이중간 역할

– 성능 (Performance) 향상을 도모한다 . – 사용자 인터페이스 (User interface) 제공 .

하드웨어

운영체제

응용프로그램응용프로그램 고급 인터페이스

제공

관리 보호

하드웨어

Page 29: Utility  프로그램

하드웨어

OS Kernel

loaderlinker

응용프로그램 응용프로그램

Utility Programs

협의 OS광의 OS

컴파일러

광의 /협의 OS 정의

CPU Memory

사용자 문제 해결

프로그램 개발 /실행도우미

자원의 관리

Page 30: Utility  프로그램

운영체제의 기능

• 자원의 할당– CPU, memory 스케줄링 등

• 편리한 인터페이스– 사용자 인터페이스 – 입출력 device driver

• 제어– 여러 프로그램들이 자원을 공유할때– 발생하는 문제 제어