操作系统期末复习知识点
目录
一.概论
1.操作系统的介绍
2.特性
3.主要功能
4.作用
二.进程的描述与控制
1.进程的定义
2.特性
3.进程的创建步骤
4.基本状态转化
5.PCB的作用
6.进程与线程的比较
三.进程同步
1.同步的概念(挺重要的)
2.临界区
3.管程和进程的区别
4.信号量机制(重中之重,必考题)
四.处理机调度与死锁
1.处理机调度层次
2.调度算法
3.死锁定义
4.死锁产生的必要条件
5.处理方法
6.银行家算法
五.存储器管理
1.程序装入方式
2.磁盘空间划分
3.动态分区的算法
4.离散分配方式
六.虚拟存储器
1.概述
2.特征
3.实现方法
4.请求分页的硬件支持
5.地址变换机构
6.缺页中断机构
7.请求分页中的内存分配
8.分配算法
9.抖动
10.页面置换算法
一.概论
1.操作系统的介绍
是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。目的是管理计算机的软硬件,提高它们的利用率和吞吐量,也同时提供接口,方便用户和应用程序使用硬件设备。
2.特性
异步,虚拟,共享,并发(在一段时间内会有许多进程进行,要和并行进行区别)
3.主要功能
处理机,存储器,设备,文件,接口5方面的管理
4.作用
(1):作为用户和计算机硬件系统的接口
(2):作为计算机系统资源的管理者
(3):实现对计算机资源的抽象
二.进程的描述与控制
1.进程的定义
程序的一次动态执行的过程,是系统进行资源分配的一个独立的单位,组成的元素有PCB(较重要),程序段和数据段。
2.特性
动态,独立,并发,异步
3.进程的创建步骤
(1).申请空白PCB
(2).插入相关信息
(3).插入就绪队列中
4.基本状态转化
5.PCB的作用
(1):作为独立运行基本单位的标志
(2):实现间断性的运行方式
(3):实现与其他进程的同步与同信
(4):提供进程管理的信息
(5):提供进程调度需要的信息
6.进程与线程的比较
(1)地址空间:同一进程内的不同线程共享进程的地址空间和资源;而不同的进程内的不同线程则独立拥有各自的地址空间
(2)并发性:进程和进程之间可以实现并发性,而进程内的线程也可以实现并发性,进一步提高了并发性
(3)系统开销:进程的创建和切换的开销较大,而线程的开销较小
(4)拥有资源:进程拥有资源并作为系统拥有资源的一个基本单位;而线程是几乎不拥有资源的
(5)独立性:同一进程内的不同线程独立性低,因为它们共享进程内的地址空间和资源。而不同进程内的不同线程独立性高,每个进程都拥有一个独立的地址空间和其他资源,除了共享全局变量以外,不允许其他进程访问
三.进程同步
1.同步的概念(挺重要的)
把异步环境下的一组并发进程因直接制约而相互发送信息,相互合作,互相等待等,使得个进程按一定的速度的执行过程。
2.临界区
访问临界资源的那一段代码
3.管程和进程的区别
①虽然二者都定义了数据结构,但进程定义的是私有的数据结构——PCB .管程是公有的数据结构
②进程是由顺序程序执行,管程则主要进行同步操作和初始化操作
③进程的的在于实现系统的并发性,而管程则是解决共享资源互斥使用
④进程之间能并发执行,而管程不行
⑤进程具有动态性.由创建而诞生,由撤销而销亡;管程是 OS 中的一个资源管理模块,仅供进程调用
⑥进程通过调用管程中的过程来对共享数据结构操作,进程是主动工作方式,管程是被动工作方式
4.信号量机制(重中之重,必考题)
tips:必须先同步后互斥,否则会出现死锁
(1)生产者——消费者问题:
(2)读者——写者问题:
四.处理机调度与死锁
1.处理机调度层次
(1)高级调度:作业调度,将外存作业调入内存
(2)低级调度:进程调度,将进程分配给处理机
(3)中级调度:把外存上的那些已具备运行条件的就绪进程重新再调入内存,并修改它们的状态为就绪状态
2.调度算法
(1)先来先服务:FCFS,顾名思义,不用多解释
(2)短作业:SJF,运行时间段的先使用CPU
(3)高响应比:看公式,数值大的先使用((等待时间+要求服务时间)/要求服务时间)
(4)优先级:也是顾名思义,不用太多的赘述了
(5)时间轮转片:RR事先定义好轮转片的大小,然后按先后顺序循环起来就OK了
(6)最低松弛度:LLF,A松弛度=截止时间-本身运行时间-当前的时间,松弛度越小,优先级越高
拓展知识:
周转时间:进程到达系统到 完成所经历的时间
带权周转时间:周转时间/运行时间
3.死锁定义
如果进程中的每个进程都在等待仅有该组进程的其他进程才能引发的事件发生,那么该进程会发生死锁
4.死锁产生的必要条件
互斥,请求和保持,不可抢占,循环等待
5.处理方法
预防(静态),避免(动态),检测,解除
6.银行家算法
五.存储器管理
1.程序装入方式
(1)绝度装入
(2)可重定位装入:把在装入时对目标程序中指令和数据逻辑地址变换为物理地址到时过程
(3)动态运行时装入:在把装入模块装入内存后,并不会立即把装入模块变换为物理地址,而是会把这种地址等到程序真正运行时才会变换
2.磁盘空间划分
(1)文件区:采用离散分配方式,目的是提高利用率
(2)对换区:采用连续分配方式,目的是提高访问速度
3.动态分区的算法
(还有一个最坏的算法,试问最坏的学它干嘛?故不说了)
(1)首次适应:按地址大小顺序,每次都得从头开始,无疑就增加了开销
(2)循环首次适应:它不会每次从头开始,而是接着上一次的查找
(2)最佳:根据分区块大小拉链进行查找
4.离散分配方式
(1)分页:将用户程序的地址空间(逻辑地址)分为若干个固定大小的区域,称为“页”:相应地也将内存空间分为若干个物理块,页和块的大小相同。
(2)分段:把用户程序的地址空间与为若干个大小不同的段,每段可定义一组相对完整的信息,在有储器分配时,以段为单位。
(3)分页地址中地址结构:
即:若给定的逻辑地址空间中的地址为 A ,系统面大小为 L , d 为页内地址 w 则 P : int [A/L]
( W ) d =[ A ] mod L
物理地址=块号 x 块大小+块内偏移量、
(4)地址变换机构:
①页表是有放在内存中,这使 CPU 在每次存取一个数据时都要访问内存两次。第一次是访问内存中的页表,从中找到指定的页的物理块号,再将块号与页内偏移量拼接,以形成物理地址。第二次访问是从第一次所得地址中获得所需的数据。
②快表:提高地址变换速度,并行查寻能力的高速缓冲寄有器。
(5)快表后的内存有效访问时间:
基本分页: EAT =2t
快表分页: EAT = ax 入+(1- a )(t+入)+ t ( t :访问内有次的时间: a :命中率;入:查找快表的时间)
(6)分段与分页的区别:
①页是信息的物理单位:页是消减内存的外零头,提高内存的利用率。分段是的段是信息的逻辑单位,包含的意义相对较完整。
②页的大小固定且由系统决定:而段的长度则不固定,其取决于用户所骗写的程序。
③页的用户程序地址空间是一维的:页完全是系统的行为,用户程序地址属于单一的线性地址空间。而分段是用户的形为,行为,在标志一个地址时,既给出段名,又须给出段内地址,是二维的。
六.虚拟存储器
1.概述
具有请求调入和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
2.特征
多次性,对换性,虚拟性
3.实现方法
请求分页,请求分段和请求段页(最后一个比较难,本科阶段不适合学习)
4.请求分页的硬件支持
请求页表机制,缺页中断机构和地址变换机构
5.地址变换机构
页表机制:页号 物理块 状态位 P 访问字段 A 修改位 M 外存地址
(1)状态位:指示该页是否己调入内存,供程序访问时参考。
(2)访问字段:用于记录本页在一段时间内被访问的次数,或记录本页最近有多长时间未被访问,仅供置换算法在选择换出页面时参考。
(3)修改位:该页在调入内存后是否被修改过。供仅置换页面时参考。
(4)外有地址:指出该页在外有中的地址,供调入该页时参考。
6.缺页中断机构
(1)概念:
每当要访问的页面不存在内存中,便产生一个缺页中断.请求 OS 将缺之页调入内存。
(2)与一般中断的区别:
①在指令执行期间,产生和处理中断信号。 CPU 通常在一条指令执行完后才去检查是否有中断请求到达;然而缺页中断是在指令执行期间,若发现要访问的不在内存中,便立即产生中断信号.以便能及时将所缺之页调入内存。
②一条指令在执行期间,可能会产生多次缺页中断。
7.请求分页中的内存分配
固定局部,可变全局,可变局部
8.分配算法
平均,按比例,优先权.分配策略
9.抖动
(1)定义:
频繁对某页面进行换入与换出、以致一个进程在运行中把大部分时间都花费在页面置换工作上。
(2)产生原因:
同时在系统中运行的进程太多.导致分配给每个进程的物理块太少。
(3)预防方法:
1)采取局部置换策略
2)把工作集算法融入到处理机调度中
3)利用" L = S "准则调节缺页率
4)选择暂停的进程
工作集的定义:
在某段时间间隔中进程实际要访问页面的集合
10.页面置换算法
(1)opt :置换以后长期不会被访问的页面。
(2)FIFO :淘汰最先进入内存的面,驻留时间最长的
(3)LRU :最近最久未使用
未完待续
习题已放入CSDN上了,欢迎大家自取。
相关文章:
操作系统期末复习知识点
目录 一.概论 1.操作系统的介绍 2.特性 3.主要功能 4.作用 二.进程的描述与控制 1.进程的定义 2.特性 3.进程的创建步骤 4.基本状态转化 5.PCB的作用 6.进程与线程的比较 三.进程同步 1.同步的概念(挺重要的) 2.临界区 3.管程和进程的区…...
[英语学习][23][Word Power Made Easy]的精读与翻译优化
[序言] 译者的这次翻译, 完全直译, 生硬无比. [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西, 同时加入我的社区讨论与交流英语相关的内容. [原著英文与翻译版对照][第22页] Knowledge is chiefly in the form of words…...
吉林大学19、21级计算机学院《计算机网络》期末真题试题
一、21级(考后回忆) 一、不定项选择(一共10个选择题,一个两分,选全得满分) 不定项:可以选择1~4个 考点有: ①协议、服务 ②码分多路复用通过接受码片序列,求哪个站点发送…...
python练习3【题解///考点列出///错题改正】
一、单选题 1.【单选题】 ——可迭代对象 下列哪个选项是可迭代对象( D)? A.(1,2,3,4,5) B.[2,3,4,5,6] C.{a:3,b:5} D.以上全部 知识点补充——【可迭代对象】 可迭代对象(iterable)是指可以通过迭代ÿ…...
LINUX服务器防火墙nf_conntrack问题一例
一、故障现象 业务反馈服务异常,无法响应请求,从系统日志 dmesg 或 /var/log/messages 看到大量以下记录:kernel: nf_conntrack: table full, dropping packet. 二、问题分析 业务高峰期服务器访问量大,内核 netfilter 模块 conntrack 相关参…...
经典八股文之RocketMQ
核心概念 NameServer nameserver是整个rocketmq的大脑,是rocketmq的注册中心。broker在启动时向所有nameserver注册。生产者在发送消息之前先从 NameServer 获取 Broker 服务器地址列表(消费者一 样),然后根据负载均衡算法从列表中选择一台服务器进行消…...
Pandas之从sql库中导入数据的几种方法分析
1.使用mysql-connector-python库将SQL文件导入到Python中,并查询数据库中的表 确保已经安装mysql-connector-python库 #导入模块 import mysql.connector# 建立与MySQL数据库的连接 conn mysql.connector.connect(host"localhost",user"username&…...
18. Mysql 存储过程,实现动态数据透视
文章目录 概述常见操作创建存储过程存储过程局部变量定义和赋值查看存储过程删除存储过程调用存储过程 示例-动态数据透视详细讲解总结参考资料 概述 Mysql 存储过程是一组预先编译的 sql 语句集合,它们被存储在数据库中,并可以被多次调用执行。存储过程…...
VuePress部署到GitHub Pages
一、git push自动部署 1、创建用于工作流的文件 在项目根目录下创建一个用于 GitHub Actions 的工作流 .yml 文件 name: docson:# 每当 push 到 main 分支时触发部署push:branches: [main]# 手动触发部署workflow_dispatch:jobs:docs:runs-on: ubuntu-lateststeps:- uses: a…...
git 本地仓库
本地仓库 start.bat 启动...
Hive实战:分科汇总求月考平均分
文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 (二)实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、创建分区的学生成绩表4、按分区加载数据5、查看分区…...
快速搭建知识付费小程序,3分钟即可开启知识变现之旅
明理信息科技知识付费saas租户平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和…...
【计算机图形学划重点】第一讲-Pipeline and Introduction
基础知识 Vertex(顶点) define the location of primitives in space, and consists of vertex stream. 顶点用于定义空间中基本图形(primitives)的位置。它包含了一个顶点流(vertex stream),…...
面试题-DAG 有向无环图
有向无环图用于解决前后依赖问题,在Apollo中用于各个组件的依赖管理。 在算法面试中,有很多相关题目 比如排课问题,有先修课比如启动问题,需要先启动1,才能启动2 概念 顶点: 图中的一个点,比…...
vite + vue3引入ant design vue 报错
npm install ant-design-vue --save下载插件并在main.ts 全局引入 报错 解决办法一: main.ts注释掉全局引入 模块按需引入 解决办法二 将package.json中的ant-design-vue的版本^4.0.0-rc.4改为 ^3.2.15版本 同时将将package-lock.json中的ant-design-vue的版本…...
使用EasyPoi导入数据并返回失败xls
添加依赖 <!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-base --> <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.4.0</version> </dependency> 工…...
机械配件移动商城课程概述
项目介绍 开发准备 任务 开源库介绍 框架搭建 工具类...
prometheus-docker 快速安装
镜像加速 sudo mkdir -p /etc/docker sudo tee /ect/docker/daemon.json << "EOF" {"register-mirros": ["http://hub-mirror.c.163.com"] } EOF安装docker export DOWNLOAD_URL"http://mirrors.163.com/docker-ce" curl -fsSl…...
RabbitMQ 核心概念(交换机、队列、路由键),队列类型等介绍
RabbitMQ 核心概念(交换机、队列、路由键),队列类型等介绍 RabbitMQ 是一个消息队列系统,它的核心概念包括交换机(Exchange)、队列(Queue)和路由键(Routing Key),它们一起…...
1001 害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n1。卡拉兹在 1950 年的世界数学家大会上公布了…...
七、HTML 文本格式化
一、HTML 文本格式化 加粗文本斜体文本电脑自动输出 这是 下标 和 上标 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>HTML文本格式化</title> </head><body><b>加粗文本</b><br>…...
OSI 模型和 TCP/IP 模型的异同
开放式系统互联模型(OSI)是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一 OSI:物理层,数据链路层,网络层࿰…...
创新性文生视频模型,南洋理工开源FreeInit
文本领域的ChatGPT,画图领域的Midjourney都展现出了大模型强大的一面,虽然视频领域有Gen-2这样的领导者,但现有的视频扩散模型在生成的效果中仍然存在时间一致性不足和不自然的动态效果。 南洋理工大学S实验室的研究人员发现,扩散…...
linux的页缓存page cache
目录 如何查看系统的 Page Cache? 为什么 Linux 不把 Page Cache 称为 block cache? Page Cache 的优劣势 Page Cache 的优势 加快数据访问 减少 IO 次数,提高系统磁盘 I/O 吞吐量 Page Cache 的劣势 由于我们开发的程序要运行的话一般…...
数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)
**ERROR: (TA-152): A latency path from the ‘Fall’ edge of the master clock at source pin… Error Code TA-152 在数字IC后端实现innovus中我们经常会看到这类Error,具体信息如下所示。 Error Message **ERROR: (TA-152): A latency path from the ‘Fa…...
虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革
来源:虹科工业智能互联 虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革 原文链接:https://mp.weixin.qq.com/s/H3pd5G8coBvyTwASNS_CFA 欢迎关注虹科,为您提供最新资讯! 导读 在数字化工厂和智能制造时…...
自检服务器,无需服务器、不用编程。
自检服务器,无需服务器、不用编程。 大家好,我是JavaPub. 这几年自媒体原来热,很多人都知道了个人 IP 的重要性。连一个搞中医的朋友都要要做一个自己的网站,而且不想学编程、还不想花 RMB 租云服务。 老读者都知道,…...
Java并行流parallelStream()下InheritableThreadLocal引起的问题
Java并行流parallelStream()下InheritableThreadLocal引起的问题 引起问题的代码。 List orgs00 Arrays.asList(new Org("aaa"),new Org("bbb"),new Org("aa0"));List orgs orgs00.parallelStream() .map(org -> {// 模拟从数据库中获取 …...
【C++期末编程题题库】代码+详解18道
适合期末复习c看,或者刚入门c的小白看,有的题会补充知识点,期末复习题的代码一般比较简单,所以语法上没那么严谨。本文所有题目要求全在代码块的最上面。 目录 1、设计复数类 2、设计Computer类 3、实现相加的函数模板 4、圆类…...
一种DevOpts的实现方式:基于gitlab的CICD(一)
写在之前 笔者最近准备开始入坑CNCF毕业的开源项目,看到其中有一组开源项目的分类就是DevOpts。这个领域内比较出名的项目是Argocd,Argo CD 是一个用于 Kubernetes 的持续交付 (Continuous Delivery) 工具,它以声明式的方式实现了应用程序的…...
上传文档到网站上怎么做/用广州seo推广获精准访问量
前言 多态:指的是一类事物有多种形态,也就是一个对象的类型,动物有多种形态:人,狗,猪。 多态性:是指在不考虑实例类型的情况下都可以使用实例。 封装:面向对象的思想本身就是一种封装…...
seo做的不好的网站有哪些/服务营销策划方案
#内核# cat /proc/version #操作系统# uname -a #发行版本# cat /etc/issue #hostnamectl#转载于:https://www.cnblogs.com/lishidefengchen/p/10601466.html...
如何做购物网站推广/淘数据
海量数据的解决方案参考文章: (1)海量数据的解决方案 (2)https://www.cnblogs.com/guxia/p/6398674.html 备忘一下。...
夏邑县百城建设提质网站/广告营销策略
今天突然对Android的自动化测试有点儿感兴趣,google了下,发现自动化测试的工具还真不少,有Monkey,MonkeyRunner,Robotium等太多了,前段时间也看到了 风泊海上 写的《Android自动化测试之Robotium学习》的博文,呵呵感觉…...
网站选项卡如何做自适应/杭州seo顾问
https://access.redhat.com/documentation/en-us/reference_architectures/current/ 搜索oracle即可。...
免费下载建设银行官方网站/武汉网站seo服务
最近一直再跟同一个项目UEEEU,干了很多事,锻炼自然也很多,这阵子也是从早到晚的忙活,身体似乎都不知疲惫的说,其实忙着也好,有钱有经验嘛,多踏实哈。这一年来又变了很多,进步很多&am…...