6 操作系统Operation System

操作系统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
      2
      MVI C, 16h 调用的子程序地址
      CALL 5

      CALL 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