1,设计os的目的和os的作用
os是一个负责管理软硬件资源,对作业进行调度,方便用户使用计算机的集合
1.1,目的
1.方便性:使计算机更易于使用
2.有效性:使资源利用率高,io大
3.可扩充性:方便进行修改,增加模块
4.开放性:彼此兼容
1.2,作用
1,是用户与计算机硬件之间的接口
2,对硬件资源进行抽象
3,计算机软硬件资源的管理者
2,os的发展历程
2.1,无操作系统
1,人工操作
人工将打孔的纸带输入计算机在运算,运行完毕由用户取走结果才允许下一个用户。
这类计算机具有用户独占全机,CPU等人,CPU等IO的特点。为了缓和人机矛盾与CPU,IO矛盾,引入脱机IO技术
2,脱机技术
脱机(脱离主机)在进行运算的主机外指定一台专门管理IO的外围机。先将纸带数据输入外围机的磁带上,再由外围机输入主机。
等待都是由外围机进行,缓和了IO与CPU,人工与CPU的矛盾。
2.2,单道批处理系统
批处理技术是在主机上装一个监督程序对作业和IO进行自动化处理,监督程序就是OS的雏形。
早期内存只放一个作业故称单道批处理系统。它使用脱机技术将一批作业输入到磁带上,然后由监督程序将作业装入主机并把控制权给作业,当作业运行完或异常时控制权转给监督程序。
单道批处理系统=监督程序+脱机技术
相比无操作系统提升了资源利用率增加了系统吞吐量。但是系统中只有一道程序造成内存资源的浪费,且IO与CPU不能同时运行。
2.3,多道批处理系统
多道程序设计技术:内存有多个作业,宏观上同时运行,微观上交替运行。
多道批处理系统 = 多道程序设计技术 + 一个解决作业对资源的争用共享和进行作业调度的程序
多道批处理系统为用户提供接口,形成了现代意义的操作系统。具有资源利用率高系统吞吐量大的优点,但是没有交互与作业周转时间长。
2.4,分时系统
分时系统使用时间片轮转算法,系统及时响应每个用户需求使用户可以与自己的作业进行交互解决了了人机交互问题,并且具有多路性。
分时系统的特征:
1,多路性:一个主机多个终端,共享主机
2,独立性:每个用户宏观上独占主机,互不干扰
3,及时性:系统及时响应需求
4,交互性
2.5,实时系统
实时系统时间为关键参数,必须在特定时间对某些信号做出回应,必须在截止时间做出回应的使硬实时系统,不是必须在截至时间做出回应的是软实时系统。
实时系统与分时系统相比具有分时系统的4个特点且具有可靠性。
3,os的特征与功能
3.1 特征
- 并发
并发是指多个任务同时进行,
并行性具有并发性,并发性不一定具有并行性 - 共享
共享是指系统中的资源可供多个程序同时使用,分为互斥共享与同时访问 - 虚拟
将一个物理实体抽象为若干个逻辑上的虚拟实体 - 异步
多道程序中,每个程序都以未知的速度前进
3.2 功能
- 处理机管理
进程控制
进程同步
进程通讯
进程调度 - 内存管理
内存分配
内存保护
地址映射
内存逻辑扩充 - 文件管理
文件储存空间管理
目录管理
文件读写管理与保护 - 设备管理:主要管理IO请求
设备分配
缓冲管理
设备处理 - 用户接口
- 现代操作系统的新功能
系统安全:认证技术,反病毒技术,密码技术,访问控制技术
多媒体
网络通讯
4,操作系统的结构
组织构架经历四代结构
- 无结构
无结构就是整体结构,每个部分都可以随意调用其他部分,维护不便且扩充性差 - 模块化结构
设计开发容易,但模块划分困难且模块之间有复杂的依赖关系。 - 分层式结构
每一层调用低一层的代码,依赖关系为单向。维护扩充性好。 - 微内核
在操作系统中只留下一些关键部分如时钟等,其余由运行在用户态的服务器进程负责,在模块化与层次化基础上采用OO和CS结构,普通进程向服务器进行请求服务。
微内核系统拓展性高,可靠性可移植性强,支持分布式系统,但是同样的服务需要多次切换到内核态,效率低。
鸿蒙os采用微内核,Linux使用宏内核
5,中断与异常
(1)在操作系统中,底层的基本运行在内核态中,如时钟管理,中断处理,设备驱动,进程管理,储存器管理,设备管理等。
(2)现代操作系统是靠中断运行的软件,中断机制中只有一小部分运行在内核态。
- 中断与异常定义
(1)中断分为外中断(与当前运行的程序无关)与内中断(异常)
(2)外中断如时钟中断(时间片到了),IO结束中断(IO完成)
(3)内中断一般由正在执行的程序引起,如越界,除零等。 - 系统调用
(1)计算机所有的资源由操作系统统一管理,程序要调用这些资源必须通过系统调用方式请求服务,系统调用可以视为公共子程序
(2)进程通过访管指令(trap)发起系统调用,CPU进入内核态,开始执行系统调用,结束后又返回用户态。
ps:从用户态进入内核态只能通过硬件中断(改变CPU的一个状态寄存器)