操作系统之概述
L1. 什么是操作系统
- 计算机硬件和应用之间的一层如软件,高效的使用硬件
CPU管理,内存管理,终端管理,磁盘管理,文件管理等
能够修改操作系统,认真做8个实验
L2 进入操作系统内部
计算机怎么工作的???
- 图灵机模型
- 从图灵机到通用图灵机
- 设置控制器,相当于当前的应用程序
- 计算工作:取指执行
PC程序计数器,自动执行后面的
- 计算机启动的过程
- cs断寄存器,和ip断寄存器偏移;cs和ip合在一起构成内存地址
- 电脑启动的时候,内存固有一段代码程序,在0xffff0处
- 1个扇区5121字节,0磁道0扇区操作系统的引导扇区,这512个字节里面写的什么,其他指令在这之后执行
- 引导扇区代码
bootsect.s
汇编代码 产生启动logo
- 启动执行的过程
L3 操作系统启动
- 将磁盘的操作系统读入到内存中(加载系统)
- 然后就是
setup,s
汇编,初始化过程,读入内存大小 - 完成OS启动前的设置,获得硬件上的各种信息,生成各种管理表,数据结构,方便后续管理
从0地址开始是操作系统,之上是各种应用程序
system
模板执行,该模块的第一部分代码head.s
,多文件编译而成。- 4k一页,初始化内存页面
操作系统启动过程:读入硬件参数,然后初始重要的管理硬件的数据结构。
L4操作系统的接口
- 命名行
- 图形按钮,消息处理函数,从消息队列中获得消息
GetMessage
- 普通的C函数+重要的函数(操作系统的
- 口,由系统提供,称为系统调用)
- 系统调用的常见函数
- 应用程序如果调用的各种操作系统共同的接口,这样的应用程序就能在各种操作系统下运行。
POSIX
文档,查询系统调用函数。
L5系统调用的实现
- 系统调用就是调用重要的函数
应用程序想访问操作系统的的内核函数,问什么不能直接调用。系统安全考虑,不能随意访问
主动进入内核的方法,int中断
L6操作系统历史
1965-1980
多道程序,作业之间的切换和调度成为核心。多进程和进程管理概念萌芽。当前任务执行不下去的时候才切换。1965-1980
分时系统,不同人不同时间控制一段作业,核心仍然是任务切换,这个是定时切换。windows server就是多人操作。1980-1990
Unix成功。1990-2000
Linux成功。- PC与DOS:
CP/M
写命令让用户用,执行命令对应的程序,单任务执行。 Bill Gates
8800开发了BASIC解释器,开发了FAT管理(文件)磁盘走的符合人们使用习惯的路线
还有
Mac OS && ios
核心是Unix.
L7我们的任务
- 具体的框图
- 更具体的说明,设备文件