导图社区 操作系统结构20200216-20200220
操作系统整体结构分布,对其的简单介绍
对CUP调度原理的简单介绍与了解,调度算法的介绍
对linux中的线程的介绍,内核线程与用户空间线程
对进程一个整体的认知与介绍,进程每一个环节的介绍
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
操作系统结构
2.0:概况
研究方向
所提供的服务
研究OS所提供接口
OS各组件及其相互关系
本章的目的
提供服务、服务说明,如何提供服务
OS设计方法
如何生成OS
如何启动OS
2.1:操作系统服务
用户界面UI user interface
命令行界面CLI command line interface
文件命令
直接在命令行输入命令来实现功能
批界面
将命令书写成文件,通过执行文件来实现功能
图形用户界面GUI graphical user interface
将命令行可视化处理
通过鼠标来定位菜单,实现部分命令功能
程式执行
将程式载入内存,并能运行及结束
I/O操作
操作管理文件或者设备
提高OS运行效率
起到系统保护作用
保护指:用户或者其他进行不得让OS生成异常
文件系统操作
来为进程运行提供一定的文件管理服务
通信
进程与进程进行信息交互
类型
同台计算机内不同进程的交互
不同计算机之间的进程交互
实现f方式
共享内存
信息交互
错误检测
知道OS或APP可能会发生什么错误
合理处理各种错误,确保正确、高效的运行
资源分配
对各用户及各进程进行有效资源分配
统计
记录用户或者作业使用了说明资源,方便后续缴费、研究等
保护和安全
保护
确保各进程或者各用户正常运行
侧重单个OS内部的互不干扰
安全:
包含”保护“的功能
非法用户通过网络或者其他通讯路径对本OS内部造成不良后果
侧重外界的干扰
2.2:操作系统的用户界面
命令行
shell:来提供相关服务,让用户与OS进行交互
主要作用
获取并执行用户下达的指令
实现的方法
直接shell自己实现
去调用OS实现的方法
未来的发展趋势,设计架构就用这种方法
GUI,图形界面
提供基于鼠标、窗口、菜单等图形化的系统
windows
mac os Aqua
通用环境(CDE)
KDE:K桌面环境
GNOME:GUN项目
一般用户界面是应用程式,不属于OS范围
2.3:系统调用
属性
英文名:system call
作用:提供OS提供额的相关服务的界面
实现:一般用C\C++\汇编
如何调用系统调用
从文件读取到文件复制来说明系统调用
1、输入两个文件名称
方法一:CLI:程式向用户提问然后获得两个文件名
方法二:GUI:介于鼠标、键盘等操作来进行获得
2、打开输入文件
检查所需打开的文件是否存在
检查操作者是否拥有该文件操作权限
打开之后,在UI界面提示相关信息
3、创建输出文件
输入文件正常打开之后
检查是否有一样的文件名称的文件存在
给提示
删除已存在文件
不存在,新建文件
存在,在新建的过程中是否替换文件还是替换文件名
4、旧文件内容读取
读取过程中的状态信息显示及处理
在此过程中的错误显示及处理
5、将读取内容书写到新文件中
书写文件否是达到最大限制
根据输出设备的不同可能出现各种错误
磁盘空间不足
打印机没纸
5、关闭两个文件
在UI界面显示相关信息
应用程式接口 API
分类
Win32 API
POSIX API
UNIX
Linux
Mac OS
Java API
意义
提高APP可移植性
APP开发人员,不需要关注API实现的具体细节
实现
APP调用系统调用接口
将具体函数名及参数传递给系统调用接口
系统调用接口根据接口函数及参数,去索引自己管理中的索引表
找到函数名具体对应函数
执行找到的函数体,并将执行结果返回给APP
传递参数的方法
直接通过寄存器传递
数据储存于内存,将所存的内存地址通过寄存器来传递
直接将参数放在程式中或者堆栈中来传递
2.10:系统启动
通过引导程式,来启动OS
2.9:系统生成
为某一类计算机通过配置来生成系统
在s生成过程中考虑如下问题
CPU
内存
设备
参数配置
2.8:虚拟机
使用分层逻辑,抽象每个执行硬件为执行部件
实现用户模式和内核模式的转变
优点
相互之间独立
资源共享更加困难
共享小型虚拟磁盘
通过网络
实例
VMware
Java
2.7:操作系统结构
简单结构
MS-DOS
其他相应的模块都可以访问设备驱动
UNIX\LINUX
硬件之上,系统调用之下
分层结构
微内核
模块
动态加载模块
功能
核心功能
其他模块加载功能
其他模块通信功能
2.6:操作系统设计和实现
设计目标
用户目标
系统目标
机制与策略
策略 policy
决定做什么
机制 mechanism
决定如何做
2.5:系统程式
文件管理
状态信息
文件修改(存储管理)
程序语言持续
程序装入和执行
系统工具或应用程序
2.4:系统调用类型
进程控制
结束,放弃
正常终止或者非正常终止
装入,执行
创建进程,终止进程
取得进程属性,设置进程属性
等待时间
等待事件,唤醒事件
分配和释放内存
创建文件、删除文件
打开、关闭
读、写、重定位
取得文件属性,设置文件属性
设备管理
请求设备,释放设备
取得设备属性、设置设备属性
逻辑连接或断开设备
信息维护
读取时间或日期,设置时间或日期
读取系统数据,设置系统数据
读取进程,文件或者设备属性
设置进程、文件或者设备属性
创建、删除通信连接
发生,接受消息
传递状态信息
连接或断开远程设备
两种实现
信息传递