精华内容
下载资源
问答
  • 什么是操作系统? 操作系统就是管理计算机硬件与...操作系统作用就是和硬件打交道的,把所有跟硬件打交道的工作 封装成了一个一个的系统调用,系统调用就是指挥硬件的二进制命令,3. 操作系统的2个作用的总结 1,操...

    什么是操作系统?

    操作系统就是管理计算机硬件与软件资源的计算机程序,
    同时也是计算机系统的内核与基石
    没有安装操作系统的计算机,通常称作为“裸机”;

    Windows就是操作系统的一种:
    如果想在裸机一个编写的程序,就必须用机器语言书写程序;

    操作系统作用就是和硬件打交道的,把所有跟硬件打交道的工作
    封装成了一个一个的系统调用,系统调用就是指挥硬件的二进制命令,3.

    操作系统的2个作用的总结

    1,操作系统可以直接和计算机硬件打交道
    2,操作系统把操作硬件的这些方法封装成一个又一个系统调用,供给其他成员来访问,
    这样能够简化程序员的工作

    举例:
    如果想听一首音乐,要先下载一个音乐软件,点开即可

    如果没有操作系统的话需要进行以下几步?
    1,将歌曲文件从硬盘加载到内存
    2,使用声卡对音频数据进行编码
    3,将解码后的数据发送给音响

    而有了操作系统后上面的三个方法被操作系统封装了可以直接进行调用

    不同领域的主流操作系统(4种)

    桌面操作系统

    1,windows系列(安全性和稳定性相比较不太好)
    用户群体大

    2,macOS(安全性和稳定性高)
    适合于开发人员,有非一般的开发体验

    3,Linux
    应用软件少,

    服务器操作系统

    1,Linux
    安全稳定免费
    占有率高

    2,Windows Sever
    付费
    占有率低

    嵌入式操作系统
    Linux

    移动设备操作系统
    ios
    Android

    展开全文
  • 操作系统基础知识复习总结

    万次阅读 多人点赞 2018-06-11 13:55:23
    操作系统作用 存储管理 处理机管理 设备管理 文件管理 用户接口 操作系统的定义 是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,是用户与计算机之间...

    操作系统

    操作系统概述

    操作系统作用

    1. 存储管理

    这里写图片描述
    2. 处理机管理
    这里写图片描述
    3. 设备管理
    这里写图片描述
    4. 文件管理
    这里写图片描述
    5. 用户接口
    这里写图片描述

    操作系统的定义

    是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,是用户与计算机之间的接口。

    • 多道批处理系统
    1. 在内存中同时存放多道程序,在管理程序的控制下交替执行,这些作业共享CPU和系统其他资源。
      
    2. ![这里写图片描述](https://img-blog.csdn.net/20180611133851521)
      
    3. 这里写图片描述
    • 分时系统

    把处理机运行时间分成时间片,按时间片轮转的方式,把处理机分配给各联机作业使用。允许多个用户与计算机直接交互。

    • 实时系统

    系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。提供即时响应和高可靠性,响应时间快,可以在毫秒级甚至微秒级立即处理。

    操作系统的特征

    1. 并发

      并发是指两个或多个事件在同一时间间隔内发生。

      微观上还是程序在分时地交替执行。

    2. 共享

      共享是指系统中的资源可供内存中多个并发执行的进程共同使用。

      1. 互斥共享方式

        如打印机、磁带机。在一段时间内只允许一个进程访问该资源。

      2. 同时访问方式

        如磁盘设备

    3. 虚拟

      虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。比如说虚拟处理器,虚拟内存,虚拟外部设备

    4. 异步

      在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

    操作系统最基本的特征是并发和共享,两者互为存在条件。

    进程管理

    程序基本概念

    • 程序执行的两种方式:
      1. 顺序执行:一个计算的若干操作必须按照严格的先后次序顺序地执行,这类计算过程就是程序的顺序执行过程。
      2. 并发执行:指一组在逻辑上相互独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。

    进程基本概念

    • 定义

    进程是指一个具有独立功能的程序对某个数据集在处理机上的执行过程和分配资源的基本单位。

    引入进程的概念,以便更好地描述和控制程序的并发执行。

    程序封闭性是指进程执行的结果只取决于进程本身,不会受外界影响。

    • 进程和程序的区别

    这里写图片描述

    • 进程的组成

    进程通常由程序、数据集合和进程控制块PCB三部分组成。程序和它操作的数据是进程存在的静态实体,而专门的数据结构PCB用来描述进程当前的状态、本身的特性等。

    当进程被中断时,操作系统会把程序计数器和处理器寄存器(上下文数据)保存在PCB中的对应位置,进程状态已被改变为其他的值,例如阻塞态或就绪态。

    PCB是进程存在的唯一标志。故操作系统是根据进程控制块来对并发执行的进程进行控制和管理。

    PCB内含的数据结构主要有:进程标志信息、进程控制信息、进程资源信息、CPU现场信息。

    每个进程包含独立的地址空间,进程各自的地址空间是私有的,只有执行自己地址空间中的程序,且只能访问自己地址空间中的数据,相互访问会导致指针的越界错误。

    对进程的管理和控制功能是通过执行各种原语实现的,如创建原语。

    进程状态

    • 运行态
    • 就绪态
    • 阻塞态
    • 新建态
    • 退出态

    进程创建

    1、给新进程分配一个唯一的进程标识符

    2、给进程分配空间

    3、初始化进程控制块

    4、设置正确的连接

    5、创建或扩充其他数据结构

    线程

    线程基本概念

    引入线程,是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

    线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元。

    线程共享进程拥有的全部资源。

    线程不拥有系统资源,但是它可以访问进程所拥有的系统资源。

    线程没有自己独立的地址空间,他共享他所属的进程的空间。

    线程的实现方式

    1. 用户级线程
    2. 内核级线程

    进程间通信

    • 共享存储
    • 消息传递
    • 管道通信:固定大小,半双工通信,即某一时刻只能单向传输。
    • 共享文件

    处理机调度

    调度的层次

    1. 作业调度,又称高级调度。就是内存与辅存之间的调度。
    2. 中级调度。又称内存调度。引入中级调度是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程,调至外存等待,把此时的进程状态称为挂起状态。当他们具备运行条件且内存又稍有空闲时,由中级调度来决定,把外存上的那些已具备运行条件的就绪进程再重新调入内存。
    3. 进程调度。又称为低级调度。按照某种方法和策略从就绪队列中选取一个进程给CPU。

    进程调度方式

    1. 非剥夺调度方式
    2. 剥夺调度方式

    典型的调度算法

    1. 先来先服务调度算法(FCFS)

    2. 短作业优先(SJF)调度算法

      从后备队列中选择一个或若干个估计运行时间最短的作业,将他们调入内存运行。

    3. 短进程优先(SPF)调度算法

      从就绪队列中选择一个估计运行时间最短的进程,将处理机分配给它,使之立即执行。

    4. 优先级调度算法

      根据能否抢占进程,可将调度算法分为:

      1. 非剥夺式优先级调度算法
      2. 剥夺式优先级调度算法

      根据进程创建后其优先级是否可以改变,分为:

      1. 静态优先级。优先级在创建进程时确定,且在进程的整个运行期间保持不变。
      2. 动态优先级。可动态调整优先级。
    5. 高响应比优先调度算法

      这里写图片描述

    6. 时间片轮转调度算法

    7. 多级反馈队列调度算法

    这里写图片描述

    这里写图片描述

    进程同步

    基本概念

    1. 临界资源

    我们把一次仅允许一个进程使用的资源称为临界资源。

    1. 同步

    同步亦称直接制约关系,他是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。

    实现临界区互斥的基本方法

    软件实现方法

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    硬件实现方法

    1. 中断屏蔽方法

      当一个进程正在使用处理机执行它的临界区代码时,要防止其他进程再进入其临界区访问的最简单方法是禁止一切中断发生。因为CPU只在中断发生时进行进程切换,这样屏蔽中断就能保证当前运行进程将临界区代码顺利地执行完。

    2. 硬件指令方法

      这里写图片描述

      这里写图片描述

    信号量

    信号量只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为“P操作“和”V操作“。

    原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能。

    1. 利用信号量实现同步

    这里写图片描述

    1. 利用信号量实现进程互斥

    这里写图片描述

    管程

    管程是由一组数据以及定义在这组数据之上的对这组数据的操作组成的软件模块,这组操作能初始化并改变管程中的数据和同步进程。

    这里写图片描述

    死锁

    所谓死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。

    死锁产生的条件

    • 互斥
    • 不剥夺
    • 请求和保持
    • 循坏等待

    死锁的处理策略

    1. 预防死锁

    设置某些限制条件,破坏产生死锁的四个必要条件中的一个或几个,以防止发生死锁。

    1. 避免死锁

    在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁。

    银行家算法

    这里写图片描述

    1. 死锁的检测及解除

    通过系统的检测机构及时地检测出死锁的发生,然后采取某种措施解除死锁。

    这里写图片描述

    内存管理

    程序执行过程

    这里写图片描述

    逻辑地址空间与物理地址空间

    这里写图片描述

    覆盖与交换

    • 覆盖

    这里写图片描述

    • 交换

    这里写图片描述

    连续分配管理方式

    • 单一连续分配

    这里写图片描述

    • 固定分区分配

    可以有大小相等的分区和大小不等的分区

    会有内部碎片

    • 动态分区分配

    会有外部碎片,可以通过紧凑技术来解决(就是操作系统不时地对进程进行移动和整理,需要动态重定位寄存器支持。

    这里写图片描述

    非连续分配管理方式

    • 分页存储管理
    • 分段存储管理
    • 段页式管理方式

    虚拟内存管理

    1. 传统存储管理方式的特征
    • 一次性:作业必须一次性全部装入内存,方能运行。
    • 驻留性:作业被装入内存后,就一直驻留在内存中,其任何部分都不会被换出,直至作业运行结束。
    1. 局部性原理

      • 时间局部性

      如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。

      所以时间局部性是通过将进来使用的指令和数据保存到高速缓存存储器中。

      • 空间局部性

      一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问。

      所以空间局部性通常是使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。

    页面置换算法

    1. 最佳置换算法(OPT)

    这里写图片描述

    1. 先进先出页面置换算法

    这里写图片描述

    1. 最近最久未使用置换算法(LRU)

    这里写图片描述

    文件系统

    文件的概念

    文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等。

    在用户进行的输入、输出中,是以文件为基本单位。

    文件的属性

    1. 名称
    2. 标识符
    3. 类型
    4. 位置
    5. 大小
    6. 保护
    7. 时间、日期和用户标识

    文件的逻辑结构

    1. 无结构文件(流式文件)

    无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,他是有序相关信息项的集合,以字节为单位。

    1. 有结构文件(记录式文件)

      1. 顺序文件

      文件中的记录一个接一个地顺序排列,记录通常是定长的,可以顺序存储或以链表形式存储。

      ​ 1. 串结构

      ​ 记录之间的顺序与关键字无关,通常按照存入时间的先后排列。

      ​ 2. 顺序结构

      ​ 指文件中的所有记录按关键字顺序排列。

      1. 索引文件

      2. 索引顺序文件是顺序和索引两种组织形式的结合。索引顺序文件将顺序文件中的所有记录分为若干组,为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项。

      3. 直接文件或散列文件

        给定记录的键值或通过Hash函数转换的键值直接决定记录的物理地址。

    目录结构

    文件控制块和索引

    1. 文件控制块。FCB用来存放控制文件所需要的各种信息的数据结构。FCB的有序集合称为文件目录,一个FCB就是一个文件目录项。

      FCB主要包含以下信息:

      1. 基本信息
      2. 存取控制信息
      3. 使用信息
    2. 索引节点

    目录结构

    1. 单级目录结构。整个文件系统中只建立一张目录表,每个文件占一个目录项。
    2. 两级目录结构。将文件目录分为主文件目录和用户文件目录。主文件目录项记录用户名及相应用户文件目录所在的存储位置。用户文件目录项记录该用户文件的FCB信息。
    3. 多级目录结构
    4. 无环图目录结构。引入改种目录结构是为了实现文件共享。

    文件共享

    1. 基于索引结点(硬连接):共享文件指向同一个索引结点
    2. 基于符号链(软连接):保存共享文件的路径名

    文件保护

    1. 口令保护:通过口令访问文件
    2. 加密保护:对文件进行加密处理
    3. 访问控制:根据访问者的身份进行限制

    文件系统层次结构

    文件系统类型:FAT32、NTFS、ext2、ext3、ext4

    这里写图片描述

    目录实现

    1. 线性列表
    2. 哈希表

    文件实现

    1. 文件分配方式
      1. 连续分配
      2. 链接分配
      3. 索引分配

    这里写图片描述

    文件存储器的空间管理

    1. 空闲表法:把所有空闲块组织成表
    2. 空闲链表法:把所有空闲块组织成链表
    3. 位示图:利用二进制的每位记录空闲块
    4. 成组链接:空闲表和空闲链表的结合,适合大的文件系统

    磁盘调度算法

    1. FCFS(先来先服务算法)

    这里写图片描述

    1. 最短寻找时间优先算法(SSTF)算法

    这里写图片描述

    1. 扫描(SCAN)算法(又称电梯算法)

    这里写图片描述

    1. 循环扫描(C-SCAN)算法

    这里写图片描述

    这里写图片描述

    这里写图片描述

    I/O管理

    I/O控制方式

    1. 程序直接控制方式

    2. 中断驱动方式

      允许I/O设备主动打断CPU的允许并请求服务,从而“解放”CPU,使得其向I/O控制器发送读命令后可以继续做其他有用的工作。

    3. DMA方式

      DMA方式的基本思想是在I/O设备和内存之间开辟直接的数据交换通路,彻底“解放”CPU。DMA方式的特点:

      1. 基本单位是数据块
      2. 所传送的数据,是从设备直接送入内存的,或者相反
      3. 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在DMA控制器的控制下完成的。

      这里写图片描述

    4. 通道控制方式

    这里写图片描述

    这里写图片描述

    这里写图片描述

    展开全文
  • 操作系统引论 操作系统是配置在计算机硬件上的第一层软件,...操作系统的目标和作用 操作系统的目标 在计算机系统上配置的操作系统,其主要目的是:方便性、有效性、可扩充性和开放性; 方便性 未配置操作系...

    操作系统引论


    操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。其主要功能为管理计算机设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供简单的接口,便于用户使用。OS是现代计算机系统中最重要的和最基本的系统软件。

    操作系统的目标和作用

    操作系统的目标

    在计算机系统上配置的操作系统,其主要目的是:方便性、有效性、可扩充性和开放性;

    1. 方便性

      未配置操作系统的计算机系统难以直接使用,因为此时对计算机系统的操作需要使用机器语言来完成;通过操作系统提供的各种命令来操作计算机极大方便了用户,似的计算机系统易学易用;

    2. 有效性

      操作系统的有效性有两层含义:

      第一层含义是提高系统资源的利用率。在未配置操作系统的计算机系统中,处理机和IO设备经常处于空闲状态,系统资源利用率地下;

      第二层含义是提高系统的吞吐量。操作系统通过合理组织计算机的工作流程,加速程序的运行,缩短程序的运行周期以实现系统吞吐量的提高;

      可以说,提高系统资源的利用率是推动OS发展的最重要动力;

      方便性和有效性是设计OS时最重要的两个目标。由于以前计算机系统比较昂贵,有效性显得更为重要;现在随着硬件的高速发展,方便性越来越突出,比如微机操作系统中的图形用户界面以及为程序员提供的大量系统调用接口方便了计算机系统的使用者和开发者;

    3. 可扩充性

      为了适应计算机硬件、计算机体系结构以及应用程序的发展,操作系统需要有很好的可扩充性。而可扩充性主要受操作系统结构的影响,因此提高操作系统的可扩充性在一定程度上促进了OS结构的不断发展:从早期的无结构到发展成模块化结构进而发展到层次化结构,现在OS广泛采用微内核结构。

      微内核结构可以方便地添加、修改相应的功能和模块,具有良好的可扩充性。

    4. 开放性

      计算机应用的日益普及,使得计算机软、硬件的兼容变得重要起来;随着操作系统的应用环境由单机环境转向网络环境,其开放性变得尤为重要;

      所谓的开放性是指,系统遵守世界标准规范,特别是开放系统互联OSI国际标准,遵守国际标准开发软、硬件都可以彼此兼用,方便实现互联;

      开放性是20世纪90年代后计算机技术的一个核心问题,也是衡量一个新系统能否被广泛应用的关键;

    操作系统的作用

    操作系统在计算机系统中所起的作用可以从用户、资源管理以及资源抽象等不同角度考虑;

    1. OS是用户和计算机硬件系统之间的结构

      OS位于用户和计算机硬件系统之间,使用户可以快速、准确、可靠地操作计算机硬件以及运行自己的程序。用户有三种方式使用计算机:命令(直接使用操作系统提供的命令来使用计算机硬件)、系统调用(编写一段C程序,通过操作系统提供的系统调用来使用计算机)、图标-窗口(如在Windows系统中通过双击图标等方式使用计算机);

    2. OS是计算机系统资源的管理者

      计算机系统中存在多种硬件和软件资源,总体来说这些资源可以分为:处理机、存储器、IO设备以及文件(包括程序和数据),OS的作用就是管理这些系统资源;

      1. 处理机管理:分配和管理;

      2. 存储器管理:内存分配和回收;

      3. IO设备管理:分配与操作;

      4. 文件管理:存取、共享、保护

        由于多用户同时使用一台计算机时,会发生系统中共享资源需求的冲突。操作系统需要对使用资源的请求作出授权以协调多用户的使用;

    3. OS实现了对计算机资源的抽象

      OS是铺设在计算机硬件上的多层软件的集合;它们不但增强了系统的功能,还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象模型;随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来就越方便;

      这里需要注意的是,操作系统将具体的硬件抽象为一组数据结构来实现对硬件的隐藏,并向上提供一组针对这一数据结构的方法来隐藏对硬件的操作。

    操作系统的发展过程

    未配置操作系统的计算机系统

    1. 人工方式

      存在两方面缺点,一是用户独占全机;二是CPU等待用户操作;人工操作使得计算机效率低下,这也被称为人机矛盾,主要体现在CPU速度和IO设备速度的不匹配上面。

    2. 脱机输入/输出方式

      用户首先将记录有程序和数据的纸带在外围机的控制下输入磁带上,然后当CPU需要这些数据的时候便直接从磁带上获取;当CPU输出时,也是先将数据从高速内存送到磁带,然后再通过另外的外围机将磁带上的结果通过相应输出设备进行输出;因为系统的输入和输出都是在外围机的控制下完成,即在脱离主机的情况下完成,这种方法称为脱机输入/输出方式。这种方式有两个好处:

      一是减少了CPU等待时间。因为装带、卸带、数据从低速IO设备到高速磁带(或者相反)的操作是在外围机上进行的,并不占用主机时间。但是,这是从一道作业执行的角度来看,当有多道作业需要处理时,作业切换时间仍旧存在,即磁带上还是只有一道作业的数据。

      二是提高了IO速度。CPU从磁带上获取数据的速度要高于从纸带上直接获取的速度。IO速度虽然提高,但和CPU的处理速度还是不匹配的。

    这个时期的计算机属于第一代计算机。

    单道批处理系统

    1. 为实现对作业的连续处理,将一批作业以脱机输入/输出的方式输入到磁带上,并为系统添加监控程序,计算机系统在监控程序的控制下,连续处理这一批作业;

      虽然系统对作业的处理是成批进行的,但是内存中始终还是只有一道作业,故称为单道批处理系统。单道批处理系统旨在解决人机矛盾和CPU与IO设备速度不匹配的问题。这和操作系统的目的是一致的,但是单道批处理系统仍然不能充分利用系统资源,最终被淘汰。

    2. 单道批处理系统的缺点主要体现在当程序发出IO请求后,CPU便处于等待状态,必须在IO处理结束后才能继续处理,而IO设备的速度又不是很高(和CPU的处理速度相比),所以CPU的空闲时间仍旧很多。

      从这里可以看出,单道批处理系统减小了作业切换时间,即减少了CPU在系统执行某一作业之前以及之后的空闲时间,但是并没有减少CPU在处理作业过程中产生的空闲时间。即磁带上存有多道作业,但是内存中仍然只有一道作业。

    这个时期的计算机多属于第二代晶体管计算机

    多道批处理系统

    1. 为了进一步提高计算机系统的吞吐量和资源利用效率,出现了多道批处理系统。多道批处理系统将用户提交的作业视为一个队列,然后由作业调度程序按照一定的算法从该队列中选出若干作业调入内存,使它们共享计算机系统资源。由于内存中存在多道作业,当一道作业发出IO请求时,CPU可以执行其他作业,从而减少了CPU空闲时间。
    2. 多道批处理系统的优缺点:
      1. 资源利用效率高:该方式减少了CPU在处理作业中产生的空闲时间,同时内存中存有多道作业,也提高了内存的利用效率,IO设备的利用率也得到了提高;
      2. 系统吞吐量大:这是因为CPU等系统资源一直处于“忙碌”状态,并且只有当作业完成以及无法继续执行时才发生调度切换,系统的开销也相对较小。(即没有频繁的切换)
      3. 平均的周转周期长,因为作业要排队被处理。
      4. 作业和用户之间没有交互能力。一旦作业被送入系统,直到作业完成,用户都不能和作业进行交互,这为程序调试带来不便;
    3. 多道批处理系统需要处理的问题:
      1. 处理机分配问题:既要满足各道作业的运行需求,又要提高处理机的利用率;
      2. 内存分配和保护问题:系统需要为每道作业分配必要的内存空间,同时要保证该空间不被其他作业打扰;
      3. IO设备分配问题:同处理机有相同的要求;
      4. 文件组织和管理问题:系统既要有效组织存放在系统中的大量的程序和数据又要便于用户使用,保证数据的安全性;
      5. 作业管理问题:系统中存在各种作业,需要对它们进行管理;
      6. 用户和系统的接口问题:用户和计算机系统的交互方式,计算机系统应该对用户友好。

    从这里可以看出,随着系统功能和性能的提高,所涉及的管理管理越来越多:从没有管理程序到为系统添加监督程序,再到增加调度程序等。而这些软件正是操作系统的重要组成部分。

    分时系统

    1. 由于多道批处理系统中用户没有办法同作业进行交互,为满足用户同作业的交互,一种新型的操作系统出现了,即分时系统。分时系统的出现是为了满足用户对人-机交互的需求,此时计算机系统不再单纯的执行计算任务,具有了人-机交互能力的计算机系统,功能上将更加丰富。同时由于计算机系统当时比较昂贵,一台计算机要同时供很多用户共享使用,用户希望共享的过程更加友好即共享状态下的使用就像是独占使用。
    2. 分时系统需要解决的问题:
      1. 及时接受:为解决该问题,分时系统中配有多路卡。多路卡的作用就是分时多路复用,即主机以很快的速度周期性扫各个终端,接收数据。比如,有64个终端共享一台计算机主机,那么只需配置一个64多路卡。同时还需要为每一个终端分配相应的缓冲区进行暂存用户的命令。
      2. 及时处理:人机-交互的关键是用户可以对其程序进行实时控制,这要求用户的程序需要在用户发出控制指令的时候位于内存当中并且频繁获得处理机进行运行;否则就无法实现用户控制;因此,分时系统彻底改变了批处理系统的运行方式:
        1. 作业直接入内存。
        2. 采用轮转运行的方式,引入时间片的概念,每一个程序每次只能运行一个时间片的时间,从而避免一个作业长期占用处理机的现象;
    3. 分时系统的特点:
      1. 多路性:多台终端(显示器和键盘,即输入和输出设备)同时连接到一台主机,按分时原则共享系统资源;
      2. 独立性:各个终端独立运行,互不干扰;
      3. 及时性:用户的请求通常在很短时间里就能得到响应。
      4. 交互性:用户通过终端可以同系统进行广泛的交互。即请求系统提供多方面的服务。

    促进多道批处理系统形成和发展的主要动力是提高系统吞吐量和资源利用率,而促进分时系统形成和发展的主要动力则是用户关于人机交互以及共享主机的需求;

    实时系统

    实时系统是这样的一个系统:系统的正确性不仅通过运算结果确定还取决于产生这些结果的时间,它必须对所接受的信号及时或者实时做出响应。即实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调统一地运行;实时任务可以分为周期性实时任务和非周期性任务,它们都有一个Deadline,包括开始截止时间以及完成截止时间。也可以分为硬实时任务以及软实时任务。硬实时任务要求高实时性;软实时任务则要求比较松。

    实时系统常用于工业控制系统、信息查询系统、多媒体系统、嵌入式系统;

    推动操作系统发展的主要动力

    1. 不断提高计算机资源的利用率(操作系统的目标之一:有效性);
    2. 方便用户,提供良好的人机交互环境(操作系统的目标之一:方便性);
    3. 计算机硬件的不断发展;
    4. 计算机体系结构的不断完善和发展;
    5. 不断出现的新的应用需求;

    操作系统的基本特性

    并发

    正是由于系统中的程序可以并发执行,才使得OS能有效提高系统中的资源利用率,增加系统的吞吐量。

    1. 并发与并行:并行和并发既相似又有区别。并行性是指额两个或者多个事件在同一时刻发生。并发性是指两个或者多个时间在同一时间间隔内发生;

      在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,某一时刻仅有一道程序在执行,即微观上是交替执行,宏观上并发执行。

      倘若在计算机系统中有多个处理机,那么并发执行的程序便可以被分配到多个处理机上,实现并行执行。

    2. 引入进程:进程是指在系统中能独立运行并作为资源分配的基本单位, 它由指令、数据结构和堆栈等组成,是一个能独立运行的活动实体。

    共享

    OS环境下的资源共享或者称为资源复用是指系统中资源可以供多个并发执行的进程共同使用。既限定了使用的时间(进程在内存期间)也限定了使用空间(内存)。因为系统内的资源远远小于各个进程的需求总和,所以操作系统需要对共享资源进行管理。由于资源的属性不同,对资源复用的方式也不同,总体上分为两种:互斥共享和同时访问。

    1. 互斥共享

      在一定时间段内,只允许一个进程访问该资源;这种资源也称为临界资源,对临界资源的访问称为互斥式访问。系统中的许多资源都属于临界资源。

    2. 同时访问

      系统中有些资源允许在一段时间内有多个进程同时访问。这里所谓的同时是指,在单处理机环境下是宏观意义,即一段时间内多个进程访问了该资源(也许某个进程对该资源的使用尚未完毕,该资源就被其他进程夺取,这在互斥访问中是不行的),微观意义上来说各个进程对该资源的访问是交替进行的。

    共享和并发是多用户多任务系统的两个最基本特征。没有并发,就谈不上共享;没有互斥,共享就的没有意义(对资源的访问可能出错);

    虚拟

    OS中,将一个物理实体映射为多个逻辑实体的技术成为虚拟。OS中常见的虚拟手段有时分复用技术和空分复用技术

    1. 时分复用技术

      时分复用技术能提高资源利用率的根本原因是,它利用设备为某一任务服务的空闲时间,转而为其他任务服务,设备得到充分利用。

      如虚拟处理机技术,利用进程,让多道程序并发执行,虽然只有一台处理机,但是却有多道程序在运行,逻辑上增加了处理机的数量,提高了处理机的利用率。分时系统就利用了时分复用技术来实现良好的人机交互性。除了虚拟处理机技术,还有虚拟设备的技术。比如虚拟存储器技术,通过分时使用内存空间,使得对内存空间有着较大需求的程序在较小的内存中即可运行。

    2. 空分复用技术

      空分复用技术的例子就是在内存方面,利用存储器的空闲空间分区域存放和运行其他多道程序,以此提高内存的利用效率;

    异步

    在多道程序环境中,由于进程的并发执行以及对资源的互斥访问等原因,进程的执行并不是一气呵成的,进程何时能够获得处理机得以运行,何时因为访问的资源无法使用而停止都是未知的,即进程的推进方式是人们不可预知的,这就是进程的异步性。

    操作系统的主要功能

    这部分大体上和操作系统的作用这部分内容相同,但是细节上更为具体~

    处理机管理

    1. 进程控制:进程的生(创建进程、分配需要的资源)和死(撤销进程、回收分配的资源)以及进程状态的转换。
    2. 进程同步和互斥:为使多个进程有条不紊地执行,需要一定的机制来协调各个进程的运行。常见的协调方式有:进程互斥,主要发生在对临界资源的访问时;进程同步,主要发生在需要控制进程的执行次序时。最简单的互斥机制就是为临界资源加锁;而实现同步则可以使用信号量机制。
    3. 进程通信:进程通信常发生在需要多个进程相互合作去实现某一目标的时候,进程通信的本质是进程之间的信息交换。当相互合作的进程在同一计算机系统时,发送进程可以使用发送命令直接将信息放入目标进程的消息队列中,当需要通信的进程不在同一计算机系统中时就需要另外一些策略。
    4. 调度:包括作业调度和进程调度。作业调度是通过一定的算法策略从外存上将作业放入内存,分别为它们创建进程,分配资源,使之处于就绪状态;进程调度是从就绪状态的进程队列中选择一定的进程为之分配处理机,使它可以运行。

    存储器管理

    1. 内存分配:为每道进程分配内存空间,需要考虑如何分配才能提高存储器的利用效率,减少不必要的空间碎片,如何处理进程在运行时提出的内存申请的问题;分配策略上包括静态分配和动态分配。静态分配是指作业可使用的空间大小在作业装入的时候就已经确定,不允许运行时申请以及移动。动态分配则相反。
    2. 内存保护:存在两种保护,一是各个用户进程只能在自己的内存空间中运行,不得使用其他非共享用户进程的内存空间;二是用户进程不得访问操作系统的程序和数据。常见的内存保护机制是设置两个界限寄存器,标志可使用空间的上界和下界,系统对每条指令所要访问的地址进行越界检查。
    3. 地址映射:编译和链接所得到的可执行文件,其程序地址是从0开始的,需要操作系统将从0开始的逻辑地址转换为物理地址,需要硬件的支持。
    4. 内存扩充:指通过虚拟存储技术,从逻辑上扩充存储器的大小,使更多的用户进程可以并发执行。常见的机制包括:请求调入和置换功能。请求调入允许在仅装入部分程序和数据的情况下就启动该程序的执行,当所需要的指令或者数据不在内存空间的时候,通过向OS发出请求,由OS将所需要的部分调入内存。置换则是指,允许将内存中暂时不用的程序和数据移至硬盘,以腾出内存空间。

    设备管理

    总体来说,设备管理内容包括,响应进程的IO请求、为进程分配IO设备,完成IO操作;提高IO速度,提高CPU和IO设备的利用率。

    1. 缓冲管理:通过在CPU和IO设备之间设置缓冲,有效解决IO设备和CPU的速度不匹配问题,提高CPU的利用率,提高系统的吞吐量。常见策略包括单缓冲、双缓冲以及缓冲池等。
    2. 设备分配:根据用户IO请求、系统现有资源状况以及设备分配策略来分配设备。同时还需要考虑,设备分配完后,系统是否安全等问题。
    3. 设备处理:检查IO请求是否合理,了解设备状态,读取有关的参数和设置设备的工作方式,然后项设备控制器发出IO命令,启动IO设备完成相应IO操作,响应中断请求并调用相应中断处理程序进行处理。

    文件管理

    1. 文件存储空间的管理:由文件系统统一管理文件以及文件的存储空间以提高外存的利用率和读取速度,为此系统需要设置相应的数据结构,用于记录文件存储空间的使用情况。
    2. 目录管理:为每个文件建立一个目录项,以记录文件的详细情况。并通过对目录项的管理提供文件的共享以及快速的目录查询等功能,提高文件检索速度。
    3. 文件的读写管理和保护:文件的读写管理主要体现在对文件读写指针的管理;文件的保护主要是防止未经核准的用户存取文件以及防止用户以错误方式使用文件。

    提供操作系统与用户之间的接口

    用户接口包括三类:联机用户接口、脱口用户接口和程序用户接口;

    1. 联机用户接口:由一组键盘操作命令及命令解释程序组成。通过在终端或者控制台输入一条命令然后通过命令解释程序解释执行来实现对用户作业的控制;
    2. 脱机用户接口:为批处理作业用户提供,用户首先将对作业进行的控制和干预命令实现写到作业说明书上,然后将其同作业一起提交给系统,系统处理作业的时候会通过命令解释程序对作业控制说明书上的命令解释执行,以此实现用户对其作业的控制;
    3. 图形用户接口:就是通过图形化的操作界面,用容易识别的各种图标来将系统的各项功能、各种应用程序和文件直观表现出来。以鼠标取代命令的键入等。
    4. 程序接口:主要为用户的程序使用操作系统的服务提供、访问系统资源提供便利。它由一组系统调用组成。是用户程序取得系统服务的唯一途径。
    展开全文
  • 这篇主要记述操作系统的目标与作用,回顾操作系统发展历程。概念居多,了解即可。 操作系统的目标: 1.有效性:包含两个方面的含义: (1)提高系统资源利用率。使CPU与I/O设备保持忙碌状态而得到有效利用。使...

    写在前面:

    这个类别将记录我学习操作系统的学习笔记。会将视频讲解与书本内容进行内容提炼。每天学习一点,坚持下来会有收获。这篇主要记述操作系统的目标与作用,回顾操作系统发展历程。概念居多,了解即可。

    操作系统的目标:

    1.有效性:包含两个方面的含义:
    (1)提高系统资源利用率。使CPU与I/O设备保持忙碌状态而得到有效利用。使内存与外存中的数据因有序而节省空间。
    (2)提高系统吞吐量。合理组织计算机工作流程,改善资源利用率,加速程序运行,缩短程序运行周期。

    2.方便性:使计算机更容易使用。硬件只识别0与1,那么如果没有OS,用户要使用计算机就需要使用单纯的0与1的字符串来操作机器。有了OS,用户可以直接使用OS提供的各种命令来操作机器。

    3.可扩充性:要能适应计算机硬件、网络、体系结构与应用发展的要求。保持对上接口可扩充。应采用层次化结构,能方便对OS进行扩充。比如现在采用的微内核结构与客户服务器模式。

    4.开放性:系统能遵循世界标准规范,遵循开放系统互连(OSI)国际标准。

    随着计算机技术的发展,有效性在最开始的时候更加重要,但后来方便性更加重要,现在随着技术发展,可扩充性与开放性也是必须要考虑的点。

    操作系统的作用:

    1.OS作为用户与计算机硬件系统之间的接口。OS处于用户与硬件系统之间。OS可通过:
    (1)命令方式(如DOS命令行操作);
    (2)系统调用方式(如系统提供对硬件操作函数);
    (3)图形、窗口方式(各种用户图形界面)。

    2.OS作为计算机系统资源的管理者。主要管理四类资源:
    (1)处理器管理:分配和控制处理机;
    (2)存储器管理:内存的分配与回收;
    (3)I/O设备管理:I/O设备的分配与操作;
    (4)文件管理:文件的存取、共享与保护。

    3.OS实现对计算机资源的抽象。OS用作扩充机器也叫做虚拟机,在只有硬件接口的裸机上提供了一层软件接口,使用户不用直接面对0与1的硬件电路,而采用OS提供的各种命令。

    操作系统的发展过程:

    1.无操作系统的计算机系统
    最开始是人工操作方式,然后产生脱机输入/输出方式。事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据与程序输入到磁带上。当CPU需要这些程序和书局时,再从磁带上将其高速调入内存。

    2.单道批处理系统
    一批作业以脱机方式输入到磁带上,在监督程序的控制下连续处理。作业就是从程序提交到外存上,到计算机完整执行并输出结果为止的一套完整流程的任务。
    特征:(1)自动性,无人工干预;(2)顺序性,按进入内存的先后执行;(3)单道性,内存中只保持一道作业。
    但缺点就是不能很好的利用系统资源。而且开弓没有回头箭,这样的系统没有用户交互能力,因此修改与调试非常不方便。

    有关于作业的概念可参考后面的学习内容: 操作系统学习-10.处理机调度层次与队列模型

    3.多道批处理系统
    多道:内存中同时存放多个相互独立的程序。多道技术是共享的基础。

    4.分时系统
    分时操作系统能将一台计算机提供给多个用户同时使用,这里的同时再是人的感知时间段内,比如1~3s。提高计算机的利用效率。分时系统常被用于查询系统中,满足众多查询用户的需要。分时系统的特征有:
    (1)多路性。允许一台主机被多台联机终端连接,系统按分时原则为每个用户提供服务。微观上,每个用户作业轮流运行一个时间片。多路性也是同时性。
    (2)独立性。每个用户独占一格终端,彼此互不干扰,这样每个用户感觉自己一人使用主机。
    (3)及时性。用户请求能在1~3s内获得响应,机器反映在人们等待时限内。
    (4)交互性。用户可以通过终端向系统请求多种服务,如文件编辑、数据处理与资源共享等。

    5.实时系统
    实时操作系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地执行。注意实时系统对响应时间要求更加严格,常用于一些特定领域的需求。比如实时控制,如武器火力系统系统、飞机自动驾驶系统、导弹制导系统等。还有实时信息处理需求,比如早期订票系统,情报检索系统等。

    实时系统与分时系统的特征比较:
    (1)多路性。实时系统在系统周期性对多路现场信息进行采集。分时系统根据用户情况有关,时多时少。
    (2)独立性。各系统终端都要求彼此独立,互不干扰。
    (3)及时性。实时信息处理系统与分时系统都以人能接受的等待时间来确定系统响应时间。但实时控制系统一般为秒级到毫秒级。
    (4)交互性。实时信息处理系统中人与系统的交互仅限于访问系统某些特定专用程序。相比分时系统交互性更好。
    (5)可靠性。实时系统更可靠。往往采用多级容错措施来保证系统与数据的安全。

    展开全文
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...
  • 1、什么是操作系统(操作系统作用)? 操作系统是控制和管理计算机各种软件和硬件资源、有效地组织多道程序运行的系统软件,是用户与计算机之间的接口。 2、操作系统功能:存储器管理、处理机管理、设备管理、文件...
  • 操作系统的目标和作用

    千次阅读 2017-09-04 20:49:35
    1.操作系统的目标: ...2.操作系统作用: 1.OS作为用户与计算机硬件系统之间的接口。 2.OS作为计算机系统资源的管理者。 3.OS实现了对计算机资源的抽象。 3.推动操作系统 1.不断提高计算机资源的利用率。
  • 一、操作系统的目标 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。 目前存在...
  • 操作系统-操作系统简介

    千次阅读 多人点赞 2019-03-19 11:40:40
    一.操作系统简介: 1.1.0 什么是操作系统 操作系统的定义 Q1:操作系统是软件还是硬件? Q2:操作系统是必要软件...操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境。 1.1.2 资源的管理...
  • 操作系统的功能、作用、分类

    万次阅读 多人点赞 2016-04-04 10:16:04
    操作系统的功能、作用以及分类
  • 带你简单了解Linux操作系统

    千次阅读 多人点赞 2020-09-05 09:50:07
    Linux操作系统简述 这里写目录标题Linux操作系统简述什么是...操作系统作用是管理和控制计算机系统的硬件与软件资源 Intel x86架构上常见的操作系统:Windows、Linux、Unix Linux操作系统 Linux是开源的基于Intel x86
  • 操作系统操作系统内核

    万次阅读 多人点赞 2017-07-06 10:39:57
    总的说来,一个操作系统包含了内核(是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件)以及其他计算机系统所必须的组件(如函数库、编译器、调式工具、文本编辑器、网站服务器,以及一个Unix的...
  • 操作系统概论【一】 - - 操作系统概述

    万次阅读 多人点赞 2020-03-08 15:55:39
    操作系统的定义:操作系统作用:二:操作系统的发展1.单道批处理系统:单道处理系统的特点:单道处理系统的缺点:2.多道批处理系统多道处理系统的特点:多道处理系统的缺点:3.分时操作系统分时操作系统的特点:分...
  • 操作系统第一章操作系统引论

    千次阅读 2018-07-05 21:21:27
    计算机操作系统 一.操作系统引论 1.操作系统的目标和功能 目标 方便性 有效性 提高系统资源利用率 提高系统吞吐量 可扩充性 开放性 作用 OS作为用户与计算机硬件系统之间的接口 命令方式 系统调用方式 ...
  • 操作系统作用和功能

    千次阅读 2013-03-14 21:02:32
    上使用的操作系统种类很多,但其基本类型可以划分为三类,即批处理操作系统、分时操作系统和实时操作系统。 批处理操作系统的设计目标是为了最大限度地发挥 计算机 资源的效率;在这种操作系统环境下,用户要把...
  • 文章目录操作系统运行原理操作系统作用常见的操作系统windows虚拟机介绍 操作系统运行原理 计算机分为软件与硬件,硬件即是键盘,鼠标,硬盘。。。。等等 而操作系统则是基于硬件上的,相当于一个大型软件,而应用...
  • 深入理解操作系统[1]:操作系统概述

    千次阅读 2018-11-13 15:09:17
    操作系统作用4. 操作系统的特征5. 操作系统的功能发展过程0. 无操作系统1. 单道批处理系统2. 多道批处理系统3. 分时系统4. 实时系统微机操作系统的发展1 单用户单任务2 单用户多任务操作系统3 多用户多任务操作...
  • Linux操作系统

    千次阅读 2020-06-30 22:47:36
    Linux 操作系统 文章目录Linux 操作系统1. Linux操作系统认知1.1 操作系统(Operation System简称OS)1.2 Linux系统介绍1.3 文件系统1.4 Ubuntu使用2. Linux常用命令2.1 终端与命令行2.2 Linux常用命令2.2.1 帮助...
  • 操作系统知识点整理(完整版)

    万次阅读 多人点赞 2017-12-26 22:34:05
    第一章 操作系统概述 1)一个完整的计算机系统是由硬件系统和软件系统两大部分组成 2)计算机软件是指程序和与程序相关的文档的集合 3)按功能可把软件分为“系统软件”和“应用软件”两部分 系统软件:操作系统语言...
  • 操作系统解析

    千次阅读 2019-09-15 17:45:42
    第三节: 操作系统简介3.1 为什么要有操作系统3.2 什么是操作系统3.3 操作系统与普通软件的区别3.4 操作系统发展史3.5 附录及参考资料...
  • 操作系统原理

    千次阅读 多人点赞 2019-09-07 19:20:17
    目录 目录 ... 操作系统原理1 —— 概念 >> 操作系统原理2——OS结构 >> 操作系统原理3——多道程序 >> 操作系统原理4——存储管理 >> 操作系统原理5——文件管理 ...
  • Linux操作系统基础(完结)

    万次阅读 多人点赞 2016-03-09 21:00:45
    一、Linux操作系统概述 二、Linux操作系统安装 三、Linux文件系统及文件基础 四、Linux操作系统命令使用基础 五、Linux应用程序的安装与卸载基础 五、用户及进程 六、相关信息查询 七、网络配置 八、Linux...
  • 操作系统教程总结

    万次阅读 多人点赞 2016-12-19 18:31:55
    操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。 虚拟机提供进程运行的逻辑计算环境。
  • 操作系统作用主要有三个:一是方便性,一个未配置操作系统的计算机是极难使用 的,因为计算机硬件只认识 0 和 1 ,用户要想与计算机交流就必须使用机器指令,要想输 入数据或打印数据,也必须自己...
  • 操作系统题库

    万次阅读 多人点赞 2019-01-11 22:55:44
    2.如果操作系统具有很强的交互性,可同时供多个用户使用,系统响应比较及时,则该操作系统属于(分时系统)类型; 3.操作系统提供给程序员的接口是(系统调用)。 4.操作系统的4大功能是(处理机管理)、存储器管理...
  • 操作系统复习习题

    万次阅读 多人点赞 2020-07-07 08:56:31
    1-2下面什么功能不是操作系统直接完成的功能?删除文件 1-3早期的OS主要追求的是?B有效性 1-4单处理机计算机系统中,下面什么操作是可以并行的?A处理机操作和IO操作 1-5要求在规定的时间内对外界的请求必须给予...
  • 为了便于系统控制和描述进程的活动过程,在操作系统核心中定义了一个专门的数据结构,称为进程控制块( Process Control block,PCB)。 操作系统利用PCB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的...
  • 最近在研究操作系统这门基础专业课,在前面也写了篇博客–进程和线程的区别,从操作系统的发展过程来引出进程和线程被引入到操作系统的目的,并从六大方面对进程和线程进行对比。在里面简单的提了下操作系统的发展...
  • 操作系统 经典分布式操作系统 数据中心操作系统 问题和挑战 效率 安全 观察 新抽象的可行性 总结 前言 本文是Malte Schwarzkopf的博士论文《Operating system support for warehouse-scale computing》一...
  • 写给大忙人看的操作系统

    万次阅读 多人点赞 2020-02-28 12:34:12
    操作系统 现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。 然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有计算机系统的细节,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,575,569
精华内容 630,227
关键字:

操作系统的作用