学习笔记——OS——引论

操作系统的定义

操作系统是一组管理计算机硬件资源的软件集合:

  • 用户和计算机硬件之间的接口
  • 控制和管理硬件资源
  • 实现对计算机资源的抽象

计算机系统硬件

冯诺依曼体系结构和哈佛结构的区别

  • 冯诺依曼体系结构:指令和数据共同存储
  • 哈佛体系结构:指令和数据分离

处理器多级Cache的速度及容量

  • L1 Cache:一级缓存的读取需要2-4个时钟周期,容量通常为16~32KB,处理器私有
  • L2 Cache:二级缓存的读取需要10个左右的时钟周期,容量通常为128~256KB,处理器私有
  • L3 Cache:三级缓存需要30-40个时钟周期,容量一般为2~16MB,由所有片内处理器共享

RDwhite的电脑的Cache容量如下:L1 Cache是128KB,L2 Cache是512KB,L3 Cache是3.0MB(只需调出“任务管理器”的“性能选项”)

操作系统简史

批处理系统

计算机能够自动地、成批地处理一个或多个用户的作业:

  • 联机批处理系统:作业的输入/输出由CPU来处理
  • 脱机批处理系统:作业的输入输出脱离主机控制

联机批处理系统

在主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行,然后把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。
优点
监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。
(不用人一直看着)
缺点
在作业输入和结果输出的时候,主机的告诉CPU仍处于空闲状态,即等待慢速的输入/输出设备完成工作:此时主机处于“忙等”状态。
(就好比两个人包饺子,一个负责包,一个负责擀皮。就算包饺子的那个人技术多么的熟练,如果擀皮的人慢,不还要等着吗?)

脱机批处理系统

这种当时的显著特征是:增加一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机,其功能是:

  • 从输入机上读取用户作业并放到输入磁带上
  • 从输出磁带上读取执行结果并传给输出机
    优点
    主机不直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带机发生关系,有效的缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以发挥主机的高速计算能力。
    缺点
    每次主机内存中仅存放一道作业,每当它运行期间发生输入/输出(I/O)请求后,高速的CPU便处于等待低速的I/O完成状态,致使CPU空闲。

多道程序系统

允许多个程序同时进入内存并运行,并允许它们交替在CPU中运行,他它们共享系统中的各种软、硬件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。即宏观上并行,微观上串行

多道批处理系统

  • 多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接、连续的作业流。
  • 成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

分时系统

分时:多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源

  • 多个用户分时
  • 前台和后台程序分时
  • 时间片
    特点:
  • 多路性。若干用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。
  • 交互性。用户可根据系统对请求的相应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。
  • 独立性。用户之间可以相互独立,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。
  • 及时性。系统可对用户输入及时作出响应。分时系统性能的主要指标之一是响应时间,他是指:从终端法出命令到系统予以应答所需的时间。

操作系统的基本实现机制

中断与异常机制

中断的引入:为了支持CPU和设备之间的并行操作

  • 当CPU启动设备进行输入/输出后,设备便可以独立工作,CPU转去处理与此次输入/输出无关的事情;当设备完成输入/输出后,通过向CPU发送中断报告此次输入/输出的结果,让CPU决定如何处理以后的事情。

异常的引入:表示CPU执行指令时本身出现的问题

  • 如算出溢出、除零、取数时的奇偶错误,访问储存地址越界或执行了“陷入指令”等,这时硬件改变了CPU当前的执行流程,转到相应的错误程序或异常处理程序或执行系统调用。

学习笔记——OS——引论的更多相关文章

  1. python学习笔记-os模块参数

    python的os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: os.access(path, mode) 检验权限模式 os.chdir(path) 改变当前工作目录 os. ...

  2. python基础学习笔记——os模块

    #OS模块 #os模块就是对操作系统进行操作,使用该模块必须先导入模块: import os #getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) result = os. ...

  3. Python学习笔记(15)- os\os.path 操作文件

    程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...

  4. swift学习笔记1——基础部分

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  5. RAC学习笔记

    RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾. 在学习Re ...

  6. Ionic2学习笔记(10):扫描二维码

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5575843.html 时间:6/11/2016     说明: 在本文发表的时候(2016-06-1 ...

  7. SQLite学习笔记(七)&&事务处理

    说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性.对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性.sqlite也不例外,虽然简单,依然 ...

  8. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  9. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

随机推荐

  1. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  2. java.lang.VerifyError: com/google/android/gms/measurement/internal/zzw

    android studio  com.google.android.gms:play-services 运行报错:java.lang.VerifyError: com/google/android/ ...

  3. HTML复习总结

  4. Android实战——GreenDao3.2的使用,爱不释手

    1前言 GreenDao是一款操作数据库的神器,经过了2.0版本的升级后,已经被广泛的开发者使用.确实是很好用,入门简单,可以剩去了数据库的建表操作和数据库SQL的编写,博主用了一次之后爱不释手,和以 ...

  5. linux客户端打印报表时操作系统的配置

     报表打印是用applet方式操作的,所以客户端要有jre环境.如果客户端是windows系统的话,安装jre环境比较方便:如果客户端是linux系统的话,即使服务器端reportConfig.x ...

  6. Python3 循环语句

    Python3 循环语句 转来的  很适合小白   感谢作者   Python中的循环语句有 for 和 while. Python循环语句的控制结构图如下所示: while 循环 Python中wh ...

  7. Oracle官网登录下载资源账号密码共享

    Oracle帐号:2696671285@qq.com Oracle密码:Oracle123 可爱博主:AlanLee 博客地址:http://www.cnblogs.com/AlanLee 本文出自博 ...

  8. springMVC结合AjaxForm上传文件

    最近在项目中需要上传文件文件,之前一直都是form提交的,尝试了一下AjaxForm,感觉还比较好用,写篇随笔mark下,供以后使用. 准备工作: 下载jquery-form.js 相关jar: co ...

  9. php 打印

    php 打印功能需要printer.dll文件 扩展下载地址 http://downloads.php.net/pierre/ 这里有很多PHP的扩展

  10. SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错

    本次遇到的问题是CROSS APPLY的内部查询语句中的聚合函数包含CASE WHEN判断,且同时又内部语句的表的列和外部引用的表的列,此时会报下列的错误. 消息 8124,级别 16,状态 1,第 ...