现代操作系统初理解

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,就去寻找解决办法。首…

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

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

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

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

编写五子棋的完整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)功能,没有就默认开着的…

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

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

服务器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…

把一个dataset的表放在另一个dataset里面_现在开始:用你的Mac训练和部署一个图像分类模型...

可能有些同学学习机器学习的时候比较迷茫,不知道该怎么上手,看了很多经典书籍介绍的各种算法,但还是不知道怎么用它来解决问题,就算知道了,又发现需要准备环境、准备训练和部署的机器,啊,好麻烦…

Android studio的布局总结

首先我们的安卓的页面实际上的组件就是需要一些东西控制住他们 这些东西是什么呢,叫做布局管理器,一开始的开发中有常用的5款布局管理器 下面我来一一介绍其中的功能和一些关键字属性 1.relativelayout 相对布局管理器 属性:android:gra…

安装redis提示[test] error 2_安装PHP Redis扩展

安装PHP Redis扩展1、查看本机已经安装的Redis版本brew info redisredis: stable 5.0.7 (bottled), HEAD Persistent key-value database, with built-in net interface https://redis.io//usr/local/Cellar/redis/5.0.7 (13 files, 3.1MB) * Poured from bottle on 2020-02-19…

Android studio的监听器初学者要懂

首先,什么是监听器呢?监听器的作用是什么呢?我们如何去使用他? 1.什么是监听器:监听器的作用是什么呢? 监听器顾名思义,一旦你的按钮或者其他组件被你用例如鼠标点击,就会产生一个…

zincrby redis python_【Redis数据结构 序】使用redis-py操作Redis数据库

想要看更加舒服的排版、更加准时的推送关注公众号“不太灵光的程序员”每日八点有干货推送同时发布《【Redis数据结构 1序】1使用redis-py操作Redis数据库》本文依旧会对学习内容进行拆分,建议阅读时间基本保持10分钟内,想学习之前章节内容点击《你不了解…

Android studio的UI组件

1.文本框组件 掌管文字大小&#xff0c;文字来源&#xff0c;文字是否以行的形式显示&#xff0c;对齐方式居中 9patch图片拉伸不变形&#xff0c;需要放在drawable中 <TextViewandroid:layout_width"wrap_content"android:layout_height"wrap_content"…

visual paradigm 表示选择关系_知识获取的新挑战—远程监督关系抽取

本文主要介绍远程监督关系抽取任务上两个最新的工作。远程监督&#xff08;Distantly Supervised&#xff09;是关系抽取&#xff08;Relation Extraction&#xff09;的一种主要实现方法。关系抽取是指获得文本中的三元组&#xff08;triple&#xff09;&#xff0c;包括实体对…

Android studio的Activity详解

Activity就相当于我们的手机界面&#xff0c;里面包含着各个组件 Activity 的4种状态 运行状态&#xff1a;屏幕可视&#xff0c;且可以进行操作 暂停状态&#xff1a;返回退出的时候&#xff0c;询问是否退出运行状态&#xff0c;此时属于暂停状态 ------------------------…