操作系统Operation System
一、初始化代码、键盘处理程序、命令处理程序
-
初始化代码:
背景:所有的RAM启动时都包含随机字节
-
内存置为全空格
-
堆栈指针初始化
-
OUT指令实现光标复位
-
EI指令开启中断
-
HLT指令完成中断
-
-
键盘处理程序:
当按下键盘按键的时候,微处理器就会响应,从初始化代码程序的末尾的HLT语句跳转到键盘处理程序。
-
IN指令检测哪个按键被按下
-
RET指令返回
-
回显:把按下的键显示回原光标所在处。
-
-
命令处理程序
-
W命令(Write):把若干字节写入内存
-
D命令(Display):便于查看内存中的内容
-
R命令(Run):运行程序,具体过程是:先把要执行程序开头地址存储到存储器HL中,再执行指令PCHL,把存储的值加载到程序计数器中,跳转到程序计数器指向的地址并运行程序。
-
二、操作系统
-
文件系统:磁盘组织成文件,是操作系统的一部分
-
操作系统:许多软件构成的,庞大的程序集合。
-
操作系统的目录
-
目录项:32字节(8080中)
-
8.3命名方式:aabbccdd.txt
-
目录项扩展:文件长度过长,两个目录项,第12字节一个置0一个置1,文件拼接
-
-
CM/P:早期的8位微处理器操作系统
-
COM文件:二进制文件,存放机器码
-
操作系统的引导:当ROM存在时,RAM必须给ROM让位,内存一开始的那一部分属于ROM,在这里存储一段引导程序。开机后将引导程序加载到内存并运行。
-
内存空间组织架构
操作系统完成引导后,RAM的最高地址区域用来存放CP/M,加载完CP/M后,内存空间组织结构如下:
| 0000h | 系统参数 |
|---|---|
| 0100h | 临时程序区域(TPA) |
| 控制台命令处理程序(CCP)【CP/M三大部分】 | |
| 基本磁盘操作系统(BDOS)【CP/M三大部分】 | |
| 最高地址 | 基本输入/输出系统(BIOS)【CP/M三大部分】 |
- 控制台可识别命令
| 命令 | 内容 |
|---|---|
| DIR | 显示磁盘的目录信息 DIR *.txt:显示所有txt文件 |
| ERA | 删除磁盘中的文件 |
| REN | 改变文件名 |
| TYPE | 显示文本文件的内容 |
| SAVE | 保存文件 |
执行二进制文件:直接输入名字即可。
-
实用程序:
-
外设交换设备(PIP):用于复制文件
-
文本编辑器(ED):创建和修改文件
-
-
应用程序接口(API):
一些子程序,以操作系统为中介来访问硬件系统
-
新建一个文件的工作:首先将文件地址保存到寄存器对DE中,再执行:
1
2MVI C, 16h 调用的子程序地址
CALL 5CALL 5执行过程:CP/M在0005h处设置了一条JMP指令(Jump),跳转到CP/M基本磁盘操作系统(BDOS),利用CP/M提供的其他功能向磁盘中创建的空文件写入内容,最后关闭文件。BDOS在工作时还要调用CP/M基本输入输出系统(BIOS),BIOS可以对硬件进行访问 -
总结:OS提供应用程序接口(API),让程序能够方便地访问计算机的硬件。API是一个与设备无关(device-independent)的接口,它屏蔽了硬件之间的差异。使得CP/M的程序跨平台成为现实
-
-
发展历史:
CP/M—>MS-DOS
-
文件系统以FAT形式,后来出现层次文件系统,根目录概念出现
-
将txt等叫作扩展名
-
将磁盘空间分成簇
-
新增EXE的可执行文件。
- 后来新增:软件中断:不需要知道子程序地址直接执行中断。
Multics---->UNIX
-
可移植性好
-
时分复用技术:多个用户同时与计算机进行交互(多任务操作系统)
-
虚拟内存技术:暂时不需要内存放到磁盘的 ”临时文件“ 部分,需要时再调入内存
-
-
GNU项目开发的Linux