学习笔记——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. p2p登录拦截

    1.编写拦截标签 package com.xmg.p2p.base.util; import java.lang.annotation.ElementType; import java.lang.an ...

  2. Fragment的setUserVisibleHint方法实现懒加载

    public abstract class LazyFragment extends Fragment {     protected boolean isVisible;     /**       ...

  3. Fatal error: Can't use function return value in write context

    这个的出错原因很简单,先贴出错代码: <?php $contact = array("id"=>1, "姓名"=>"老高" ...

  4. springMVC入门-04

    这一讲介绍springMVC使用rest风格添加数据的实现.在之前的一讲中添加一个链接跳转到add.jsp页面,对应代码如下所示: <%@ page language="java&qu ...

  5. 避免重复插入数据sql server

    insert into TN_JOBS(JAVA_ID,SERVER_IP,SERVER_PORT,JOB_CODE,JOB_NAME,JOB_START_TIME,JOB_MSG,JOB_STATU ...

  6. SQL SERVER 使用ESCAPE转义

    使用SQL语句查询是开发中常做的事,在实际的情况中,可能会遇到,查询包含某个关键词的所有行,而这个关键词正好也是SQL SERVER的关键词. 下面有一张表Member,有如下的数据: 假如需要查询名 ...

  7. datediff

    DateDiff()是计算机函数. 中文名 日期比较函数 外文名 DateDiff() 作    用 得 出两个日期之间的间隔 用    途 返回两个日期之间的差值 允许数据类型 timeinterv ...

  8. [UI] Pull menu interaction concept - 下拉菜单交互

    Pull menu interaction concept - 下拉菜单交互 http://freebiesbug.com/code-stuff/pull-menu-interaction-conce ...

  9. iOS7中修改StatusBar的显示颜色

    iOS7中修改StatusBar的显示颜色 效果图如下: 在iOS7中想手动修改statusBar的颜色,第一步需要做的就是在plist文件中设置View controller-based statu ...

  10. linux rz上传文件及出错解决方案

    在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了.对于几百M到1G多的大文件要 ...