操作系统概念
操作系统的结构:
第一部分:概述
第二部分:进程与调度
占用分量比较大
其中设计到进程的数据结构与进程的概念,进程调度的一些算法
进程的一些冲突的解决方案
手机为多线程与多进程的系统,对资源有着高度的竞争
如何解绝这些
进程管理实际上是处理器的管理=CPU(最贵的)
CPU最能决定机器的性能与价格
第三部分:存储管理
例如装机有内存条
在操作系统是重要的存储资源
存储器
指内存
其中CPU与内存实质上是指机器的硬件
第四部分:设备管理
外部设备
例如打印机、鼠标、键盘等
第五部分:文件管理(外存)
第一章
概述:
关于操作系统的几种观点:
1、把操作系统作为一种系统来进行设计
2、分析操作系统的功能性与非功能性的需求
只做需求分析
3、了解操作系统的发展
发展驱动原因
操作系统的类型与特征
4、操作系统的体系的结构
简单(单道)批处理系统
多道:运行的多线程、多进程称之为多道
单道:运行的单进程、单线程称之为单道:只能允许一个进程或线程运行在系统里面
道:运行在系统里面的进程的数量或者线程的数量
批处理:有一批作业等待进入内存,在外存等待而不是在内存等待
系统里面有内存与外存
外存可以有一批作业在等待,但是进入内存只能允许一个作业运行(单道批处理系统为例)
多道程序设计技术:多道进程同时驻留到内存去,进而多个进程相互竞争资源
如何竞争有序和高效率
单道程序设计技术:只允许一个进程驻留在内存里面
分时系统:分时的运行多个进程
一个进程运行一毫秒,然后切换下一个进程,在切换下一个进程
并发与并行:
了解操作系统的一般的体系结构:
执行的模式:单模式、多模式、双模式
微核结构:
操作系统:
不同计算机性能不同源于硬件本身的差异性
光有硬件机器无法运行,需要操作系统
操作系统是运行在硬件上的第一层软件
机器在硬件与操作系统联合显示会有不同的功能
不同机器用相同硬件与不同操作系统配置会显示有不同功能
光有操作系统是不够,有很多功能是不满足的
在操作系统上面需要增加一些新的开发工具或其他的工具
有一些支持开发的平台
用户分为三大类:
1、面向硬件一层为操作系统设计者:要孰知所有硬件的机制
2、操作系统上面进行程序设计的称之为程序员(基于操作系统程序设计(更高级),基于开发平台作为程序设计:例如java\C++)
3、自主开发系统
OS的几种基本观点:
1、外部的OS:计算机用户的观点(用户环境观点):用户通过操作系统来用计算机
应用程序员的观点(虚拟机器观点):在硬件之上有增加了硬件没有的功能,进而就虚拟出了更多的功能、更强的性能),认为配置了操作系统的计算机是一台虚拟机
2、内部的OS:OS开发者观点(资源管理观点、作业组织观点)
我们以资源管理来看待操作系统
操作系统就在连接用户与计算机之间
通过软件来提升硬件的功能
相当于共享:例如一台打印机通过操作系统分给多个人共同使用,于是就把一台打印机虚拟为多台打印机
用户用资源,操作系统来进行分配资源,用户使用完资源,需要进行回收,进而才能高效利用,于是有了观察与跟踪资源的使用情况(相当于管家)
操作系统当作资源管理器,来管理计算机里面的各类软硬件资源
需求分析:分析要做的任务-它的需求是怎么样的-要做完整的需求报告-系统设计-编码实现软件系统的系统需求分析:
1、 软件系统能提供的服务
2、 软件系统在提供这些服务时,需要满足的限制条件
3、 软件系统具有适应某些变化的能力
第一点系统需求是后两类系统需求赖以存在的基础,称之为软件系统的功能性需求。
后两点系统需求成为软件系统的非功能性需求
OS的功能性需求:
分为两大类:
API:用户名命令型接口
计算机用户需要的用户命令:由OS实现的所有用户命令所构成的集合常被人们称为OS的用户接口,有时也称为命令接口(例如通过鼠标,键盘,触屏来使用)
应用软件需要的系统调用:由OS实现的所有系统调用所构成的集合被人们称为程序接口或应用编程接口(API)
利用操作系统来进行需求:
1、 操作命令2、API接口
两点形成了用户应用程序
用户命令:指计算机用户要求计算机系统为其工作的指示
命令的表示形式:
1、 字符形式
2、 菜单形式
3、 图形形式
命令的使用方式:
1、 脱机使用方式
脱机:不是在系统控制下运行程序的
2、 联机使用方式
联机:是在系统控制下运行程序的
系统调用:OS实现的应用软件在运行过程中可以引用的系统服务
常用的API:POSIX.1、WIN32 API
OS的非功能性需求:
性能或效率:
(最大化)吞吐量:单位时间内系统完成的任务
(最快的)响应时间:系统通过终端方式来接收命令,满足尽量多的用户
公平性:各种程序的运行能力都要均衡(不是绝对的:例如实时操作系统,需要考虑社会因素,如无人驾驶汽车,前方遇行人就只有考虑紧急制动,无关其他程序的运行)
可靠性:
安全性:
可伸缩性:
可拓展性:
可移植性:
OS对硬件平台的依赖性:
如:分时系统:需要有计时器,中断
中断上的支持是硬件上的支持,硬件支持计时器,支持中断机制
DMA:直接存储存取
特权指令:
存储保护的机制:检查有没有越界,进行地址的转换(需要用硬件实现,软件实现效率低)
地址转换:把虚拟地址转换成内存里面的实际地址,是每条指令都要进行转换的
MMU:存储管理单元
现代操作系统必须要有这些硬件支撑(如DMA、地址转换等)
OS的重要的基本概念:
1、 作业:计算机用户在一次上机过程中要求计算机系统为其所作工作的集合
2、 作业步:作业中的每项相对独立的工作称为作业步
通常,人们用一组命令来描述作业,每个命令定义一个作业步
作业控制语言:
作业的基本类型:
1、 计算机用户不能在此作业被计算机系统处理时改变已定义好的作业步(脱机下的作业)
2、 计算机用户可以在此类作业被计算机系统处理时随时改变其作业步(联机下的作业)
线程:指程序的一次相对独立的运行过程,在现代OS中,线程是系统调度的最小单位
程序是代码和数据的集合。
程序是一个动态的概念,而代码是一个静态的概念
进程:系统分配资源的基本对象,在现代OS中,进程仅仅是系统中拥有资源的最小实体,不过,在传统的OS中,进程同时也是系统调度的最小单位。
虚拟存储:进程的逻辑地址空间,是现代OS对计算机系统中多级物理存储体系进行高度抽象的结果
文件:命名了的字节流,是现代OS对计算机系统中种类繁多的外部设备进行高度抽象的结果
外存大于内存
OS的演变、类型与特征:
1、 修改
2、 提供新的服务
3、 硬件升级
4、 性能要求
单道批处理系统:
主存储器:
单道程序设计技术:只允许一个作业进入到内存空间
多道程序设计技术:可允许多个作业进入到内存空间
一个支持多道程序设计的系统允许多道程序同时准备运行,当正在运行的那道程序因为某种原因(比如等待输入或输出数据)暂时不能继续运行时,系统将自动的启动另一道程序运行,一旦原因消除(比如数据已经到达或数据已经输出完毕),暂时停止运行的那道程序在将来某个时候还可以被系统重新启动继续运行
内存划分(空间划分):
资源竞争、效率提高、安全性问题
单个CPU只能运行一个作业,不能同时运行两个作业
减少了切换时间
多处都需要调度