lv13 操作系统、内核实现 1

目录

一、程序分类

二、计算机系统的层次结构

2.1 无操作系统的简单的两层结构

​编辑

2.2 有操作系统的复杂的四层结构

三、 什么是操作系统

四、操作系统内核的实现模式

五、什么是设备驱动程序


一、程序分类

程序按其运行环境分为:

  1. 裸机程序:直接运行在对应硬件上的程序

  2. 应用程序:只能运行在对应操作系统上的程序

二、计算机系统的层次结构

计算机系统两种层次结构:

2.1 无操作系统的简单的两层结构

2.2 有操作系统的复杂的四层结构

三、 什么是操作系统

狭义的操作系统:给应用程序提供运行环境的裸机程序,也被称为操作系统内核

广义的操作系统:一组软件集合,它包含:

  1. 最核心的一个裸机程序 ----------内核 (kernel)

  2. app开发常用的一些功能库(如:C语言标准函数库、线程库、C++标准类库、QT类库等等)

  3. 一些管理用的特殊app(如桌面、命令行、app包管理器、资源管理器、系统设置、一些常用后台服务程序)

四、操作系统内核的实现模式

内核:操作系统最核心的那个裸机程序,主要负责硬件资源的驱动和管理。

一个操作系统内核主要包括如下几个子模块:

  1. 任务管理:多任务支持、任务调度、任务间通讯

  2. 内存管理:物理内存管理,虚拟内存实现

  3. 设备驱动:各种外部设备的I/O支持

  4. 网络协议支持

  5. 文件系统支持

  6. 启动管理

两种典型的内核实现模式:

  1. 单内核(宏内核):所有子模块代码编译到一个比较大的可执行文件(镜像文件)中,各子模块代码共用同一套运行资源,各模块间的交互直接通过函数调用来进行

  2. 微内核:只将任务管理、内存管理、启动管理最基本的三个子模块编译到一个微型的可执行文件中,其它子模块则各自编译成独立的后台服务程序,这些服务程序与微型内核以及app间主要通过各种IPC进行通讯

单内核特点:效率高,稳定性低,扩展性差,安全性高,典型操作系统:UNIX系列、Linux

微内核特点:效率低,稳定性高,扩展性高,安全性低,典型操作系统:Windows,QNX

五、什么是设备驱动程序

英文:Device Driver

简称:驱动(Driver)

一种添加到操作系统中的特殊程序,主要作用是协助操作系统完成应用程序与对应硬件设备之间数据传送的功能

简言之,设备驱动程序就是操作系统中“驱动”对应硬件设备使之能正常工作的代码。

一个驱动程序主要完成如下工作:

  1. 初始化设备,让设备做好开始工作的准备

  2. 读数据:将设备产生的数据传递给上层应用程序

  3. 写数据:将上层应用程序交付过来的数据传递给设备

  4. 获取设备信息:协助上层应用程序获取设备的属性、状态信息

  5. 设置设备信息:让上层应用程序可以决定设备的一些工作属性、模式

  6. 其它相关操作:如休眠、唤醒、关闭设备等

其中最核心的工作就是设备数据的输入和输出,因此计算机外部设备(外设)也被称为IO设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295717.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

更改WiseAlign软件界面图标方法

更改WiseAlign软件界面图标方法 未替换时 首先将图片转换为BMP格式,在搜索栏处输入画图,点击打开画图工具 按住图标拖动到画布内,或是直接CtrlV将图标复制到画布内 点击文件,再点击另存为 保存类型选择“24位位图(*.bm…

【Nacos】—客户端与服务端源码解析

Nacos系列 Nacos—简述、注册中心、配置中心 Nacos安装教程 SpringBoot项目与Nacos配置 一、背景介绍 Nacos(Naming and Configuration Service)是阿里巴巴开源的服务发现和配置管理工具,它是一个全面的微服务基础设施组件,提供…

中心性算法归纳

中心性算法不仅是在我所学习的计算机网络当中起很重要的作用,在交通网络、社交网络、信息网络、神经网络当中也有很多的应用例子。今天我在这里总结一下场景的几种中心性算法。 参考文献 Python NetworkX库 偏心中心性(Eccentricity Centrality&#x…

基于SSM的手机官网系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Linux--shell练习题

1、写一个 bash脚本以输出数字 0 到 100 中 7 的倍数(0 7 14 21...)的命令。 vim /shell/homework1.sh #!/bin/bash for num in {1..100} doif [[ num%7 -eq o ]];thenecho $numfi done执行输出脚本查看输出结果 输出结果: 2、写一个 bash脚本以统计一个文本文件…

跟着LearnOpenGL学习9--光照

文章目录 一、颜色二、创建光照场景 一、颜色 显示世界中有无数种颜色,每一个物体都有它们自己的颜色。我们需要使用(有限的)数值来模拟现实世界中(无限的)的颜色,所以并不是所有现实世界中的颜色都可以用…

Android Canvas画布saveLayer与对应restoreToCount,Kotlin

Android Canvas画布saveLayer与对应restoreToCount,Kotlin private fun mydraw() {val originBmp BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val newBmp Bitmap.createBitmap(originBmp.width, originBmp.heigh…

一篇文章带你搞定CTFMice基本操作

CTF比赛是在最短时间内拿到最多的flag,mice必须要有人做,或者一支战队必须留出一块时间专门写一些mice,web,pwn最后的一两道基本都会有难度,这时候就看mice的解题速度了! 说实话,这是很大一块&…

1162字符串逆序

一:题目 二.思路分析 1.如果不用递归,可以输入字符串后,再逆序输出,但是题目要求使用递归 2.使用递归: 2.1输入字符,直到输入的字符是‘!’,停止输入,否则继续输入&…

智能优化算法应用:基于野马算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于野马算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于野马算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.野马算法4.实验参数设定5.算法结果6.参考文献7.MA…

智能优化算法应用:基于晶体结构算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于晶体结构算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于晶体结构算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.晶体结构算法4.实验参数设定5.算法结果6.…

2023年Top5搭建帮助中心工具集锦

随着企业知识管理的不断深化,帮助中心成为了一个越来越重要的组成部分。帮助中心是一个集成了企业知识、FAQ、常见问题解答、教程、使用指南等内容的在线平台,旨在为用户提供快速、准确的问题解答和自助服务。那么在这一年,有哪些搭建帮助中心…