System Programming 제3장 로더와 링커 컴퓨터공학부 시스템 프로그래밍.

Slides:



Advertisements
Similar presentations
Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
Advertisements

3 학년 문제가 남느냐, 내가 남느냐 1. ( 아씨방 일곱 동무 ) 아씨의 방에는 바느질을 위한 친구가 몇 명이 있었나요 ? 정답은 ? 일곱.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
화일구조.
2. 문학의 활동 방법 [1] 문학의 수용 01 소설가 구보 씨의 일일 작가 소개 작품 정리 읽기 중 활동 학습 활동.
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
LAN의 구성 요소 장서진 정영환.
ISA 심화 및 start.S code 분석 SIOR 15th 최재훈.
2.3.2 기호 정의문 EQU 프로그래머 기호 정의하고 그 값 지정 기호 정의 기호 값 예 기호 EQU 값
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
Linux/UNIX Programming APUE (The Environment of a UNIX Process)
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
소프트웨어와 운영체제.
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
사용자 메뉴얼 차량용 4CH 블랙박스 매뉴얼 버전 : Version 2.1 Hardware Version : 2.0
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
기본 컴퓨터의 구조와 설계 Lecture #5.
고교평준화의 득과 실 김영주 이지영 최윤영.
사용자 메뉴얼 차량용 4CH 블랙박스 매뉴얼 버전 : Version 1.1 Hardware Version : 1.0
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
Lecture # 어셈블러 설계.
FUSING.
컴퓨터 구조학 정보보호학과.
제 3 장 로더와 링커(Loaders and Linkers)
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
6장. 기 억 장 치 Lecture #6.
System Programming 제1장 배경지식 시스템 프로그래밍.
Embedded System Porting (2)
Chapter 06 명령어와 번지지정 방식.
Operating System System Program OS의 목적 OS의 종류 Application Program과 구별
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
제 1장 시스템 소프트웨어의 개요.
Computer System Architecture
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
문자 디바이스 드라이버 임베디드 시스템.
[ 포털 사이트 연관검색어/자동완성 등록 서비스 ]
2015. 인문소양교육.
고구려,백제,신라의 건국과 발전 Start!
기억장치 관리(Memory Management)
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
운영체제 (Operating Systems) (Memory Management Strategies)
제 2 장 어셈블러(Assemblers) 2.1 기본 어셈블러 기능 단순 SIC 어셈블러
이행점검/현장점검관리.
Operating System Multiple Access Chatting Program using Multithread
화일구조.
자동 매크로 만들기 매크로 실행하기 매크로 편집하고 응용하기
SIMPLE CALL Client 사용설명서
C언어 개론.
03. 메모리 관리 C++ 프로그램에서 다룰 수 있는 메모리의 종류
“엄마 목소리 동화책” 시나리오 “엄마 목소리 동화책” 서비스 시나리오 2010년 10월 15일 Hyeunjin Soft.
양궁게임 게임기획서 1차안 2011/01/17 최가운.
Stream의 이해 : System Bufferring
기억장치 관리(Memory Management)
화 일 구 조 Chapter 3 화일의 입출력 제어.
성공적인 입사지원서 작성법 제이비커리어 교육수석 소 은 선.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 6주차 대림대학교 2017년도 1학기 강의 왕보현
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
Presentation transcript:

System Programming 제3장 로더와 링커 컴퓨터공학부 시스템 프로그래밍

3. 로더와 링커 어셈블러 로드(loading), 재배치(relocation), 링크(linking) 로더 3.1절 3.2절 목적 프로그램 명령어와 데이터의 값 : 로드될 메모리의 주소 지정 로드(loading), 재배치(relocation), 링크(linking) 로더 재배치와 링크의 기능 제공 각각 따로 있는 시스템도 존재 프로그램 번역과 로더의 관계 이해 3.1절 절대 로더(absolute loader) 설계, 운영 3.2절 로더 관점의 재배치 및 링크 문제 3.3절 기계 구조와 관계없는 로더의 특징 3.4절 로더의 기능 구현 시스템 프로그래밍

3.1 기본적인 로더의 기능 로더의 기본 기능 목적 프로그램을 메모리로 가져오고 실행하도록 하는 기능 절대 로더의 기능 및 설계 절대 로더 알고리듬의 윤곽 시스템 프로그래밍

3.1.1 절대 로더의 설계 절대 로더(SIC 어셈블러와 연관) 주의 사항 링크와 프로그램 재배치 기능이 필요 없음 모든 기능 : 단일 패스로 실행 헤더와 사용 가능 메모리의 검사 목적 프로그램을 지정된 주소로 이동 실행을 위해 지정된 주소로 점프(END 레코드) 주의 사항 목적 프로그램의 표현 명령어의 목적 코드를 16진수에 해당하는 문자로 표현 예) STL 명령어 opcode 14를 “1”과 “4”의 문자로 표현 메모리에 로드 될 때 Packing되어야 함 시스템 프로그래밍

3.1.2 간단한 부츠트랩 로더 부츠트랩 로더(Bootstrap Loader) 원시 코드(그림 3.3) 컴퓨터를 켜거나 다시 시작할 때 실행되는 최초의 프로그램(OS)를 로드 원시 코드(그림 3.3) 0번지 시작, 80번지에 OS 로드 입력 장치 F1을 통해서 프로그램 입력 GETC 부루틴이 작업의 대부분 수행 ASCII 문자의 숫자 값 변환 F1에 파일 끝(16진수 04)이면 80번지로 점프 시스템 프로그래밍

3.1.2 간단한 부츠트랩 로더 BOOT START 0 CLEAR A A 0 LDX #128 X 128(16진수 80) LOOP JSUB GETC L (PC); PC GETC의 주소 RMO A,S S (A) SHIFTL S,4 S (S); 4bits를 왼쪽SHIFT JSUB GETC L (PC); PC GETC의 주소 ADDR S,A A (A)+(S) STCH 0,X 주소 0+(X)번지 (A) TIXR X,X X (X)+1; (X) : (X)+(X) J LOOP PC  LOOP의 주소 시스템 프로그래밍

3.1.2 간단한 부츠트랩 로더 GETC TD INPUT INPUT 주소의 입력 장치 조사 JEQ GETC PCGETC의 주소(if ‘=‘) RD INPUT A[오른쪽 4bits]data COMP #4 (A) : 4<end-of-file 검사> JEQ 80 PC80(if ‘=‘) COMP #48 (A) : 48<character ‘0’ 검사> JLT GETC PCGETC의 주소(if ‘<‘) SUB #48 A (A)-(16진수) 30 COMP #10 (A) : 10<character ‘A’ 검사> JLT RETURN PCRETURN의 주소(if ‘<‘) SUB #7 A (A)-7 RETURN RSUB PC (L) INPUT BYTE X’F1’ END LOOP 시스템 프로그래밍

3.2 기계 종속적인 로더의 특징 절대 로더의 결점 프로그램의 재배치와 링크 기능 3.2.1절 3.2.2절 3.2.3절 프로그램의 메모리 로드시 로드될 실제 주소 : 프로그래머가 지시 몇 개의 독립적인 프로그램이 자원 공유하면서 실행 부루틴 라이브러리의 사용에 어려움 부루틴이 절대 주소를 갖고 있으면 효과적 사용 어려움 프로그램의 재배치와 링크 기능 로더의 설계에 영향을 미치는 기계 구조 3.2.1절 구현 기술 종속성 3.2.2절 로더 관점의 프로그램 링크 3.2.3절 링크와 로더의 자료 구조와 관련 논리 시스템 프로그래밍

3.2.1 재배치 재배치 로더(relocation loader) 재배치 방법(두가지 방법) 상대적 로더(relative loader) 재배치 방법(두가지 방법) 수정 레코드의 사용 변경될 필드에 대한 시작 주소와 길이 예) M00000705+COPY 프로그램 재배치 지정 편리 모든 기계에서 적합하지는 않음(SIC) 재배치 비트(relocation bit) 고정된 명령어 형식 수정 레코드 사용 안 함 재배치 비트 하나가 하나의 워드에 대응(비트 마스크) 재배치 비트 1  프로그램 재배치 시 시작 주소 더함 비트마스크(EFC 1111 1111 1100) : 목적 코드 10개 수정(그림 3.7) 시스템 프로그래밍

3.2.2 프로그램 링크 제어섹션, 외부 참조 로더 독립적으로 어셈블된 세 개의 프로그램(그림 3.8) 독립적 어셈블, 별개의 세그먼트의 목적 코드 로더 링크, 재배치, 로드되어야 하는 제어섹션 독립적으로 어셈블된 세 개의 프로그램(그림 3.8) LISTA, LISTB, LISTC ENDA, ENDB, ENDC에 의해 끝 표시 외부 기호에 대한 참조 집합 시스템 프로그래밍

3.2.2 프로그램 링크 0000 PROGA START 0 EXTDEF LISTA, ENDA EXTREF LISTB,ENDB,LISTC,ENDC . 0020 REF1 LDA LISTA 03201D 0023 REF2 + LDT LISTB+4 77100004 0027 REF3 LDX #ENDA-LISTA 050014 0040 LISTA EQU * 0054 ENDA EQU * 0054 REF4 WORD ENDA-LISTA+LISTC 000014 0057 REF5 WORD ENDC-LISTC-10 FFFFF6 005A REF6 WORD ENDC-LISTC+LISTA-1 00003F 005D REF7 WORD ENDA-LISTA-(ENDB-LISTB) 000014 0060 REF8 WORD LISTB-LISTA FFFFC0 END REF1 시스템 프로그래밍

H PROGA 000000 000063 D LISTA 000040 ENDA 000054 R LISTB ENDB LISTC ENDC REF2 T 000020 0A 03201D 77100004 050014 REF4 REF5 REF6 REF7 REF8 T 000054 0F 000014 FFFFF6 00003F 000014 FFFFC0 REF2 M 000024 05 +LISTB REF4 M 000054 06 +LISTC REF5 M 000057 06 +ENDC REF5 M 000057 06 -LISTC REF7 M 00005D 06 -ENDB REF6 M 00005A 05 +ENDC REF7 M 00005D 06 +LISTB REF6 M 00005A 06 -LISTC REF8 M 000060 06 +LISTB REF6 M 00005A 06 +PROGA REF8 M 000060 06 -PROGA E 000020 시스템 프로그래밍

3.2.2 프로그램 링크 0000 PROGB START 0 EXTDEF LISTB, ENDB EXTREF LISTA,ENDA,LISTC,ENDC . 0036 REF1 + LDA LISTA 03100000 003A REF2 LDT LISTB+4 772027 003D REF3 + LDX #ENDA-LISTA 05100000 0060 LISTB EQU * 0070 ENDB EQU * 0070 REF4 WORD ENDA-LISTA+LISTC 000000 0073 REF5 WORD ENDC-LISTC-10 FFFFF6 0076 REF6 WORD ENDC-LISTC+LISTA-1 FFFFFF 0079 REF7 WORD ENDA-LISTA-(ENDB-LISTB) FFFFF0 007C REF8 WORD LISTB-LISTA 000060 END 시스템 프로그래밍

H PROGB 000000 00007F D LISTB 000060 ENDB 000070 R LISTA ENDA LISTC ENDC REF1 REF3 T 000036 0B 03100000 772027 05100000 REF4 REF5 REF6 REF7 REF8 T 000070 0F 000000 FFFFF6 FFFFFF FFFFF0 000060 REF1 M 000037 05 +LISTA REF6 M 000076 06 +ENDC REF3 M 00003E 05 +ENDA REF6 M 000076 06 -LISTC REF3 M 00003E 05 -LISTA REF6 M 000076 06 +LISTA REF4 M 000070 06 +ENDA REF7 M 000079 06 +ENDA REF4 M 000070 06 -LISTA REF7 M 000079 06 -LISTA REF4 M 000070 06 +LISTC REF8 M 00007C 06 +PROGB REF5 M 000073 06 +ENDC REF8 M 00007C 06 -LISTA REF5 M 000073 06 -LISTC E 시스템 프로그래밍

3.2.2 프로그램 링크 0000 PROGC START 0 EXTDEF LISTC, ENDC EXTREF LISTA,ENDA,LISTB,ENDB . 0020 REF1 + LDA LISTA 03100000 0023 REF2 + LDT LISTB+4 77100004 0027 REF3 + LDX #ENDA-LISTA 05100000 0040 LISTC EQU * 0054 ENDC EQU * 0054 REF4 WORD ENDA-LISTA+LISTC 000030 0057 REF5 WORD ENDC-LISTC-10 000008 005A REF6 WORD ENDC-LISTC+LISTA-1 000011 005D REF7 WORD ENDA-LISTA-(ENDB-LISTB) 000000 0060 REF8 WORD LISTB-LISTA 000000 END 시스템 프로그래밍

H PROGC 000000 000051 D LISTC 000030 ENDC 000042 R LISTA ENDA LISTB ENDB REF1 REF2 REF3 T 000018 0C 03100000 77100000 05100000 REF4 REF5 REF6 REF7 REF8 T 000042 0F 000030 000008 000011 000000 000000 REF1 M 000019 05 +LISTA REF7 M 00004B 06 +ENDA REF2 M 00001D 05 +LISTB REF7 M 00004B 06 -LISTA REF3 M 000021 05 +ENDA REF7 M 00004B 06 -ENDB REF3 M 000021 05 -LISTA REF7 M 00004B 06 +LISTB REF4 M 000042 06 +ENDA REF8 M 00004E 06 +LISTB REF4 M 000042 06 -LISTA REF8 M 00004E 06 -LISTA REF4 M 000042 06 +PROGC E REF6 M 000048 06 +LISTA 시스템 프로그래밍

3.2.2 프로그램 링크 REF1의 참조 REF2의 참조 REF3의 참조 PROGA : 단순한 기호의 참조(PC 주소 지정 방식으로 해석) PROGB(PROGC) 외부 참조(확장 명령어 형식, 주소 00000) 수정 레코드의 사용 REF2의 참조 PROGA (PROGC) 외부 참조(확장 명령어 형식, 주소에 상수 저장 00004) PROGB : 단순한 기호의 참조(PC 주소 지정 방식으로 해석) REF3의 참조 PROGA 필요한 리스트 가지고 있음 PROGB 외부 참조 시스템 프로그래밍

  PROGA HPROGA . . . 메모리 내용 0000 (REF4) T 000054 0F 000014 4050 004126  M 000054 06 +LISTC PROGC HPROGC . . . D LISTC 000030  4112 로드 주소 LISTC의 실제주소 PROGA 004000 PROGB 004063 PROGC 0040E2 시스템 프로그래밍

3.2.3 링킹로더에 대한 알고리듬 및 자료 구조 링킹 로더 데이터 구조 로더의 입력 : 목적 프로그램들의 집합 2 패스의 실행 외부 참조 기호가 나타날 때까지 실제 로드된 주소를 알 수 없음 패스 1 모든 외부 참조 기호에 대해 주소 할당 패스 2 실제적인 로딩, 재배치, 링킹의 실행 데이터 구조 외부 기호 테이블(ESTAB) : 어셈블러 SYMTAB과 유사 제어섹션 내의 외부 기호 이름, 주소 저장 어떠한 제어섹션에서 정의되어 있는지 가리킴 주요 변수 PROGADDR : 프로그램 로드 주소 CSADDR : 제어섹션 주소 시스템 프로그래밍

3.2.3 링킹로더에 대한 알고리듬 및 자료 구조 패스 1 헤더와 정의 레코드(D) 링크된 프로그램의 시작 주소(PROGADDR)는 OS로부터 얻음 첫번째 CSADDR = PROGADDR ESTAB 제어섹션 기호이름 주소(CSADDR) 길이(CSLTH) PROGA LISTA ENDA 4000 4040 4054 0063 PROGB 4063 40C3 40D3 007F PROGC 40E2 4112 4124 0051 시스템 프로그래밍

3.2.3 링킹로더에 대한 알고리듬 및 자료 구조 패스 2 마지막 단계 : 실행하기 위한 제어 이동(운영체제에게) 실제적인 로딩, 재배치, 링킹의 수행 CSADDR은 패스 1에서 실제 로드되는 곳의 주소 포함 목적코드는 명시된 주소(CSADDR의 값)로 이동 수정레코드 : ESTAB에서 발견, 수정 수행 마지막 단계 : 실행하기 위한 제어 이동(운영체제에게) 프로그램의 실행은 END에서 명시한 주소에서 시작 하나 이상의 제어 섹션에서 시작 주소 명시 로더의 독단에 의해 최근에 만난 것 실행 없으면 링크된 프로그램의 시작(PROGADDR)에서 실행 일반적 주 프로그램의 END 레코드에 존재 목적 프로그램의 변경 외부 참조 기호에 번호 할당 시스템 프로그래밍

3.3 기계 독립적인 로더의 특징 3.3.1절 3.3.2절 자동 라이브러리 검색 처리 외부 참조 처리 부루틴을 명시적으로 포함하지 않고 요구시 자동으로 로드하여 처리 3.3.2절 로드와 링크시 정해지는 일반적인 선택 사항 입력의 선택 지정 외부 참조의 변경 및 삭제 외부 참조의 자동 처리 조절 시스템 프로그래밍

3.3.1 자동 라이브러리 검색 표준 라이브러리 라이브러리 탐색(library search) 라이브러리 파일 구조 로드되는 프로그램에 자동으로 포함되는 라이브러리 프로그래밍 언어의 일부인 것처럼 사용 호출되는 부루틴은 자동으로 로드, 링크 됨 자동 라이브러리 호출(automatic library call) 라이브러리 탐색(library search) 참조 레코드의 기호가 현재 ESTAB존재 하지 않으면 ESTAB에 기입하고 아직 정의되지 않았음을 표시 패스 1이 끝난 후 정의되지 않은 기호(미해결 외부 참조 표시) 지정된 라이브러리 탐색 발견된 부루틴은 프로그램의 일부인 것처럼 처리 프로그래머가 만든 부루틴의 제공 표준 부루틴의 무시 가능 라이브러리 파일 구조 디렉토리 루틴의 이름과 파일 내의 주소를 가리키는 진입점 저장 시스템 프로그래밍

3.3.2 로더의 선택사항 표준 로더의 기능 변경 원시 프로그램의 선택 외부 기호나 제어섹션의 제거 외부 기호의 변경 특별한 명령어 이용 운영 체제에 의해 처리 : 작업 제어 언어 원시 프로그램의 선택 라이브러리의 목적 프로그램을 기본 로더의 입력처럼 취급 INCLUDE program-name(library-name) 외부 기호나 제어섹션의 제거 DELETE csect-name 외부 기호의 변경 CHANGE name1, name2 시스템 프로그래밍

3.3.2 로더의 선택사항 INCLUDE READ(UTLIB) INCLUDE WRITE(UTLIB) DELETE RDREC, WRREC CHANGE RDREC, READ CHANGE WRREC, WRITE 탐색할 라이브러리의 지정 LIBRARY MYLIB 표준 라이브러리 탐색 전에 탐색 수행되지 않는 루틴의 링크나 로딩의 회피 NOCALL STDDEV, PLOT, CORREL 시스템 프로그래밍

3.4 로더 설계의 선택사항 링크 로더 다른 방법 3.4.1절 링크 편집기 3.4.2절 동적 링크 3.4.3절 부츠트랩 로더 로드시간에 모든 링크와 재배치 수행 다른 방법 링크 편집기(linkage editor) 로드 시간 이전에 링크 수행 동적 링크(dynamic linking) 링크 기능 : 실행 시간에 수행 3.4.1절 링크 편집기 링크와 재배치 수행 메모리에 즉시 로드되지 않음(라이브러리나 파일로 작성) 3.4.2절 동적 링크 호출되는 부프로그램 로드 : 운영 체제 기능 사용 3.4.3절 부츠트랩 로더 운영체제 또는 로더에 무관한 프로그램 실행 운영 체제나 로더 자체의 로드 시스템 프로그래밍

3.4.1 링크 편집기 링크로더 링크편집기 목적 프로그램 목적 프로그램 라이브러리 링크 편집기 라이브러리 링크 로더 링크된 메모리 재배치 로더 메모리 시스템 프로그래밍

3.4.1 링크 편집기 링크 편집기 링크된 프로그램의 실행 : 재배치 로더가 메모리 로드 목적 코드의 수정 : 프로그램 내 + 실제 로드 주소 프로그램의 여러 번 실행 외부 참조와 라이브러리 탐색은 한번만 수행 링크 로더는 실행될 때마다 수행 링크된 프로그램은 메모리에 나타날 형태와 같음(이미지) 시스템 프로그래밍

3.4.2 동적 링크 링커 에디터 동적 링킹 로드되어지기 전에 링킹 연산의 수행 실행 시간까지 링킹 기능을 연기하는 방법 호출되어질 때 프로그램의 나머지에 로드되고 링크됨 부루틴이나 라이브러리의 공유 시스템 프로그래밍

3.4.2 동적 링크 로드 호출 ERRHANDL 라이브러리 동적로더 (운영체제 부분) 동적로더 (운영체제 부분) 사용자 프로그램 사용자 프로그램 ERRHANDL 시스템 프로그래밍

3.4.2 동적 링크 로드 호출 ERRHANDL 동적로더 (운영체제 부분) 동적로더 (운영체제 부분) 동적로더 사용자 프로그램 사용자 프로그램 사용자 프로그램 로드 호출 ERRHANDL ERRHANDL ERRHANDL ERRHANDL 시스템 프로그래밍

3.4.3 부츠트랩 로더 로더 자체의 메모리 로드 하드웨어 신호 발생(전원을 켰을 경우) 중간적 해결 메모리에 아무 것도 없는 컴퓨터 첫번째 로드되는 것은 절대 주소로 명시 하드웨어 신호 발생(전원을 켰을 경우) 연산자가 필요한 경우(절대 로더를 메모리에 로드하기 위한) 절대 로더 프로그램의 ROM 상주 중간적 해결 아주 짧은 ROM 프로그램 사용 레코드가 저장되어 있는 메모리로 이동 이 레코드는 절대 프로그램(OS 등)을 로딩 부츠트랩(BOOTSTRAP) 시스템 프로그래밍