操作系统原理之操作系统简介(第一章)

一、 什么是操作系统

操作系统:是一种复杂的系统软件,是不同程序代码、数据结构、数据初始化文件的集合,可执行。

操作系统是用户与硬件之间的接口:操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境

 

 

 资源的管理理者:

  • 处理理机管理:决定把处理机先给哪个程序⽤,后给哪个程序⽤
  • 内存管理:给程序分配内存空间
  • 设备管理:完成怎么分配设备,分配哪台设备,怎么和设备连接等
  • 文件管理:为每个⽂件分配空间、建⽴⽬录,对⽬录进⾏组织管理 以及根据⽤户请求从外存读取数据或将数据写⼊外存

 

二、 操作系统的发展

单道 批处理系统

  • 单道批处理系统内存中只有⼀道作业     
  • 特点:⾃动性、顺序性、单道性
  • 优点:减少了等待人工操作的时间  
  • 缺点:CPU资源不能得到充分的利用

多道 批处理系统:由操作系统的作业调度程序按⼀定策略从后备作业队列中选择若⼲个作业 调⼊内存,使它们共享CPU和系统中的各种资源

  • 特点:多道性、⽆序性、调度性、复杂性
  • 优点:提搞的CPU、内存、I/O设备的利用率和系统的吞出来
  • 缺点:系统平均周转时间长

分时 操作系统:允许多个⽤户通过终端机同时使⽤计算机,每个⽤户通过终端与主机交互 时都能得到快速响应

  • 特点:多路性、独⽴性、及时性、交互性

实时 操作系统:实时系统必须及时响应外部事件的请求,在规定时间内完成 对该事件的处理。主要⽤于实时控制和实时信息处理领域

  • 特点:多路性、独⽴性、及时性、交互性、可靠性

 

操作系统产品现状

 

 

 三、 操作系统的特征

现代操作系统都⽀持多任务, 具有并发、共享、虚拟和异步性特征。

  • 并发:两个或者多个事件在同一时间间隔内发生。主要由于引入多道程序系统,从而使操作系统具有并发性
  • 共享:系统中的资源可供内存中多个并发执行的进程共同使用
  • 虚拟:最常用内存虚拟化,用户感觉到的内存大于实际内存
  • 异步:进程以不可预知的速度向前推进

四、 操作系统的功能

 

 内存管理:内存管理的主要任务是为多道程序的运⾏提供良好的 环境,⽅便⽤户使⽤内存,提⾼内存的利⽤率,以及 从逻辑上扩充内存以实现虚拟存储。

1)内存分配 :主要任务是为每道程序分配内存空间,可采⽤两种分 配⽅式,即静态分配⽅式和动态分配⽅式。静态分配⽅式:先把内存划分为大小数量固定的区域之后不在变化。动态分配⽅式:根据进程实际请求分配内存。

2)内存保护:主要任务:⼀是使操作系统内核的空间不会被⽤户随意访问,以保证系统的安全和稳定;⼆是确保每道⽤户程序都在⾃⼰的内存空间中运⾏,互不⼲扰。操作系统实现内存保护的⽅式之⼀: 采⽤界限寄存器存放允许程序访问的地址区间的上限 和下限。

3)地址映射:CPU执⾏程序过程中访问内存时,需要把程序的逻辑 地址转变为物理地址,这个转换过程称为地址映射

4)内存扩充:借助于虚拟技术,从逻辑上扩充内存容量,使系统能 够向⽤户提供⽐物理内存⼤的存储容量。

内存扩充的实现方式:1、请求调⼊: 允许系统在装⼊⼀部分⽤户程序时就启动该程序运 ⾏,在程序运⾏过程中若发现要执⾏的指令或访问的 数据尚未装⼊内存,通过请求调⼊将需要指令或数据 装⼊内存;2、置换功能: 在请求调⼊时,若发现内存空间不⾜,需要先将内存 中的⼀部分内容换到外存中,以便腾出内存空间装⼊ 当前需要的内容。

 进程管理:进程的描述与组织、进程控制、进程同步、进程通信 及进程调度

设备管理:设备管理主要是完成⽤户的I/O请求,为⽤户分配I/O设备。设备管理具有以下功能: 1)缓冲管理 2)设备分配 3)设备处理 4)设备独⽴性和虚拟设备(设备独⽴性功能使应⽤程序独⽴于物理设备)

 

 *************************************************提供用户接口*****************************

图形⽤户接⼝:⽤户可以轻松地通过选择窗⼝、菜单、对话框、 滚动条、图标等简单的操作来完成对作业和任务 的提交与控制。

 程序接⼝:系统调⽤是⼀组预先定义好的模块,它们提供⼀条 管道让应⽤程序或⽤户能由此得到核⼼程序的服务

系统调用:操作系统为程序员提供的接口是一组系统调用

 五、操作系统的体系结构

 

 

 六、 指令的执行

程序是指令的集合,程序的执⾏就是按照某种控制流执⾏指令的过程。

 

 

 ********************************************指令动作***************************************************

 

转载于:https://www.cnblogs.com/jalja/p/11553418.html

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

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

相关文章

数据可视化(BI报表的开发)第二天

9、公用面板样式 所有的面板的基础样式是一致的,提前布局好。 面板 .panel :box-sizing,边框图,大小,定位【51 38 20 132】容器 .inner:padding:24,36,定位外部拉宽标…

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花

关于Xcode 7.3 7.3.1 断点 卡死 无限菊花 只要一打断点,就无限卡死,变量区一直菊花在转,只有强制退出Xcode才能重新编译,找了Google和Stack OvewFlowe依然没有解决办法. 删除项目,重新安装Xcode,重新运行程序一切办法都解决不到,百度上说的"build setting中将Enable Clang…

html5+hbuilder+夜神模拟器+webview

HTML5 Plus应用概述 首先新建一个移动App项目,文件-->新建-->移动APP HTML5 Plus移动App,简称5App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与…

第十九节:Asp.Net Core WebApi知识总结(一)

111 转载于:https://www.cnblogs.com/yaopengfei/p/11558525.html

iOS设计模式 ——单例模式详解以及严格单例模式注意点

一、我们常用的单例有哪些&#xff1f; [[UIApplication sharedApplication] statusBarStyle];//系统中的单例模式&#xff0c;通过它获取到状态栏的style [NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:&…

科学计算库学习报告

numpy与matplotlib的学习随笔 我爱代码 import numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams[font.family]SimHeimatplotlib.rcParams[font.sans-serif][SimHei]labelsnp.array([第一次,第二次,第三次,第四次,第五次,第六次])nAttr6datanp…

前端网页 — 初始化文件

/*--------------------------初始化代码*/ /*清除默认的margin和padding*/ * {margin: 0;padding: 0; }/*清除小圆点*/ ul {list-style: none; }/*清除a标签默认的下划线*/ a {text-decoration: none; }/*表格边框合并*/ table {border-collapse: collapse; }/*去除input标签点…

数据库系统原理(第二章关系数据库 )

一、关系数据库概述 20世纪80年代后&#xff0c;在商用数据库管理系统中&#xff0c;&#xff08; 关系模型 &#xff09;逐渐取代早 期的网状模型和层次模型&#xff0c;成为主流数据模型 SQL3&#xff08;SQL-99&#xff09;:1999年 SQL2&#xff08;SQL-92&#xff09;&…

iOS NSMutableAttributedString常用方法总结

NSAttributedString 叫做富文本&#xff0c;是一种带有属性的字符串&#xff0c;通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格&#xff0c;还可以对段落进行格式化&#xff0c;一般都是对可变富文本&#xff08;NSMutableAttributedString&a…

微信小程序image bindload事件失效不触发

1.先上代码 <template><div :class"[img-wrapper, className]"><img :src"defaultSrc" :mode"mode" class"default-img" :hidden"loaded"><img :src"src" :mode"mode" load"…

数据可视化(BI报表的开发)第三天

20、销售统计-布局 html结构&#xff1a; <!-- 销售额 --><div class"sales panel"><div class"inner"><div class"caption"><h3>销售额统计</h3><a href"javascript:;" class"active&q…

软件开发工具(第1章:绪论)

一、 软件开发工具的由来 计算机语言和软件开发工具的发展和历史 机器语言&#xff08;第一代语言&#xff09;&#xff1a;难以记忆的、无意义的、二进 制的字符串 汇编语言&#xff08;第二代语言&#xff09;针对难以记忆的、无意义的、二进 制的字符串、人们试图用英语中具…

Swift傻傻分不清楚系列(一)常量与变量

菜鸟从零开始认识学习Swift。感谢大神们翻译的文档。搬到自己小黑屋里慢慢看~~~ 本页包含内容&#xff1a; 常量和变量声明常量和变量类型标注常量和变量的命名输出常量和变量注释分号 Swift 是一门开发 iOS, OS X 和 watchOS 应用的新语言。然而&#xff0c;如果你有 C 或者 …

Saiku Table展示数据合并bug修复(二十五)

Saiku Table展示数据合并bug修复 Saiku以table的形式展示数据&#xff0c;如果点击了 非空的字段 按钮&#xff0c;则会自动进行数据合并&#xff0c;为空的数据行以及数据列都会自动隐藏掉。 首先我们应该定位问题&#xff1a; 1.查看接口返回值&#xff0c;会发现接口返回都正…

软件开发工具(第2章:软件开发过程及其组织)

一、软件开发的困难 程序员做好软件工作的关键是什么&#xff1f; 关键是两个转换&#xff1a; 第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换。 &#xff08;不同⾏业的⼈员对于事物的认识⽅法与描述⽅法是不同的。&#xff09; 第二个转换要解决的是人…

数据可视化(BI报表的开发)第四天

练习题&#xff1a; 先找出字符串 ‘8587263747153203552943982’ 中出现次数最多的数字及次数&#xff0c;然后去重后并排序&#xff08;不准使用sort&#xff09;&#xff0c;使得到结果为 ‘0123456789’。 要求1&#xff1a;找到出现最多的数字和出现的次数 // 1、找出出…

Swift傻傻分不清楚系列(二)数据类型

本页包含内容&#xff1a; 整数整数范围IntUInt浮点数类型安全和类型推断数值型字面量数值型类型转换整数转换数整数和浮点数转换类型别名布尔值 整数 整数就是没有小数部分的数字&#xff0c;比如42和-23。整数可以是有符号&#xff08;正、负、零&#xff09;或者无符号&…

Python打卡第四周

这一周鸽了好久&#xff0c; 因为最近在准备比赛。课程一直没跟上。。。 今天整理完本周的知识之后休息一周复习之前的 好了。 上总结 第一天 装饰器定义函数bar&#xff0c;在foo中调用 # def foo(): # # print(in the foo) # # bar() # # foo()def bar():print(in th…

网络经济与企业管理(第 1 章:企业管理概论)

一、企业的概念 什么是企业&#xff1f; 1.企业以市场为导向&#xff0c;以价值增值作为经济活动的目的 2.企业是从事商品生产和流通的经济组织 3.企业经营过程中要自主经营、自负盈亏、独立核算和承担风险&#xff0c;具有法人资格的基本经济单位 企业发展的三个时期&#xff…

js高级 — ES6

ECMAScript 6 目标&#xff1a;学习完 ES6 可以掌握方便后续的开发&#xff0c;未来工作中大量使用 ES6 开发 ECMAScript 6 介绍ECMAScript 6 新增语法内置对象的扩展ECMAScript 6 降级处理&#xff08;学习完node再讲&#xff09; 1. ECMAScript 6 介绍 ES – ECMAScript …