首页 > 其他分享 >操作系统错误点

操作系统错误点

时间:2024-10-08 12:32:56浏览次数:10  
标签:操作系统 错误 调度 用户 内存 进程 缺页 页表

一:操作系统概述

1. 用户界面是指

  1. 用户接口

    命令接口

    程序接口

  2. 操作环境

2. 从用户观点看

操作系统就是用户与计算机硬件之间的接口

3. 从资源管理观点看

操作系统是计算机资源的管理者

4. 图形用户接口采用图形化操作界面

用于查看和操作应用程序或文档的是对话框

5. 用户程序请求操作系统服务

通过访管指令实现

6. 操作系统供给应用程序的接口是

系统调用

7. 操作系统主要功能

进程和处理机管理。存储器管理,设备管理,文件管理及接口管理

8. 操作系统提供的用户接口

  1. 脱机用户接口

    将作业说明书和作业一起交给系统,让其按说明要求运行作业

  2. 联机命令接口

    通过命令行终端键入dir/is查看当前目录

  3. 系统调用接口

    使用open()打开一个文件

9. 分时系统的响应时间主要根据

用户所能接受的等待时间确定的

10. 多道程序的特征

间断性,共享性,制约性

11. 访管指令

将用户态转变为核心态 ,因此在用户态执行

12. 系统调用

本质上就是一个存放内核封装好的函数指针;广义指令就是系统调用

系统调用发生在用户态,执行在核心态

系统调用专门供应应用程序使用的界面

13. 用户使用计算机

通过命令方式和系统调用方式

14. 按命令控制方式分为

联机用户接口,脱机用户接口

15. 系统中的缓存

对用用户是透明的,不可见;由系统管理

16. 发生和执行

外部中断:可以发生在用户态,但执行在核心态

进程切换:一定发生在核心态,执行在核心态

17. 库函数

许多库函数会使用系统调用实现功能,但有的完全不使用

库函数能运行在用户空间

18. 只能在核心态执行的指令

涉及计算机根本运行的:屏蔽所有中断,设置时钟日期,停机

涉及系统级资源的修改

19. 分层式架构

结构清晰,便于调试,有利于功能增加修改或替换

20. 大内核

高新能,内核代码大,结构混乱,难以维护

21. 微内核

内核功能少,结构清晰,方便管理,更加稳定,性能低

几乎不做任何工作,仅提供:

  1. 进程间通信机制
  2. 中断和陷入处理
  3. 有限的低级进程管理和调度
  4. 低级I/O

22. 虚拟机

可以由软件或硬件实现

软件能实现的功能硬件也能实现

22. Spooling技术

欺骗进程拥有资源,利用缓冲区使进程排队延迟访问独占资源,实现独占资源的共享

23. 覆盖与交换

在多道程序环境下用于扩展内存的两种方式

24. 子程序调用

只需保存程序断点

25. 中断处理中保护的内容

由硬件自动将处理及状态字PSW和程序计数器PC中下一条指令的地址保存在中断保留栈中

保存被中断进程的CPU现场信息,包括所有CPU寄存器的内容都压入中断栈

寄存器信息由操作系统保存

26. 多道程序发挥并行工作能力

是CPU与外设之间

二:进程管理

1. 程序与进程

进程是动态的;程序是静态的

一个程序可以对应多个进程,一个进程在一个时间只能对应一个程序,当在进程的生命周期中可以执行无数个程序

进程是程序的一次执行

2,创建到就绪

I/O操作频率值增加;CPU利用率可能上升或下降;进程的平均响应时间增加

3,临界资源释放

临界资源只能提供一个进程使用

会引起一个等待的进程进入就绪

4. 进程自身决定

从运行态到阻塞态

5. 进程调度

动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。这就是进程调度

6.多线程进程

某个线程被阻塞整个进程都被阻塞

7. 键盘响应

由系统中断完成不需要多线程

8. 信号量=0时

表示临界资源用完且无阻塞进程

9. 互斥使用

信号量初值设置为1

10. 正常运行

每个变量的值都要是能唯一确定的

11. 互斥算法的三个正确性条件

  1. 互斥性原则:任何时刻只能由一个进程处于临界区
  2. 进展性原则:如果该进程不在它的临界区执行,那么不应该阻止其他进程进入该临界区执行
  3. 有限等待性原则:某个进程进入一个临界区应该在有限时间内完成。

12. 线程

包含CPU现场可独立执行程序

同一进程线程可以直接交换数据

13.互斥操作

两个不同进程间的全局变量不能互通

14:管道通信

管道可以双向数据传输,但同一时刻只能一边传数据

管道容量通常为内存的上一页,与不受磁盘容量限制

管道满时,写管道会阻塞;管道空时,都管道会阻塞

三:处理机调度和死锁

1. 三级调度

  1. 高级调度:作业调度,作业调入内存
  2. 中级调度:内存调度,选择一个进程调出外存,再从外存调入到主存
  3. 低级调度:进程调度,就绪进程调入处理机

2. CPU调度算法

n个进程有n!个调度顺序

面向系统:吞吐量高,处理机利用率高,各类资源的平衡利用

面向用户:周转时间短,响应时间快,截至时间保证,优先权准则

多重队列算法:将进程分队列,每个队列使用的调度算法都不同

多级队列:系统开销大

高响应比和短进程优先适合批处理

时间片轮转和多级反馈队列适合分时系统

短作业优先提高系统吞吐量

高响应比算法若同时到达相当于短作业优先算法

3. 死锁

  1. 死锁预防

    破坏四个必要条件之一
    即互斥条件,请求和保持条件,不可剥夺条件,循环等待条件

  2. 死锁避免

    银行家算法

  3. 死锁检测和解除

四,内存管理

1. 分页式存储管理地址变换工作由硬件完成

2. 页式存储选择页面大小不考虑磁盘访问时间

3. 页式存储运行过程中可能改变程序的位置

4. 页表的起始地址存放在页表起始址寄存器

5. 每个进程船舰一张页表

同一进程的线程共用一张页表

6. 多级页表优点

减少页表所占的连续内存空间

7. 段页式内存管理

地址结构:段号+段内页号+页内地址(位移量)

img

8. 段号超出段表长度引发

越界中断

9. 程序分段

在用户编程时决定

10. 两个进程共用同一个存储段

让进程各自的段表拥有相同的段起始地址和段长度

11. 引入段表

方便编程;信息共享;信息保护;动态链接;动态增长

12. 缺页中断

页号合法但对应页没调入内存产生缺页、

越界中断,页号不存在不合法

若页表大包含页表项多,进程找不到对应页号概率就小,换的次数就少,缺页中断次数就少

  1. 找到空闲或置换页框分配给缺的页
  2. 从磁盘调入缺页
  3. 修改页表标志位,物理页框号等

13. 请求分页式存储与基本分页式存储

均有:

  1. 页号
  2. 物理块号

请求分页式多四个字段:

  1. 状态位:是否调入内存
  2. 访问字段:记录最近被访问次数
  3. 修改位:记录是否修改过
  4. 外存地址:页面在外存存放位置

请求式主要特点:扩充内存

14. 引用串

引用串就是该程序一段时间内需要调用的页号序列,例如p = 1 2 3 3 2 1 4 5 6 2 2。

15. 缺页次数

缺页次数最理想的情况是 有n个不同的页号,每个页号肯定且仅发生缺页一次,那么下限为n;

(前提 驻留集<n)最糟糕的情况是每次访问某个页号时都发生缺页(重复访问时也发生缺页),那么此时跟引用串有关系,引用串长度p就为缺页次数上限 p。

16. 交换区

交换区,也叫Swap分区,是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

17. 对各进程进行固定分配页面数目不变,不可能全局置换

准备或运行时,

  1. 固定分配:
    给进程的 每个物理块
    分配数量固定,
    运行时数量固定,按照分配数量。

  2. 可变分配:
    分配数量固定,
    运行时数量不固定。

缺页时,

  1. 局部置换:
    缺页进程独立,
    置换分配给自身的物理块。

  2. 全局置换:
    从操作系统中抠一块给缺页进程;

    或者从其他进程抠一块下来,经过外存,又调回给缺页进程。

为什么没有固定分配–全局置换?
因为,固定分配要求自身缺页时,替换自身;不能要求其他进程的置换,与全局置换相悖。

img

标签:操作系统,错误,调度,用户,内存,进程,缺页,页表
From: https://www.cnblogs.com/JUANFENHUI/p/18451420

相关文章

  • Error:WPF项目中使用oxyplot,错误提示命名空间中不存在“Plot”名称
    在OxyPlot中,<oxy:PlotView>和<oxy:Plot>都是用来显示图表的控件,在WPF项目中使用oxyplot之前,先通过NuGet安装依赖包:OxyPlot.Wpf。<oxy:PlotView>和<oxy:Plot>使用示例:<oxy:PlotView>控件是一个视图控件,它绑定到一个PlotModel对象。这意味着你可以创建一个PlotModel实例,配置......
  • 网站还原错误怎么解决;网站错误还原及解决方法
    网站在运行过程中可能会遇到各种错误,导致服务不可用或用户体验下降。解决这些问题通常涉及几个步骤:1.确定错误类型前端错误:如JavaScript错误、样式加载失败等。后端错误:数据库连接问题、服务器配置错误、API逻辑错误等。网络问题:DNS解析失败、服务器无响应等。2.收集日志......
  • 如果 表名 拼写错误或表不存在,你会看到 #1146 - Table 'ecms.表名' doesn't exist 的
    <?php$servername="localhost";$username="your_username";$password="your_password";$dbname="ecms";//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//检查连接if($conn->connect......
  • 错误消息:#1064 - You have an error in your SQL syntax; check the manual that corr
    错误消息:#1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'...'atline1原因:SQL语句中有语法错误。括号不匹配。关键字拼写错误。解决方法:检查SQL语句:确认SQ......
  • 错误消息:#2002 - Can't connect to local MySQL server through socket '/tmp/mysql.s
    错误消息:#2002-Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'(2)原因:数据库服务未启动。连接参数错误。解决方法:检查数据库服务:确认MySQL服务是否正常运行。sudoservicemysqlstatus检查连接参数:确认连接参数(主机名、用......
  • 错误消息:UndefinedVariableError: Variable 'user' does not exist
    错误消息:UndefinedVariableError:Variable'user'doesnotexist原因:模板中引用的变量未在上下文中定义。解决方法:检查变量定义:确认变量是否在模板上下文中定义。例如,在PHP中传递变量:$user=['name'=>'Alice'];echo$twig->render('index.html.twig',[�......
  • 织梦用户名密码?织梦提示你的密码错误
    遇到“织梦”(Dedecms)后台登录时提示密码错误的情况,可以尝试以下几个步骤来解决问题:确认输入:确认用户名和密码是否正确输入。注意大小写,确保没有多输或少输字符。检查数据库:如果你是管理员,可以直接通过数据库管理工具(如phpMyAdmin)找到dede_admin表,查看arcrank字段中......
  • 数据库连接错误的原因及解决方法
    数据库连接错误可能由多种原因引起。以下是一些常见的数据库连接错误及其解决方法:1.错误的数据库凭证原因错误的数据库用户名或密码。数据库用户没有足够的权限。解决方法检查用户名和密码:确认数据库用户名和密码是否正确。重新输入正确的用户名和密码。检查用......
  • thinkphp 设置运行目录为/public后 404错误
    当你在ThinkPHP中设置了运行目录为 /public 后,可能会遇到404错误。这通常是因为Web服务器的配置问题导致的。以下是解决这个问题的几个步骤:1.修改 .htaccess 文件如果你使用的是Apache服务器,需要确保 .htaccess 文件正确配置。在项目根目录下创建或修改 .htacce......
  • 网站证书错误打不开网页怎么办
    遇到网站证书错误导致网页无法打开的情况,可以尝试以下几个步骤来解决:清除浏览器缓存和Cookies清除浏览器中的缓存数据和Cookies可能会帮助解决问题。更换浏览器尝试使用不同的浏览器访问该网站,有时候问题可能是浏览器特定的。检查日期和时间设置确保您的设备日期......