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

计算机操作系统第一章

操作系统引论

1.1操作系统的目标和作用

定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件

目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性,开放性。

1.2操作系统的作用

  1. 统一管理计算机资源:处理器资源,IO设备资源,存储器资源,文件资源;

  1. 实现了对计算机资源的抽象:IO设备管理软件提供读写接口,文件管理软件提供操作文件接;

  1. 提供了用户与计算机之间的接口:GUI(图形用户界面),命令形式,系统调用形式。

1.3发展动力

推动OS发展的动力 提高计算机系统资源利用率 | 方便用户 | 器件不断更新换代 | 计算机体系结构不断发展 | 不断提出新的应用需求

2.1操作系统的发展过程

OS的发展历程

【1945年 人工操作方式】

【20世纪50年代 脱机 I/O 】

运作: 解决人机矛盾以及CPU与I/O之间速度不匹配的矛盾,程序和数据的输入输出都是在脱离主机的情况下完成的。

联机 I/O : 在主机直接控制下进行的 I/O。

脱机I/O的优点:减少了CPU空闲时间,提高了IO速度

【20世纪50年代中期 单道批处理系统】

运作:把一批作业以脱机IO方式输入到磁带、在系统配上监督程序,在程序控制下,作业被一个一个完成,在内存中始终只保存一道作业。

优点:提高系统资源利用率和系统吞吐量。

缺点:仍未能充分利用系统资源,造成计算机内存的浪费

【20世纪60年代中期 多道批处理系统】

运作:作业先放到外存,排成一个队列(后备队列),由作业调度程序按照一定算法从队列选择若干个作业调入队列,使它们共享CPU和系统中的各种资源

优点:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力

待解决的问题:征用处理机问题、内存分配与保护、IO设备分配、文件组织与管理问题、作业管理、用户与系统的接口

【分时系统】

发展原因:满足用户对于人机交互的要求

运作:为了实现人机交互,必须放弃原批处理系统的运行方式,而采用:①作业直接进入内存,因为作业在磁盘上无法运行;②采用轮转运行,以保证每个作业都有机会运行,因此引入了时间片的概念

特征:多路性(多终端连到同一主机上)、独立性(各自终端互不干扰)、及时性(响应所需时间为1-3s)、交互性

【实时系统】

定义:OS能及时响应外部事件的请求,在规定时间内完成对事件的处理,并控制所有实时任务协调一致地运行

实时OS的类型:工业控制OS、信息查询OS、多媒体OS、嵌入式OS

实时任务的类型:周期性 / 非周期性实时任务、硬实时任务(Hard real time,HRT)、软实时任务 SRT (上述四个任务类型,都伴随截止时间)

特征:多路性(周期性对多路现场信息采集,对多个执行机构进行控制)、独立性(各自终端互不干扰)、及时性(响应所需时间为毫秒级)、交互性、可靠性

实时系统具有的两个基本特征是:及时性、可靠性

3.1操作系统的基本特性

3.1.1并发

  • 并发(并行是同一时刻发生,并发是同一时间间隔发生):

  • 概念:宏观上多个程序同时运行,但微观上每一时刻只有一个程序运行。我们所说的并发,指的一般是进程的并发

3.1.2共享

共享:

概念:OS的共享,指的是资源的复用:供内存中多个并发执行的进程共同使用(即限定了时间,又限制了地点)

类型:互斥共享(A访问完后B才能访问)、“同时”共享(宏观上一起用,微观上交替用)

并发和共享是多任务OS最基本的两个特征,它们互为对方存在的条件。资源的共享是以进程的并发执行为条件的;同时,若不能对资源共享进行协调,则会影响并发的速度

3.1.3虚拟

虚拟性:表现为把一个物理实体转变为若干个逻辑实体。

时分复用技术:资源在时间上进行复用,不同程序并发使用,多道程序分时使用计算机的硬件资源,提高资源的利用率。

空分复用技术:用来实现虚拟磁盘(物理磁盘虚拟为逻辑磁盘,电脑上的C盘、D盘等)、虚拟内存(在逻辑上扩大程序的存储容量)等,提高资源的利用率,提高编程效率。

3.1.4异步

在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,使进程的执行以“停停走走”的方式运行,而且每个进程执行的情况(运行、暂停、速度、完成)也是未知的

4.1操作系统的运行环境

操作系统的中断处理

操作系统的中断处理

中断机制的作用:为了在多道批处理系统中让用户进行交互;

中断产生:

发生中断时,CPU立马切换到管态,开展管理工作;(管态又叫特权态,系统态或核心态,是操作系统管理的程序执行时,机器所处的状态。)

发生中断后,当前运行的进程回暂停运行,由操作系统内核对中断进行处理;

对于不同的中断信号,会进行不同的处理。

中断的分类:

内中断(也叫“异常”、“例外”、“陷入”)------- 信号来源:CPU内部,与当前执行指令有关;

外中断(中断)----------信号来源:CPU外部,与当前执行指令无关。

外中断的处理过程:

每执行完一个指令后,CPU都需要检查当前是否有外部中断 信号;

如果检查到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW,程序计数器PC、各种通用寄存器)把他们存储在PCB(进程控制块中);

根据中断信号类型转入相应的中断处理程序;

恢复原进程的CPU环境并退出中断,返回原进程继续执行。

5.1操作系统的主要功能

处理机管理功能

本质:传统多道程序系统中,处理机的分配和运行以进程为基本单位,因而对处理机的管理可归结于对进程的管理。

功能:进程控制、同步、通信、调度

存储器管理功能

功能:内存分配与回收(静态、动态分配)、内存保护(①各用户程序只在自己内存运行,②不允许用户访问OS程序和数据)、地址映射、内存扩充(虚拟存储技术:请求调入功能、置换功能)

设备管理功能

功能:缓冲管理、设备分配、设备处理

文件管理功能

功能:文件存储空间管理、目录管理、文件读写管理和保护

接口管理功能

功能:OS向用户提供了“用户与OS之间的接口”,分为用户接口(联机用户接口、脱机用户接口、图形用户接口)、程序接口

6.1操作系统的结构

简单结构

模块化结构:

优点:提高OS设计的正确性、可理解性、易维护性、可适应性,加速OS开发过程

缺点:接口规定很难满足划分后,模块对于接口的实际需求;B决定必须建立在A决定的基础上,没有可靠决定顺序,容易造成决定的无序性

分层式结构:

优点:能保证正确性、易维护性、可扩展性

缺点:系统效率低

微内核结构:

概念:足够小的内核、基于客户/服务器的模式、采用策略和机制分离的原则、采用面向对象技术;

功能:进程(线程)管理、低级存储器管理、中断和陷入处理(在微内核OS中,只有很小一部分的属于机制的放入了为内核中,另外绝大部分的都放在了微内核外的各种服务器中)

优点:提高系统扩展性、可靠性、可移植性,提供了对分布式系统的支持,融入了面向对象技术。操作系统可仅通过调整策略来适应不同应用的需求

存在的问题:因为客户和服务器间又消息传递,因此相比于早期的OS,微内核OS的运行效率有所降低(内核大则效率高但占用空间也大,反之效率低但是占空间小)

外核结构:

概念:内核不提供传统OS的进程、虚拟存储器等抽象事物,而是专注于物理资源的隔离(保护)和复用,即非常小的内核负责保护系统资源,而硬件资源的管理职责则委托给应用程序。将原本属于OS内核的功能以库的形式提供给用户

7.1系统调用

系统调用

概念:使应用程序可以通过系统调用来简介调用OS中的相关过程,进而取得相应的服务

系统调用是通过中断机制实现的

区别于一般的过程调用:

①运行在不同的系统状态:系统调用的调用程序运行在用户态,而被调用程序运行在内核态

②因为调用和运行的系统状态不同(一个是用户态,一个是内核态),因此不允许由调用过程直接转向被调用过程,需要通过软中断机制先由用户态转为内核态,经内核分析后才能转向相应的系统调用处理子程序

③返回问题:每一次调用需要判断优先级

④嵌套调用:系统调用对于嵌套调用的深度有一定限制,但是一般的过程调用则没有

系统调用的类型:

①进程控制类系统调用

②文件操纵类系统调用

③进程通信类系统调用

相关文章:

计算机操作系统第一章

操作系统引论1.1操作系统的目标和作用定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性&#xff0c…...

ARM LDREX/STREX指令以及独占监控器详解

一、目的Linux驱动开发中有一个特别重要的知识点必须掌握,即并发、竞态以及同步。什么是并发?多个执行单元(进程、线程、中断)同时对一个共享资源的进行访问;此处的共享资源可以是外设、内存或者软件层面的全局变量静态…...

吉林大学 程序设计基础 2022级 实验复盘 2.23

本人能力有限,发出只为帮助有需要的人。 以下为实验课的复盘,内容会有大量失真,请多多包涵。 此次实验限时一个小时,时间很紧张,很多内容可能并不准确。 1.输出有规律的字母串 输入输出如下; 输入&…...

Linux系列 常用命令(目录和文件管理)vi和vim 编辑使用,(笔记)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.常用命令(目录和文件管理) 1.查看文件内容 2.统计…...

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建 因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。 Windows平台OpenCV的Python开发环境搭建 1、Python 的下载与安装 Python是…...

3.查找算法:顺序查找和二分查找

查找查找,是指在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出:元素下标(…...

攻不下dfs不参加比赛(七)

标题 为什么练dfs题目总结重点为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手…...

精确光度预测计算工具:AGi32 Crack

什么是AGi32? AGi32首先是一种用于精确光度预测的计算工具:一种技术工具,可以计算任何情况下的照度,协助灯具放置和瞄准,并验证是否符合任意数量的照明标准。 然而,要增强对光度学结果的理解,还…...

47个SQL性能优化技巧,看到就是赚到

1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…...

汇川SV660N与基恩士 KV7500 控制器调试说明

1. 伺服相关部分配置 1.1 伺服相关版本 SV660N 试机建议使用“SV660N-Ecat_v0.09.xml”及以上设备描述文件。 SV660N 单板软件版本建议为“H0100901.4”及更高版本号。 1.2 相关参数说明 SV660N 对象字典中 60FD 的含义较 IS620N 有所更改:bit0、1、2 分别为负限位…...

图观 | ChatGTP是如何通过知识图谱回答问题的?

文/Emma Z1950年,图灵发表了具有里程碑意义的论文《计算机器与智能》(Computing Machinery and Intelligence),提出了一个关于机器人的著名判断原则——图灵测试,也被称为图灵判断,它指出如果第三者无法辨别…...

Mysql的索引

为什么写这篇文章呢~最近在梳理公司的数据库,在查看表结构的时候发现了这个 CREATE TABLE esp_5_N (ID int(11) NOT NULL AUTO_INCREMENT,pId int(11) DEFAULT NULL,EsFileId varchar(32) DEFAULT NULL,obligate1 varchar(45) DEFAULT NULL,obligate2 varchar(45) …...

计算机的发展

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…...

理解Spring中的依赖注入和控制反转

依赖注入(Dependency Injection)是一种面向对象编程的设计模式,用于解决对象之间的依赖关系。它的基本思想是将对象的创建和管理工作交给容器来完成,而不是在应用程序中手动创建和管理对象,从而达到松耦合、易维护、易…...

XXL-JOB

XXL-JOB介绍 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官网:https://www.xuxueli.com/xxl-job/ 文档:分布式任务调度…...

「牛客网C」初学者入门训练BC134,​BC136​

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错…...

华为OD机试题【翻转单词顺序】用 C++ 进行编码 (2023.Q1)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明翻转单…...

4.Spring【Java面试第三季】

4.Spring【Java面试第三季】前言推荐4.Spring27_Aop的题目说明要求Spring的AOP顺序AOP常用注解面试题28_spring4下的aop测试案例业务类新建一个切面类MyAspect并为切面类新增两个注解:spring4springboot1.5.9pom测试类29_spring4下的aop测试结果aop正常顺序异常顺序…...

ZLibrary使用说明-Zlirbrary

ZLibrary使用说明如果您是一位书虫,那么ZLibrary是一个值得一试的网站。该网站提供了大量的免费电子书籍,涵盖了各种不同的主题和类别。下面是一些有关如何使用ZLibrary的详细说明:第1步:访问ZLibrary网站要使用ZLibrary&#xff…...

TwinCAT3第三方伺服电机——汇川SV660N使用

目录 一、第三方伺服在TC3中配置和使用 二、xml文件拷贝 ​编辑 三、IO中扫描伺服 四、工程测试 五、汇川伺服参数设置说明 一、第三方伺服在TC3中配置和使用 在倍福控制系统中使用第三方伺服可以参见本人另一篇博客,有详细教程说明。本文仅仅对SV660N伺服设置…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

JavaSec-RCE

简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...