当前位置: 首页 > news >正文

操作系统引论

操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层,使应用软件和硬件进行分离,让我们无需关注硬件的实现,把关注点更多放在软件应用上。

操作系统引论

1 操作系统的目标和作用

1.1 目标

方便性——便于理解计算机;通过接口方便地使用

有效性——提高系统资源利用率;提高系统吞吐量

开放性——OS应提供统一的开放环境,以实现应用的可移植性和互操作性不同的设备能通过网络加以集成,并能正确、有效地协同工作。

可扩充性——OS应方便修改、增加新模块或功能,以适应计算机硬件、 体系结构以及应用发展的要求。

1.2 作用

①提供用户与计算机硬件系统之间的接口

(1)命令方式:指由OS提供了一组联机命令 (语言), 用户可通过键盘输入有关命令,来直接操纵计算机系统。

(2)系统调用方式:OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。

(3)图标–窗口方式:用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序。

(4)其他方式

②计算机系统资源的管理者

在一个计算机系统中,硬件和软件资源归纳起来可分为四类:处理器、存储器、 I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理。

②实现了对计算机资源的抽象

一台完全无软件的计算机系统(即裸机),即使其功能再强,也必定是难于使用的。比如打印,只要点击打印即可,不用管打印的资源管理。

2 操作系统发展过程

2.1 单道批处理系统

批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。单道批处理系统在内存中只保持一道作业的批处理系统。

特征:(1) 自动性 (2) 顺序性 (3) 单道性

缺点: 系统资源利用不充分。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才能继续运行。又因I/O设备的低俗性,更使CPU的利用率显著降低。

2.2 多道批处理系统

多道程序设计:多个作业存放在主存中,使它们同时处于运行状态,这些作业共享处理机时间和外围设备等资源。

好处: 提高CPU的利用率;可提高内存和I/O设备利用率;增加系统吞吐量。

缺点:周转时间变长;无交互能力(比如有一个在打印,另一个打印只能等待。

2.3 分时系统

在操作系统中加入了分时技术:即将处理机的运行时间分为时间片,将时间片轮流分配给各联机作业使用。

用户的需求表现:人机交互(批处理系统做不到)。共享主机。便于用户上机。

特征:1.多路性 2.独立性 3.及时性 4.交互性

2.4 实时系统

所谓“实时”,是表示“及时”,而实时系统(RealTime System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

3 操作系统基本特性

3.1 并发

并行是指这一个时刻上面有着多个事件在执行,是一个瞬间的状态。

并发是指在某一段时间间隔以内有着多个事件同时进行。

3.2 共享

3.3 虚拟

是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。

3.4 异步

由于资源等因素的限制,使进程的执行通常都不是“一气呵成”, 而是以“停停走走”的方式运行。

内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。

由于各用户程序性能的不同,比如,有的侧重于计算而较少需要 I/O;而又有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成;而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性

四大特征之间的联系:

  1. 并发在操作系统诞生之初就被设计了,用来解决单核CPU运行多个进程。

  1. 共享与并发互为存在意义

  1. 没有并发,虚拟就没有意义。

  1. 没有并发,就无法产生异步

4 操作系统运行环境

特权指令:是指计算机中不允许用户直接使用的指令,如 I/O指令、置中断指令,存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令。

非特权指令:“管理程序”(即用户自编程序)出于安全考虑不能执行的指令。应用程序只能使用“非特权指令”,如:加法指令、减法指令等。

CPU 有两种状态,“内核态”和“用户态”

  • 处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令

  • 处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指

内核态、用户态 的切换

内核态→用户态:执行一条特权指令——修改 PSW 的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权

用户态→内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权。

内核程序和应用程序。前者是后者的管理者,因此“管理程序”(即内核程序)要执行一些特权指令,而“被管理程序”(即用户自编程序)出于安全考虑不能执行这些指令。

5 操作系统的主要功能

  1. 处理器管理(进程管理):主要控制和管理CPU的工作。

处理器管理最基本的功能是处理中断事件。处理器只能发现中断事件并产生中断而不能进行处理。配置了操作系统后,就可对各种事件进行处理。处理器管理的另一功能是处理器调度。处理器可能是一个,也可能是多个,不同类型的操作系统将针对不同情况采取不同的调度策略。也叫进程管理

  1. 存储管理:主要进行内存的分配和管理

存储器管理主要是指针对内存储器的管理。主要任务是:分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰。

  1. 设备管理:主要管理基本的输入输出设备

设备管理是指负责管理各类外围设备(简称:外设),包括分配、启动和故障处理等。主要任务是:当用户使用外部设备时,必须提出要求,待操作系统进行统一分配后方可使用。当用户的程序运行到要使用某外设时,由操作系统负责驱动外设。操作系统还具有处理外设中断请求的能力

  1. 文件管理:负责对计算机文件的组织、存储、操作和保护等。

文件管理是指操作系统对信息资源的管理。在操作系统中,将负责存取的管理信息的部分称为文件系统。文件是在逻辑上具有完整意义的一组相关信息的有序集合,每个文件都有一个文件名。文件管理支持文件的存储、检索和修改等操作以及文件的保护功能。操作系统一般都提供功能较强的文件系统,有的还提供数据库系统来实现信息的管理工作。

  1. 作业管理:是指对计算机所进行的操作进行管理

作业是指独立的、要求计算机完成的一个任务。操作系统的作业管理功能包括两点尸是在多道程序运行IC现货商时,使得备用户合理地共享计算机系统资源22是提供给操作人员一套控制命令用来控制程序的运行

6 操作系统的结构

典型的大内核/宏内核/单内核 操作系统: Linux、UNIX

典型的 微内核 操作系统: Windows NT

7 系统调用

参考资料:操作系统王道考研复习——第一章(计算机系统概述)-CSDN博客

讨论问题

  1. 操作系统的目标方便性和高效性是否一致?

方便性:便于理解计算机;通过接口方便地使用

有效性提高系统资源利用率;提高系统吞吐量

  1. 多道程序设计技术和分时技术的联系和区别?

  1. 并发和并行的区别是什么?

相同点:并发和并行的目标都是最大化CPU的使用率,将cpu的性能充分压榨出来。

不同点:

(1)并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在

(2)并行要求程序能够同时执行多个操作,而并发只是要求程序“看着像是”同时执行多个操作,其实是交替执行。

  1. 哪些指令是特权指令?

特权指令有以下几种:

1)允许和禁止中断,控制中断禁止屏蔽位

2)在进程间切换处理

3)存取用于主存保护的寄存器

4)执行I/O操作

5)停止一个中央处理器的工作

6)清理内存

7)设置时钟

8)建立存储键

9)加载PSW

5、请讨论操作系统各个功能中,最为重要的功能是什么?

处理器管理(进程管理):主要控制和管理CPU的工作。

处理器管理最基本的功能是处理中断事件。处理器只能发现中断事件并产生中断而不能进行处理。配置了操作系统后,就可对各种事件进行处理。处理器管理的另一功能是处理器调度。处理器可能是一个,也可能是多个,不同类型的操作系统将针对不同情况采取不同的调度策略。也叫进程管理

  1. OS的作用主要表现在哪几个方面?

有效性 方便性 可扩展性 开放性

  1. 什么是微内核OS?它具有哪些优点?

微内核操作系统,即实现了一个可在其上构建通用 OS 的基础内核,该内核程序运行在核心态,开机常驻内存。

当前微内核操作系统结构仍没有一致公认的定义,但可从以下4方面进行描述:

足够小的内核:微内核并非一个完整的OS。与硬件紧密相关,实现较基本功能,复杂客户和服务器通信

应用机制与策略分离原理:机制用于实现某一功能的具体执行机构,位于基层;策略借助某些参数和算法实现功能优化或达到不同功能目标,位于高层

采用面向对象技术

基于 C/S 模式

微内核包含的基本功能有:进程管理、低级存储管理、中断和陷入处理等,调度算法、虚拟内存的页面置换算法等都放入外部服务器中实现

优点

1) 灵活性高易扩展

2) 可靠性强

3) 可移植强

4) 提供了对分布式系统的支持

5) 便于维护

相关文章:

操作系统引论

操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层,使应用软件和硬件进行分离,让我们无需关注硬件的实现&#xff0…...

优质 CS 读博 (PhD) 经验贴汇总

前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 Advice for early-stage Ph.D. students 读博的核心是在研究上取得进展,只有在研究上取得一些进展&#xff…...

SpringCloud学习笔记 - @SentinelResource的fallbackblockHandler配置详解 - sentinel

1. sentinel服务负载均衡测试 sentinel默认开启了负载均衡的轮询模式,为了测试sentinel服务负载均衡的效果,需要先创建两个服务提供者和一个服务消费者。 1.1. 分别创建两个服务提供者-支付服务9003、9004 1. 添加pom依赖: 提供者只需要将…...

华为OD机试题 - 静态扫描最优成本(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

mysql大数据量批量提交

DROP PROCEDURE IF EXISTS test.insert_bacth_commit_test1;CREATE PROCEDURE test.insert_bacth_commit_test1()begindeclare start_num int default 0; -- 初始设置起始行数declare end_num int default 5;-- 初始设施结束行数declare cnt_srouce int default 0; -- 定义源表…...

IP SAN组网配置

目录一、确认网络连接畅通二、服务器端ISCSI启动器配置1.以root身份登录2.验证是否已安装iSCSI启动器3.安装iSCSI启动器4.启动iSCSI服务5.给iSCSI启动器命名6.扫描目标器7.登录目标器8.将登录目标器行为设置为自启动三、主机多路径配置四、存储配置五、主机挂载背景&#xff1a…...

面试7分看能力,3分靠嘴皮,剩下90分就靠这份Java面试八股文

有句话说的好,面试中7分靠能力,3分靠嘴皮刚开始面试的时候,介绍项目一般都是凸显我们技能的重中之重,它对一次面试的成败可以说具有决定性作用,这就涉及到我们的表达能力了,有人说我其实水平都在线&#xf…...

api接口如何对接?

对于很多产品小白或求职者而言,API接口是一个产品和研发领域的专业术语,大家可能在文章或者PRD中都已经有接触过API接口的概念。 实际上,接口的应用已经非常广泛和成熟,这个概念主要活跃在公司内部的各系统之间的衔接和对接以及公…...

毕业2年不到选择跳槽,居然拿到25K的薪资,简直了···

本人本科就读于某普通院校,毕业后通过同学的原因加入软件测试这个行业,角色也从测试小白到了目前的资深工程师,从功能测试转变为测试开发,并顺利拿下了某二线城市互联网企业的Offer,年薪 30W 。 选择和努力哪个重要&am…...

Java反序列化漏洞——CommonsCollections3链分析

一、原理CC1链中我们是通过调用Runtime.getRuntime.exec()来执行系统命令,而另一个方向我们可以通过TemplatesImpl加载字节码的类,通过调⽤其newTransformer() 方法,即可执⾏这段字节码的类构造器,我们在类构造器中加入恶意代码&a…...

英文论文(sci)解读复现【NO.5】让RepVGG再次变得更强大:一种量化感知方法

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文&am…...

hive学习(仅供参考)

hive搭建Hive什么是hiveHive的优势和特点hive搭建解压、改名修改环境变量添加hive-site.xml将maven架包拷贝到hive替换一下gua包使环境变量生效初始化安装成功Hive 什么是hive 将结构化的数据文件映射为数据库表 提供类sql的查询语言HQL(Hive Query Language) Hive让更多的人…...

新生儿住月子中心20天患败血症 什么是败血症?有哪些危害

12月7日,四川眉山市民唐先生说,他刚出生的儿子在妇产医院分娩中心住了20天后感染了败血症。据唐先生介绍,哈子出院时各项指标正常。他在分娩中心住了半个月左右,孩子喝牛奶异常易怒,第二天开始发烧。当天,在…...

2023年美赛赛题A题赛题公布

问题A:遭受旱灾的植物群落背景不同种类的植物对压力的反应方式不同。例如,草原是相当的对干旱敏感。干旱发生的频率和严重程度各不相同。大量的观察表明,不同物种的数量在一个物种如何生长的过程中起着重要作用植物群落在连续几代的干旱周期中适应。在一…...

交互式前端开发最好用的WebGL框架

JavaScript是创建Web最有用的编程语言之一,尤其是在WebGL库的支持下。有了WebGL,可以很方便地使用 HTML5 Canvas 元素动态生成图形。因此,设计师和开发人员很容易创建流畅的2D和3D效果。WebGL是JavaScript API或基于OpenGL的库,它…...

【Java 面试合集】包装类的缓存问题

包装类的缓存问题1. 概述 嗨,大家好,【Java 面试合集】每日一题又来了。今天我们分享的内容是:包装类的缓存问题。 我们下面的案例以Integer 为例 2. 表现 public class TestCache {public static void main(String[] args) {Integer i 127…...

JAVA PYTHONGOLANG在STR LIST MAP 等数据结构的一些底层设计

一、列表和扩容机制 JAVA的列表主要分为list和vector,list是线程不安全的。list又主要分为ArrayList和LinkedList,ArrayList底层通过object数组实现,可以实现快速查找,LinkedList底层通过双向列表实现。java常用的列表实现类为ArrayList,ArrayList的主要源码如下: publi…...

SpringMVC处理ajax请求

RequestBodyRequestBody:将请求体中的内容和控制器方法的形参进行绑定。使用RequestBody注解将json格式请求参数转换为java对象。条件&#xff1a;1. 导入jackson依赖 (默认调用jackson功能实现的)2. 在springmvc的配置文件中设置开启<mvc:annotation-driven/>3. 在处理请…...

Spire.Office 8.2.2 for NET 开年之喜

Spire.Office for .NET对文档的操作包括打开&#xff0c;创建&#xff0c;修改&#xff0c;转换&#xff0c;打印&#xff0c;浏览 Word、Excel、PowerPoint 和 PDF 文档&#xff0c;以及将数据从数据源导出为常用的文档格式&#xff0c;如&#xff1a;Word&#xff0c;Excel&a…...

python中的.nc文件处理 | 04 利用矢量边界提取NC数据

利用矢量边界提取.nc数据 import osimport numpy as np import pandas as pd import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature import seaborn as sns import geopandas as gpd import earthpy as et import xarray as xr # …...

使用 PyNeuraLogic 超越 Transformers

展示神经符号编程的力量neuro-symbolic1. 简介 在过去的几年里&#xff0c;我们看到了基于 Transformer 的模型的兴起&#xff0c;并在自然语言处理或计算机视觉等许多领域取得了成功的应用。在本文[1]中&#xff0c;我们将探索一种简洁、可解释和可扩展的方式来表达深度学习模…...

微信点金计划(服务商角度)

时间&#xff1a;2023/2/17 背景&#xff1a;微信在推出点金计划后&#xff0c;原本window.WeixinJSBridge.invoke方法的回调失效了&#xff0c;需要在微信支付服务商平台&#xff5c;平台开放更多能力&#xff0c;与服务商一起成长这里进行配置&#xff0c;配置流程跟着官方给…...

2023年美赛 MCM B题 重新构想马赛马拉岛

背景肯尼亚的野生动物保护区最初主要是为了保护野生动物和其他自然资源。肯尼亚议会于2013 年通过了《野生动物保护和管理法》&#xff0c;以提供更公平的资源共享&#xff0c;并允许进行替代的、以社 区为基础的管理工作[1].此后&#xff0c;肯尼亚增加了修正案&#xff0c;以…...

指标体系的应用与搭建

一、指标体系的介绍 体系泛指一定范围内同类事物按照一定的顺序或内在联系而组成的整体。指标体系也一样&#xff0c;指的是不同指标按照一定的顺序及内部联系而组成的整体。此外&#xff0c;在指标体系中&#xff0c;除了以应用为出发点搭建&#xff0c;还会加入使用指南&…...

固态继电器的五大优势

固态继电器的优点和五个关键优势&#xff0c;现代电气控制系统因二极管、晶体管和晶闸管等固态器件的发明而得到极大的增强。对于加热器和电机等大负载设备&#xff0c;固态继电器可能比传统的机械继电器具有巨大的优势。 虽然并非适用于所有情况&#xff0c;但它们具有许多吸引…...

特征检测之HOG特征算法详解及Opencv接口使用

1. HOG特征简介 特征描述符是图像或图像补丁的表示形式&#xff0c;它通过提取有用信息并丢弃无关信息来简化图像。 通常&#xff0c;特征描述符将大小W x H x 3&#xff08;通道&#xff09;的图像转换为长度为n的特征向量/数组。对于 HOG 特征描述符&#xff0c;输入图像的…...

一款好的低代码开发平台应该是什么样?

一款好的低代码开发平台应该是什么样&#xff1f; 以企业级应用构建来讲&#xff0c;完成一个应用复杂度随着技术的进步、需求的细化、业务要求的变化并不是逐渐降低&#xff0c;而是逐渐提升。用户想要有更好的体验&#xff0c;复杂度更是成倍提升。 基于此&#xff0c;低代码…...

基于Spring cloud搭建oauth2

1&#xff0c;OAuth2.0简介 OAuth&#xff08;开发授权&#xff09;是一个开放标准&#xff0c;允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息&#xff0c;而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。 OAuth2.0是OAuth的延续&#xf…...

实现一个小程序分享图 wxml2canvas

我们经常会遇上动态生成海报的需求&#xff0c;而在小程序中&#xff0c;生成图片非Canvas莫属。但是在实际工作当中&#xff0c;为了追求效率&#xff0c;我们会不可避免地去使用一些JS插件&#xff0c;而 wxml-to-canvas 就是一款官方推荐且非常优秀的插件&#xff0c;它可以…...

基于matlab设计x波段机载SAR系统

一、前言此示例说明如何设计在 X 波段工作的合成孔径雷达 &#xff08;SAR&#xff09; 传感器并计算传感器参数。SAR利用雷达天线在目标区域上的运动来提供目标区域的图像。当SAR平台在目标区域上空行进时&#xff0c;当脉冲从雷达天线发送和接收时&#xff0c;会产生合成孔径…...

做互联网需要网站吗/优化人员配置

结合网上的资料&#xff0c;自己亲自的去安装了一次MySQL&#xff0c;安装版本是win7x64 5.7.16。在安装过程中出现并解决了如下问题:1.“MySQL 服务无法启动 服务没报告任何错误”2.启动MySQL服务的时候&#xff0c;提示“发生系统错误 2&#xff0c;系统找不到指定的文件”。…...

做调查问卷赚钱的网站/关键词优化排名网站

亲测可用&#xff0c;若有疑问请私信 一、设置导航栏颜色 在url后面拼接dd_nav_bgcolor参数即可&#xff0c;如下&#xff1a; 支持的格式:“AARRGGBB” http://abc.xyz?dd_nav_bgcolorFF5E97F6 二、微应用页面支持横屏 在url后面拼接dd_orientation参数即可&#xff0c;如…...

网站设计赚钱吗/软文推广是什么

《一个Android工程的从零开始》-1前期准备 先扯两句 很早就在CSDN上看各路大神发的博客&#xff0c;可以说我今天没饿死&#xff0c;很大程度上&#xff0c;也正是得益于各路大神的无私分享。 一想到从今天起&#xff0c;自己也能发些东西出来&#xff0c;或许可以帮到哪些人…...

有哪些网站可以做图片打赏/郑州百度推广外包

qDeleteAll&#xff1a;专门用于指针容器&#xff0c;对容器或者迭代器中的每个对象进行delete操作&#xff0c;而不是从容器中移除对象。源代码如下&#xff1a; void qDeleteAll(ForwardIterator begin, ForwardIterator end) { while (begin ! end) { delete *begin; begin;…...

北京免费网站建设模板下载/谷歌seo靠谱吗

经常遇到的面试题&#xff0c;一个类继承另一个类然后问输出的结果是什么。个人觉得就是考类的输出问题&#xff08;亲测&#xff09; 第一&#xff1a;单一的类执行顺序 package Test; public class person { static{ System.out.println("父类的静态块"); } per…...

医疗网站建设/平谷头条新闻

咳咳&#xff0c;上课。 起立。 老师再见。&#xff1f;&#xff1f;&#xff1f; 你们就这么希望老师走吗。。。。 好了&#xff0c;同学们&#xff0c;今天这节课给大家介绍一下设计模式的一种——模板方法设计模式。 那么什么是模板方法设计模式呢&#xff1f; 当功能内部…...