操作系统(笔记)(一)

1、操作系统的功能和目标

1.1功能

  • 存储管理
  • 文件管理
  • 设备管理
  • 处理机管理
  • 进程管理

1.2目标

  • 方便性:操作系统作为用户与计算机硬件系统之间的接口,提供了直观的命令和界面,使得用户能够更容易地操作计算机。
  • 有效性:操作系统旨在提高系统资源的利用率,通过合理组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。
  • 可扩充性:为了适应计算机硬件、体系结构以及应用程序的发展,操作系统需要具有良好的可扩充性,以便于添加、修改相应的功能和模块。
  • 开放性:在计算机应用的日益普及和网络环境的转向下,操作系统的开放性变得尤为重要,以便于不同硬件和软件之间的兼容。

直接给用户使用:

  • GUI(图形用户界面)
  • 命令接口
    • 联机命令接口
    • 脱机命令接口

给软件程序员使用:

  • 程序接口

其中命令接口和程序接口统称为“用户接口”

2、操作系统的特征

2.1并发

指的是在一个时间段内,有多任务或多线程在交替执行。在这种情况下,多个任务或线程可能会同时占用CPU资源,但在宏观层面上,它们的执行是按照一定的顺序进行的。并发提高了系统的资源利用率和吞吐量,因为它允许多个任务在不完全同时执行的情况下相互竞争CPU的使用权。并发通常涉及到任务调度和时间片轮询等技术来实现对CPU资源的合理分配。(宏观上同时发生,微观上交替发生

例子:这就比如一天上午,我8:00-10:00需要学习操作系统,10:00-12:00需要学习数据库,在“一天上午”的角度上看,我这一天上午同时学习了操作系统和数据库,而从“小时”的角度上看,我是交替学习这两门课程的。

注意:单核CPU同一时刻只能执行一个程序,各个程序只能并发进行

           多核CPU同一时刻可以执行多个程序,各程序可以并发进行

2.2并行

则意味着在同一时间段内,多个任务或线程同时在不同的处理器核心上执行。并行计算能够充分利用所有可用的硬件资源,因为它允许多个任务并行运行而不必等待其他任务完成。并行计算可以提高系统的性能和效率,特别是在处理大数据集、图形渲染和其他需要大量计算的任务时。并行可以通过多处理器系统或分布式计算架构实现。

例子:我在学习时,同时学习操作系统和数据库,即在同一时刻,我的脑子里面既是操作系统的知识,又是数据库的知识。

2.3共享

2.3.2互斥共享

某些资源在同一时刻只能被一个进程访问。

2.3.2同时访问共享

允许多个进程在同一时刻访问同一个资源

并发性和共享性互为存在条件。

2.4虚拟

  • 空分虚拟技术
  • 时分虚拟技术

2.5异步

多个程序并发运行的环境中,每个程序的运行结果、运行次序以及每次运行的时间都是不确定的

只有并发性才会导致异步性

3、操作系统运行机制

特权指令:只能由操作系统使用的指令

支持多道程序运行要区分为特权指令和非特权指令

特权指令一般引起处理器状态的切换

3.1内核态(管态)

操作系统管理程序运行的状态,较高的特 权级别,又称特权态(特态)、内核态、系统态。能够执行所有指令,使用所有资源,改变CPU状态

3.2用户态(目态)

用户程序运行时的状态,较低的特权级别, 又称为普通态(普态)、用户态,只能执行非特权指令

注意:程序状态寄存器(PSW),有一个二进制位用来判断系统处于哪一个状态。

3.3状态转变

3.3.1程序状态寄存器/程序状态字(PSW)

CF: 进位标志位     

ZF: 结果为零标志位     

SF: 符号标志位       

OF: 溢出标志位

TF:陷阱标志位

IF:中断允许(中断屏蔽)标志位

VIF:虚拟中断标志位

VIP:虚拟中断待决标志位

IOPL:IO特权级别

3.3.2管态->目态

执行一条特权指令修改PSW

3.3.3目态->管态

由中断引起,硬件自动完成

系统调用

4.中断

4.1内中断(也称为异常)

注意上图中管态下执行的指令可以使“特权指令”也可以是“非特权指令”,也就是说管态可以执行计算机所有指令

实例1:试图在目态下执行特权指令

实例2:执行除法时发现除数为0

实例3:有时应用程序想请求操作系统内核的服务

此时会执行陷入指令(trap指令)———会引发一个内部中断信号。注意陷入指令是不是特权指令(因为目态可以正常执行)

4.1.1陷入

此情况是应用程序故意引发的(即一个程序执行,需要用到特权指令,这时非特权指令会执行trap指令,使CPU状态进入管态,执行需要的指令。此从目态到管态的过程,需要执行的非特权指令成为陷入指令,这个过程成为陷入。)

4.1.2故障

由错误条件引起,可能被内核程序修复,修复后内核会把CPU使用权还给应用程序,继续执行下面的指令。

4.1.3中止

由致命错误引起,内核无法修复,一般不会再把CPU使用权还给应用程序,而是直接中止此程序

4.2外中断(狭义地称为中断)

时钟部件每隔一段时间给CPU发送一个中断信号。而且需要时I/O设备也会给CPU发送中断信号。

4.3中断机制的原理

对于不同的中断信号,需要不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到中断处理程序在内存中存放的位置。

注意:由上面可知,中断处理程序应该是内核程序(需要运行在内核态)

5计算机组织结构

5.1  I/O设备

计算机中的I/O设备指的是计算机与外部进行信息交换的输入、输出设备。

5.1.1输入设备

  • 负责将外部的信号经过判别、筛选和编码转换,输入到计 算机中.
  • 鼠标、键盘、扫描仪…

5.1.2输出设备

  • 将计算机内部信号经过转换,输出到外部介质上
  • 打印机、显示器…

5.1.3I/O访问方式

  • 程序控制I/O访问
    • 用程序控制I/O设备的运行:检测I/O状态、接受发送指令、 传送数据等。(结构简单、执行效率低---没有中断)
  • 中断驱动I/O访问
    • 1)CPU初始化I/O并启动第一次I/O操作。
    • 2)CPU去忙别的事情。
    • 3)当I/O完成时,CPU将被中断。
    • 4)CPU处理中断。
    • 5)CPU恢复被中断的程序。
  • 直接I/O访问
    • DMA方式

6.OS与用户之间的接口

6.1普通用户接口(Shell

  • 图形用户接口
  • 命令接口

6.2程序接口(系统调用和API)

  • 系统调用(System Call):提供进程与OS之 间的接口。
  • 应用程序接口(API):在函数的实现中封装 了系统调用。

7演化过程

  • 初步操作系统---单道批处理系统
    • 自动性
    • 顺序性
    • 单道性
  • 多道操作系统(在一段时间内,有多个程序同时占有CPU的使用权)
    • 多个作业并发批处理运行,在程序执行过程中不能与人进行交互
    • 并发性
    • 不交互性
    • 自动批处理
  • 分时操作系统系统
    • 并发运行的每个程序进程分配 一定的“时间片”(时间段)
    • 当一个程序进程在CPU中运行完 这段时间后,它就被剥夺CPU的 使用权,分时系统调度其它的程 序进程到CPU中并运行
    • 多路性(并发性)
    • 及时性
    • 交互性
    •  独立性
    • 实现共享主机
  • 个人操作系统
    • 芯片集成度越来越高,速度越来越快,价格越来越便宜
    • 16位 —> 64位
    • Windows,Linux,Minix,UNIX,Mac
    • 操作简单、界面丰富、可操作性强

例题:多道操作系统是如何让多个作业并发执行的?

  • 磁盘中管理多个程序文件,能够进行程序的读入、读出 (文件管理系统)
  • 为多个并发程序在内存中分配空间(内存管理)
  • 在一个时间段让哪个程序运行,被中断的程序如何恢复运 行(处理器管理-进程管理)
  • 为程序使用I/O设备提供方便的系统接口(I/O设备管理)

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

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

相关文章

将ppt里的视频导出来

将ppt的后缀从pptx改为zip 找到【media】里面有存放图片和音频以及视频,看文件名后缀可以找到,mp4的即为视频,直接复制粘贴到桌面即可。 关闭压缩软件把ppt后缀改回,不影响ppt正常使用。

【论文阅读】Mamba:选择状态空间模型的线性时间序列建模(二)

文章目录 3.4 一个简化的SSM结构3.5 选择机制的性质3.5.1 和门控机制的联系3.5.2 选择机制的解释 3.6 额外的模型细节A 讨论:选择机制C 选择SSM的机制 Mamba论文 第一部分 Mamba:选择状态空间模型的线性时间序列建模(一) 3.4 一个简化的SSM结构 如同结构SSM&#…

【笔记】ArkTS 语言(OpenHarmony系统)

一、官方简介和文档 介绍:aArkTS 语言 | 华为开发者联盟 (huawei.com) 学习指南(文档):初识ArkTS语言-学习ArkTS语言-入门 | 华为开发者联盟 (huawei.com) 二、ArkTS语言知识 (一)编程语言介绍 Mozilla创…

对象变更记录objectlog工具(持续跟新)

文章目录 前言演示代码演示环境引入项目项目框架操作步骤 设计介绍参考仓库 前言 系统基于mybatis-plus, springboot环境 对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。下面展示预期效果…

蓝牙系列一:初识蓝牙

早就对蓝牙的知识垂涎已久,由于各种原因都没能系统的好好的学习一下(最大的原因就是自己太懒了!!),最近有时间来系统的学一下蓝牙的知识。文章中很多都是通过学习韦东山老师的蓝牙讲解,讲得非常…

Excel技巧:如何对含有相同内容的列增加递增序号

如何在Excel中对含有相同内容的单元格自动添加递增序号 当我们在处理Excel数据时,经常会遇到需要根据某一列中的重复内容来对另一列的单元格进行编号的情况。例如,我们可能需要对所有含有特定字符的单元格进行标记,并在另一列中为它们分配一…

C语言项目实战——贪吃蛇

C语言实现贪吃蛇 前言一、 游戏背景二、游戏效果演示三、课程目标四、项目定位五、技术要点六、Win32 API介绍6.1 Win32 API6.2 控制台程序6.3 控制台屏幕上的坐标COORD6.4 GetStdHandle6.5 GetConsoleCursorInfo6.5.1 CONSOLE_CURSOR_INFO 6.6 SetConsoleCursorInfo6.7 SetCon…

2025汤家凤考研数学,基础视频课程+百度网盘+PDF真题讲解

平时大家都半开玩笑地讲:我数学想要考150分!那索性今天这一期,今天认真和大家聊一下: 想考到考研数学150分,应该如何准备? 如果还有小伙伴不知道在哪看汤神的ke,可以看一下以下 2025汤神全程…

K线实战分析系列之二十:分手线——少见的持续信号

K线实战分析系列之二十:分手线——少见的持续信号 一、分手线二、分手线总结 一、分手线 从同一个地方出发,到相反的方向结束 二、分手线总结 分手线形态上一种持续信号,一般出现在趋势的中继阶段但是少数情况也会出现在行情的顶底的区域&a…

主备DNS服务器搭建并验证

目录 1. 配置静态网络 2. 配置主备DNS 2.1 DNS备服务器(第二个虚拟机) 2.2 两个虚拟机操作 2.3 备用服务器(第二个虚拟机)执行 2.4 两个虚拟机都添加DNS: 3. 验证 3.1 主DNS服务验证: 3.2 备用DNS服务器验证&am…

LSTM长短期记忆网

笔记来源—— 【重温经典】大白话讲解LSTM长短期记忆网络 如何缓解梯度消失,手把手公式推导反向传播 LSTM网络结构 RNN结构 下面拉出一个单元结构进行讲解 :记忆细胞,t-1时刻的记忆细胞 :表示状态,t-1时刻的状态 正是这样经过了一个单元&a…

稀碎从零算法笔记Day9-LeetCode:最后一个单词的长度

题型:字符串、反转字符串 链接:58. 最后一个单词的长度 - 力扣(LeetCode) 来源:LeetCode 题目描述(红字为笔者添加) 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔…

【Azure 架构师学习笔记】- Azure Service Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 在做Azure 架构时,经常会被问到Service Endpoint这个点,那么这篇文章来介绍一下Service Endpoint(SE)。 Azure Service Endpoint 首先它是一个专用通道,在Azure 资源之…

面试准备:排序算法大汇总 C++

排序算法总结 直接插入排序 取出未排序部分的第一个元素&#xff0c;与已排序的部分从后往前比较&#xff0c;找到合适的位置。将大于它的已排序的元素向后移动&#xff0c;将该元素插入到合适的位置。 //1. 直接插入排序 void InsertionSort(vector<int>& nums){f…

力扣日记3.6-【回溯算法篇】51. N 皇后

力扣日记&#xff1a;【回溯算法篇】51. N 皇后 日期&#xff1a;2023.3.6 参考&#xff1a;代码随想录、力扣 51. N 皇后 题目描述 难度&#xff1a;困难 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将…

汽车级瞬态抑制TVS二极管优势特性及型号大全

汽车级瞬态抑制TVS二极管是一种高性能的防浪涌过电压电路保护元器件&#xff0c;能够在瞬态电压过高的情况下提供可靠的保护。它能够迅速响应并吸收过电压&#xff0c;将其导向地线&#xff0c;从而保护车辆的电子设备免受损坏。东沃汽车级TVS二极管具有以下几个关键优势&#…

javaWebssh文玩竞价管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh文玩竞价管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

如何生成带有CRC的bin文件

本文介绍如何生成带有CRC的bin文件。 MCU在上电运行时&#xff0c;通常需要校验程序是否正确&#xff08;有无篡改或烧录文件出错&#xff09;&#xff0c;一般的做法是在烧录文件&#xff08;通常是bin文件&#xff09;末尾追加CRC&#xff08;CRC-8&#xff0c;CRC-16&#…

GET 和 POST 请求:理解它们之间的区别和适用场景

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程 整理笔记 这篇就够了

素材来源视频&#xff1a;00.课程介绍_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Sa4y1Z7B1/?p1&vd_sourced0ea58f1127eed138a4ba5421c577eb1 鸿蒙开发工具&#xff1a;DevEco Studio 官网地址&#xff1a;https://developer.harmonyos.com/ 目录 一、常用…