现代操作系统初理解

1.现代操作系统是由中断驱动的:如果没有进程要执行,没有I/O 设备要服务,也没有用户请求要响应,操作系统将会静静地等待某件事件的发生。

2.操作系统和用户共享了计算机系统的硬件和软件:既然是共享了,就可能会发生一些BUG,为什么呢,如果一个进程陷入死循环,那么会间接影响其他进程的正确操作,甚至在多道程序设计中可能会发生更微妙的错误像蝴蝶效应一样,一个错误的程序修改另一个程序,然后一直循环。

3.为了避免蝴蝶效应,至少需要两种独立的操作模式:用户模式监督程序模式(系统模式),这两个模式位怎么使用呢?计算机硬件中增加一个称为模式位 (mode bit)的位以表示当前模式:监督程序模式 (0) 和用户模式 (1) 。有了模式位,就可区分为操作系统所执行的任务和为用户所执行的任务。

4.当系统处于用户模式切换到内核模式,需要通过调用系统调用使得模式位=0,然后来执行系统调用 相当于内核模式获得对计算机的控制,最后再从系统调用返回模式位=1 系统将控制权交还给用户程序时会切换到用户模式。模式变化如图:这就是双重模式操作:

5.操作性和硬件是如何配合KILL掉错误的程序一旦硬件保护到位,硬件可检测到违反模式的错误。这些错误通常由操作系统处理。 如果一个用户程序出现失败,如试图执行非法指令或者访问不属于自己地址空间的内存, 那么硬件会向操作系统发出陷阱信号。陷阱如同中断-样,能通过中断向量将控制转交给 操作系统。只要一个程序出现错误,操作系统就必须对它进行异常终止。这种情况的处理代码与用户请求的异常终止的处理代码一样,会给出一个适当的出错信息,程序内存会被转储。内存信息转储通常写到文件以便用户或程序员能检查它,纠正错误,并重新启动程序。

6.使用定时器来防止用户程序运行时间过长:操作系统在将控制权交给用户之前,应确保设置好定时器以便产生中断。如果定时器产生中断,那么控制权会自动交给操作系统,而操作泵统可以将中断作为致命错误来处理,也可以给予用户程序更多的时间。

7.进程:处于执行中的程序被称为进程,程序本身并不是进程,程序是被动的实体,如同存储在磁盘上的文件内容,而进程是一个活动的实体,一个是主动在CPU中运行,一个是通知它到来才去执行。

操作系统负责下述与进程管理相关的活动:

创建和删除用户进程和系统进程。

挂起和重启进程。

提供进程同步机制。

提供进程通信机制。

提供死锁处理机制。

8.内存管理内存是现代计算机系统操作的中心,如果一个程序要执行,那么它必须先变换成绝对地址井装入内存。随着程序的执行,进程可以通过产生绝对地址来访问内存中的程序指令和数据 。最后,程序终止,其内存空间得以释放,并且下一程序可以装入并得以执行。

操作系统负责下列有关内存管理的活动:

记录内存的哪部分正在被使用及被谁使用。

当有内存空间时,决定哪些进程可以装入内存。

根据需要分配和释放内存空间。
9.文件管理:在我们电脑的硬盘或者磁盘介质来说,需要用硬盘驱动器或者磁盘驱动器设备去控制,操作系统通过管理大容量存储器,来实现文件这一抽象概念,而且,文件通常组成目录以方便使用,而且还可以控制一些读写权限去访问共享文件
操作系统负责下列有关文件管理的活动:
创建和删除文件。
创建和删除目录来组织文件。
提供操作文件和|目录的原语。
将文件映射到二级存储上。
在稳定存储介质上备份文件。

 

 

 

 

 

 

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

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

相关文章

python没有菜单栏_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题

出现的问题状况是:在Anaconda文件下,少了Jupyter Notebook快捷键,不然每次都要打开Anaconda Navigator再打开Jupyter Noterbook,有点麻烦。为了避免将Anaconda软件卸载重装才出现Jupyter Notebook,就去寻找解决办法。首…

小米机顶盒显示网络无法连接服务器,小米盒子无线网络连接不上怎么回事 - 卡饭网...

无线网络连接不上怎么回事,如何解决无线网络连接不上怎么回事,如何解决 无线网络连接不上怎么回事,如何解决,很多电脑用户可能会遇到这个问题。 一:先检查下你的无线网络开关是否打开,没打开请打开 二:检查你的无线网络…

操作系统提供什么服务、如何服务?

操作系统的服务: 1.用户界面:一种是命令行界面,就像黑窗的命令行输入,通过命令行执行文件或者文档,一种是图形用户界面,可以控制更多的I/O操作或者菜单选择 2.程序执行:操作系统在程序底层&am…

python创建变量_【转载】 Python动态生成变量

用Python循环创建多个变量, 如创建 a1 、a2 、a3 、a4 、a5 或 self.a1 、self.a2 、 self.a3 一. 可以通过python的内置函数locals 来完成 locals是python的内置函数,他可以以字典的方式去访问局部和全局变量。 python里面用名字空间记录着变量&#xf…

联想服务器忘记系统登录密码,联想路由器登陆密码忘记了怎么办

路由器是互联网系统中的重要组成部分,是连接因特网中局域网和广域网的设备,它可以根据信道实际的情况选择最合适的路径,那么你知道联想路由器登陆密码忘记了怎么办吗?下面是学习啦小编整理的一些关于联想路由器登陆密码忘记了的相关资料&…

中断、异常、处理对于操作系统的概念

为什么我们的应用程序不直接去访问我们的外部设备,为什么要通过操作系统去执行 1.操作系统对于计算机来说是被内核信任的第三方软件 2.只有内核可以执行特权指令 3.应用程序实际上是不可信任的 中断、异常和系统调用三者在操作系统中有何作用? 源头不…

编写五子棋的完整python代码_python实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下 话不多说,直接上代码: 全部工程文件,在GitHub:五子棋 效果预览:#!/usr/bin/env python3 #-*- coding:utf-8 -*- …

服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法

iis提示:至少一个其他网站正在使用同一个https绑定,而次绑定用另一个证书配置。确实要重用https绑定并将其他网站重新指定为使用新证书吗?网友解释:SNI指是一项用于改善SSL/TLS的技术,在SSLv3/TLSv1中被启用。它允许客户端在发起S…

如何计算实际物理地址?

1.确认物理地址: 2.由逻辑地址的页号去页表中查找对应的物理内存的页号 3.通过物理页号加上偏移量得到实际物理地址 例如:已知每页大小为1024byte(逻辑页表和实际内存分页的大小都是1024byte) 那么(3,1023&#xf…

python高效处理文件_使用Python语言高效地处理一个文本文件

使用Python语言高效地处理一个文本文件: # -- encoding: utf-8 -- # 脚本功能:在指定的文件中查找指定的字符串 # 此脚本接受两个参数 # 参数1:指定一个文件名,在这个文件中查找字符串 # 参数2:指定一个字符串用于查找…

zabbix加vm虚拟服务器,zabbix监控vmware exsi主机的图文步骤

1、进入虚拟化vcenter中,用浏览器登录(客户端没找到地方设置),新建一个只读用户zabbix。2、 登录vcenter客户端,将新建用户授权为只读授权过后可以使用新账号登录测试一下。3、开启exsi主机Managed Object Browser (MOB)功能,没有就默认开着的…

内存的覆盖和交换

覆盖:是程序员手动将程序内的互不影响的各个模块放在内存中,需要程序员自己把整个程序划分为若干个小的功能模块,并 交换:由操作系统完成程序之间的swap out 和 swap in(由操作系统内部完成) 未完待续

python tkinter控件_python tkinter 控件与布局 项目实战

from tkinter import * importtkinter.messagebox as messageboxclassTkdemo():def __init__(self): masterTk() master.title("missWjz") master.geometry(800x800)#创建菜单栏 menubar Menu(master) master.config(menumenubar)#创建下拉菜单栏 filemenu Menu(men…

服务器开设虚拟主机,服务器自动开设虚拟主机

服务器自动开设虚拟主机 内容精选换一换Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置。当您需要变更的Linux操作系统的XEN实例比较多时候,推荐您使用本节的批量自动配置的方法安装驱动,通过自动化脚本的方式批量为Li…

PS小知识

PS扣完背景后,保存时要选择PNG格式,而不是JPEG格式 JPEG格式不支持透明背景 扣了后一样是白色背景 PHG支持透明背景 推荐一个抠图网址 叫 搞定设计 抠图还挺好用的 免费

python人工智能是什么意思_Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现...

简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能中的另一项技术: 自然语言处理(NLP) : 大概意思就是 让计算机明白一句话要表达的意思,NLP就相当于计算机…

服务器c的环境配置文件,配置linux服务器环境(jdk+tomcat+mysql+nginx+redis+svn+nexus的maven私服)...

一.安装jdk:1.远程连接工具我用的是xshell6;切换到root用户2.创建安装目录:创建安装目录3.将jdk上传到目录下,并解压:上传文件解压tar zxvf jdk-8u191-linux-x64.tar.gz文件解压后4.修改配置文件:vim /etc/…

Android studio如何写滚动视图

在布局文件里面的布局改为ScrollView(垂直滚动) 但是要注意,ScrollView只允许一个子元素,需要用一个LinearLayout嵌套作为它的子元素使用 加入后就有滚动效果了 还有一个是水平滚动 HorizontalScrollView

springboot启动_Spring boot启动原理解析

作者:平凡希链接:https://www.cnblogs.com/xiaoxi/p/7999885.html我们开发任何一个Spring Boot项目,都会用到如下的启动类SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringAppli…

PR高清60帧补帧教学附插件下载,目前最流畅的补帧教学

先说明一下,这个步骤是适合有点PR基础的人去观看的,小白的话可能看起来会有点懵逼 来了来了,直接输入干货 第一步:创建序列,不要直接拖入素材,序列要在设置-->编辑模式-->选为自定义-->时基--&g…