zoukankan      html  css  js  c++  java
  • 浅谈操作系统概念,作用,特性及分类

    操作系统概念:

    操作系统是计算机系统中的一个系统软件,是一些程序模块的集合

    操作系统作用:

    1.资源的管理者
    2.向用户提供各种服务
    3.对硬件机器的扩展 

    第1点中:

    资源分配策略——算法

    静态分配策略:把进程所有需要的资源先都分配给它,但这就导致了有些时候一些资源没有被该进程用到,这就导致了资源浪费问题

    动态分配策略:进程什么时候需要就什么时候给它,若该资源已被占用则该进程阻塞进入该资源相应的等待队列中


    资源管理:进/线程管理,存储管理,文件管理,设备管理,用户接口管理等等

    OS特征:

    并发,共享,虚拟,随机

    并发/并行

    之前在知乎上看到了关于这两者有趣的比喻:

    设想一个场景你正在吃饭,然后有个电话打进来:

    1.你等吃完饭后再去接电话,这说明你不支持并发也不支持并行

    2.你先接电话,接完后吃饭,这说明你支持并发

    3.你一边吃饭一边打电话,这说明你支持并行

    这是具体到人,即人为处理器

    下一个具体到嘴巴,即嘴巴为处理器

    1.你咽一口饭,然后接一句电话,这说明你支持并发,有个先后逻辑关系,就是之前的逻辑上的概念

    2.你咽一口饭还要说一句话,一张嘴办不到这事,至少有两张嘴引申过来就需要两个或两个以上的处理器,就是之前物理上的概念

    另个说法:

    并发是指程序的结构,并行为程序运行时的状态

    并行即为同时执行,判断一个程序是否处于并行状态,看同一时间点是否有超过1个工作单位运行,其中单线程是无法达到并行,因为只有一个工作单位,要将其达到多线程或多进程即可并行。

    并发为程序结构使多个操作可以在重叠时间段内进行

    这样看来并行当然是在重叠时间段内进行,但

    task1与task2在重叠的时间段里进行,但是同一时间点仅仅只有一个代码段(黑色体为某代码)执行,这不是并行便为并发,并发并不描述程序执行的状态,它描述的是一种设计,是程序的结构

     

    个人理解:

    并发:进程B开始时间是在进程A开始时间与结束时间之间强调时间段),称A与B并发(逻辑上

    并行:同一时间(强调时间点)两个进程运行在不同机器或同一机器不同核心上物理上)                                                     可能在平时用的时候并不是很注重这些方面的细分    →  。→

    共享:

    操作系统与多个用户程序共同使用计算机系统中资源,其中分为互斥共享(资源不能同时使用)同时共享(资源可以同时使用)

    虚拟:

    一个物理实体银蛇为人若干个对应逻辑实件(分时或者分空间)

    存储器中每个进程都有独立的的虚拟地址空间(存代码,数据,堆栈)

    随机:

    OS要对不可预测的事件进行响应处理

    OS分类:

    ①批处理操作系统

    工作方式:

    1.用户将作业(作业:由作业说明书(由作业控制语言编写的),用户程序,数据组成,而且都是以卡片的形式,输入设备为卡片机)交给系统操作员

    2.系统操作员将许多用户作业组成一批作业输入到计算机系统中,在系统中形成一个自动转接的连续的作业留

    3.启动OS

    4.OS自动一次执行每个作业,用户无法干预这一过程

    5.由操作员将执行结果交给用户

    追求目标:提高资源利用率,增加作业处理吞吐量

    总体过程:从卡片机读入用户作业和编译链接程序,编译链接用户作业生成可执行程序,执行程序,输出执行结果

    问题:慢速I/O设备与CPU处理速度相差太大,这就导致了当CPU需要数据处理时,I/O设备半天读不进来给CPU,或者半天输不出去数据,此时CPU都要等待即为空闲状态。

    解决方案:

    出现了卫星机慢速I/O设备和高效计算机间再加一个较差的计算机作为缓冲,就像内存与CPU间加上了cache,卫星机接收用户的输入与输出,中间结果存在磁带上,这样CPU就无需等待,这样解决方案叫脱机,即脱离了中间那台高效的计算机。

    批处理系统又分成: 

    单道批处理OS

    多道批处理OS

     

    spooling技术:

    利用磁盘做缓冲,将输入,计算,输出分别组成独立的任务流,使I/O和计算并行(假脱机:磁盘在搞笑的计算机上)

    1.用户作业输入磁盘输入井

    2.按照某种调度策略,选几个搭配得当的作业调入内存

    3.作业运行结果输出到磁盘的输出井

    4.运行结果从输出井到打印机   (输入输出只到输入或输出井,主机不用直接与慢速的I/O打交道,高效快速)

    ps:现代打印机仍用这种技术

    应用spooling技术后:

     ②分时操作系统

    工作方式:多个终端(只有I/O设备没有计算能力)连接到同一主机中,然后OS将CPU时间分成若干个片段,OS以时间片为单位,轮流为每个终端用户服务,每次服务使用掉一个时间片

    追求目标:及时响应               ps.响应时间:以终端发出命令到系统给予回答所经历的时间

     ③实时操作系统

    指计算机能及时响应外部时间请求,在规定的严格时间内完成对该事件处理

    追求目标:对外部请求在严格时间范围内做出响应

    作者水平有限,文章肯定有错还请各位指点!!!感谢!!!

  • 相关阅读:
    读书笔记4瞬时相应网站的高性能架构
    读书笔记3大型网站的架构要素
    读书笔记2大型网站的架构模式
    可用的rtmp卫视直播地址
    html中的特殊符号表示法
    深入理解JS原型链与继承
    css3 media媒体查询器用法总结
    HTML条件注释用法诠释
    jQuery中$符号冲突问题 (转载)
    JS 输出对象的属性以及方法[转载]
  • 原文地址:https://www.cnblogs.com/chaunceyctx/p/7141992.html
Copyright © 2011-2022 走看看