5. 초기화 코드
(initialization code)
1. 스택포인터 설정
2. 영상표시장치 20h 로 초기화 및
커서 위치 설정.
3. 인터럽트 활성화 EI(Enable Interrupt)
4. HLT
6. 키보드
1. 키입력
2. 마이크로프로세서의 인터럽트 신호 발생
3. 키보드 처리 프로그램에서
IN 명령으로 키 판단
4. 키 처리
5. RET 명령어로 HLT로 복귀.
7. 키입력 처리
✦ 입력키가 문자, 숫자, 구두점에 해당되면,
키보드 스캔 코드을 이용하여 Shift키가 눌렸
는지 여부를 확인하여 정확한 ASCII 부호를
결정.
✦ 영상표시장치에 커서 위치 메모리에 기록.
✦ 키입력을 반향(echo)시킨다라고 함.
8. 키보드 처리 프로그램
(추가 명령)
✦ W, D, R
✦ W 1020 35 4F 78 23 9B AC 67 ; Write
✦ D 1030 ; Display
✦ R 1000 ; Run
9. ROM
✦ 초기화 코드, 각종 처리 프로그램을 제어판
을 이용하여 입력하지 말고, 키보드를 이용.
✦ 전원을 꺼도 저장되도록 읽기 전용 메모리
(ROM)에 저장.
✦ 8080 -> ROM 을 0000h 주소로 설정.
10. 디스크
✦ 프로그램과 데이터를 디스크에 저장
✦ 전원이 꺼지면 데이터가 사라지는 RAM보다
안전하며, ROM에 저장하는 것보다 쉽게 변
경 가능
11. 파일 시스템
✦ S 2080 2 15 3 ; Store
✦ L 2080 2 15 3 ; Load
✦ 디스크 저장장치에 있는 데이터가 파일의 형
태를 가지도록 만드는 방법.
12. 운영체제
✦ 파일 시스템, 키보드 처리 프로그램과 명령
어 처리기... 운영체제의 일부.
13. CP/M
✦ CP/M (Control Program for Micros)
✦ 8080 마이크로프로세서
✦ 게리 킬달
✦ 8인치 단면 디스켓
✦ 77트랙, 트랙당 26섹터, 섹터당 128바이트
✦ 총 256,256 바이트
14. 부팅
✦ ROM에는 부트스트랩 로더(bootstrap
loader) 를 설치.
✦ 로더는 디스켓에서 맨 처음 128바이트를 수
행.
✦ 이 디스켓 섹터에는 나머지 CP/M을 로딩하
는 프로그램이 있음.
15. CP/M 메모리 배치 상태
✦ 기초 입출력 시스템(BIOS),
기본 디스크 운영 체제(BDOS),
콘솔 명령어 처리기(CCP)는 약
6KB 정도.
✦ 전체 64KB에서 임시 프로그램
영역(TPA)가 58KB 차지.
✦ 초기 TPA에는 어떤 프로그램도
로딩되어 있지 않음.
16. CCP, TPA
✦ 콘솔은 키보드와 화면을 통칭하는 말
✦ 프롬프트(prompt)
A>
✦ DIR, DIR *.TXT, ERA *.TXT, TYPE A.TXT
✦ 인식할 수 없는 명령어인 경우
저장된 다른 프로그램 이름이라 추정.
✦ 0100h TPA영역에 로딩, 수행함.
✦ ED, PIP 는 제공, 워드프로세서... 구입.
17. API
✦ 운영체제는 컴퓨터 하드웨어에 쉽게 접근할 수 있는
프로그램을 제공해줌.
✦ 이러한 접근 방법을 응용프로그램 인터페이스(API)
라고 함.
✦ MVI C, 16h
CALL 5 ; create empty file
✦ 메모리 0005h 번지에는 CP/M에 의해 설정된 JMP
명령어가 있어 BIOS 서브루틴으로 분기.
✦ API는 컴퓨터 하드웨어에 대한 장치 독립적 인터페
이스를 제공.
18. DOS
✦ 팀 패터슨이 만든 QDOS(Quick and Dirty
Operating System)을 마이크로소프트사가
라이선스 함
✦ 이후 IBM 이 MS-DOS 를 라이선스 함.
✦ MS는 FAT 방식 개발/도입.
✦ INT 21h 제공.
✦ MS-DOS 2.0 은 계층적 파일 시스템 제공.
19. UNIX
✦ 1970년대 초반 벨연구소의 켄 톰슨과 데니스
리치가 개발.
✦ 시분할(timesharing) 기법을 이용한
멀티 태스킹 운영체제.
✦ 가상 메모리(virtual memory) 기법.
✦ GNU, Linux