zoukankan      html  css  js  c++  java
  • 学习笔记——OS——引论

    学习笔记——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当前的执行流程,转到相应的错误程序或异常处理程序或执行系统调用。
  • 相关阅读:
    C#获取当前程序运行路径的方法集合
    SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
    Asp.net导出excel时长数字被科学计数法的解决方案。(身份证长数字作为字符处理)
    Stopwatch的用法
    对web.config的ConnectionString加密
    如何检索数据库中的空值和null
    如何将闲置的平板作为第二显示器(分屏)使用
    pyinstaller 打包文件太大
    如何让openssl生成的SSL证书被浏览器认可
    还是那该死的IE~~~
  • 原文地址:https://www.cnblogs.com/rdwhite/p/10578202.html
Copyright © 2011-2022 走看看