操作系统重点总结(部分)

第一章 计算机系统概述

1、操作系统的定义(PPT):操作系统是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件。

2、操作系统的定义(王道):操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序的集合。

3、操作系统的目标:方便性、有效性、开放性、可扩充性

4、操作系统的作用:用户与计算机硬件资源的桥梁(接口)、用户与计算机系统资源的管理者、对计算机资源的抽象。

操作系统作为计算机硬件资源与用户之间的接口,提供了命令接口和程序接口。命令接口分为联机命令接口(交互式命令接口)和脱机命令接口(批处理接口),他们的区别在于:交互式命令接口是用户每给一条命令,操作系统就执行一条命令;而批处理命令是用户将多条命令写入一个文件,操作系统一次性执行这一文件。程序接口又叫系统调用,用户通过表程序中使用这些系统调用来请求操作系统提供服务。

操作系统作为系统资源的管理者,需要进行处理机管理、存储器管理、文件管理和设备管理。

5、操作系统的特征:并发、共享、异步、虚拟。其中并发和共享是最基本的特征。

并发是指两个或多个事件在同一时间间隔内发生(注意和并行的区别)。

共享是指系统中的资源可供内存中多个并发执行的进程共同使用。分为互斥共享方式和同时访问方式,举个例子方便理解,互斥共享方式就像是不同进程对打印机的访问,不可以同时,只能先后;同时共享方式就是可以同时访问一个资源,比如音乐播放进程和视频播放进程会同时拥有扬声器资源,导致你可以同时听见两种声音。

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

虚拟是指把一个物理上的实体转变为若干逻辑上的对应物。操作系统的虚拟分为时分复用技术和空分复用技术。

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

6、操作系统的发展阶段:

(1)手工操作阶段(无此阶段操作系统)。

优点:交互性好

缺点:用户独占全机,资源利用率低;程序必须包含操纵外设的代码(设备相关性)

(2)单道批处理系统

描述:一次只调入一个作业到内存中运行

特点:自动性、顺序性、单道性

优点:计算机自动连续运转

缺点:没有交互、高速的CPU等待低速的I/O

(3)多道批处理系统

描述:允许多个程序同时进入内存并允许它们在CPU中交替的运行(常驻主存),这些程序共享系统中的各种软硬件资源。

特点:多道、宏观上并行、微观上串行(多道性、无序性、调度性)

优点:资源利用率高,系统吞吐量大

缺点:用户响应时间长、没有交互

(4)分时操作系统

描述:把处理机的时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。

分时系统:一台计算机连接多个用户终端,用户通过各自的终端使用和控制计算机,一台计算机连接多个终端称为分时系统

特点:多路性(同时性)、独立性、及时性、交互性

优点:提供了交互

缺点:无法优先处理紧急事件

(5)实时操作系统

描述:为了能在某个时间限制内完成某个紧急任务而不需要时间片排队,诞生了实时操作系统。它分为硬实时系统和软实时系统,区别在于是否这个动作必须绝对地在规定的时刻完成。硬实时系统有:飞行器控制系统等;软实时系统有飞机订票系统、银行管理系统等。

(6)网络操作系统和分布式计算机系统

不重要,不再赘述

(7)处理器运行模式(考试不考)

在计算机系统中,CPU会执行操作系统内核程序和用户自编程序两种。内核程序需要执行一些特权指令,处于安全,用户不可以执行这些指令。

特权指令是指不允许用户直接使用的指令。如I/O指令、置中断指令等

大多数操作系统的内核包括时钟管理、中断机制、原语、系统控制的数据结构及处理四方面的内容。具体内容以后再补充

(8)中断和异常

操作系统分为用户态和核心态,只有在核心态才可以执行特权指令,系统不允许用户直接使用这些指令,但有时候又必须要使用,因此在核心态建立一些门,以便实现用户态进入核心态。这些门就是靠中断或异常实现的。

中断又称外中断,是指来自CPU执行指令的外部事件,如I/O结束中断和时钟中断。

异常又称内终端,是指来自CPU执行指令内部的事件,如程序的非法操作码、地址越界、运算溢出、系统调用异常等。

外中断(硬件)可以分为可屏蔽中断(INTR)和不可屏蔽中断(NMI),可屏蔽中断是指通过INTR线发出的中断请求通过改变屏蔽字可以实现多重中断,不可屏蔽中断是紧急硬件故障,例如电源掉电等。(注意异常是不可屏蔽的

异常可分为故障、子陷和终止,故障是指令执行引发的异常、自陷是一种事先安排的异常事件(用于进入内核态)、终止是出现了使得CPU无法继续执行的硬件故障。故障和自陷属于软件中断,终止属于硬件中断。

(9)系统调用(暂时略过)

(10)操作系统结构

无操作系统结构。乱杂

①模块化操作系统结构:将操作系统按功能划分若干具有一定独立性的模块(衡量模块独立性的标准:内聚性、耦合性)。

优点:提高了操作系统设计的正确性、可理解性和可维护性;增强了操作系统的可适应性;加速了操作系统的开发过程

缺点:结构划分和接口设计困难、模块之间调用关系复杂。

②分层式操作系统:在模块化结构基础上,将模块分为若干层。层内模块之间可以互相随 意调用,层间模块的调用遵循单向调用原则,高层模块可以调用低层 模块,反之不可以。

层次划分原则:程序嵌套、运行频率、公用模块、用户接口

优点:OS开发调试效率提高;易扩充和维护;降低了模块的耦合度

缺点:合理定义各层比较困难、效率较差

③微内核操作系统(客户机-服务器工作模式):指精心设计的、能实现现代OS核心功能的小型内核,比一般的OS更 小更精炼,运行在核心态且开机后常驻内存

优点:提高OS的灵活性和可扩充性;OS内核更小、加稳定,可靠性高

缺点:操作系统运行效率较低

(老师PPT给的不全,考完试回来补充)

填空:

操作系统的基本功能是:控制和管理系统内的各种资源

用户可以通过系统调用命令接口来控制计算机。

实时系统的调度一般采用抢占式优先级高者优先的算法。

航空订票、机床控制、股票交易建议采用实时系统。

进程调度、时钟管理、地址映射、中断系统四者,只有进程调度不需要硬件支持。

内核足够小、功能分层设计、基于C/S模式、策略与机制分离中功能分层设计不适合描述微内核操作系统。

第二章 进程与线程

1、进程的定义:进程是具有独立功能单位的程序在一个数据集合上的运行过程,它是系统进行资源分配和调用的一个独立单位。

2、进程实体的结构有程序段、数据段和进程控制块PCB(PCB是进程存在的唯一标识,位于操作系统内核)

3、进程的特征:动态性(基本特征)、并发性、独立性、异步性

4、进程、程序和作业的区别:

作业是人们提交给计算机处理的一个人物.bat;

程序是一组完整的、包含的计算机指令,用来执行特定人物.exe,.dll

进程是一个具有一定功能的程序关于某个数据 集合的一次运行活动

5、进程的状态:运行态、就绪态、阻塞态、创建态、结束态。前三种为基本状态。

创建态是指进程正在被创建,尚未转为就绪态。

结束态是指进行正从系统中消失,可能是进程正常结束或其他原因退出运行。

6、PCB的内容:进程标识符、处理机状态、进程调度信息、进程资源信息。

7、PCB组织形式:链接方式、索引方式

8、进程控制

(1)引起进程创建的事件:用户登录、作业调度、提供服务(打印服务)、应用请求

(2)引起进程终止的事件有:正常结束、异常结束(发生了异常事件)、外界干预(操作员的干预等)

(3)引起进程阻塞的事件(block原语):请求系统服务、请求操作、等待数据和资源、等待工作任务(阻塞是一种主动的行为)

(4)引起进程唤醒的事件(wakeup原语):允许系统服务、允许操作、资源和数据到达、工作任务到达。(唤醒是被动的行为,且block和wakeup必须成对使用)

(5)引起进程调度的事件(dispatch):正在运行的进程结束或者改变状态、时间片到、抢占式系统中就绪队列新增了进程

9、线程的引入

目的:减少程序在并发执行中付出的时空开销,提高操作系统并发性能

线程是被系统独立调度和分派的基本单位,线程自己不拥有系统资源。

引入线程的优点:创建一个新线程花费时间少(结束亦如此)、线程的切换比进程的切换花费时间少、适合多处理机系统(易于并行)

线程的实现方式:用户级线程、内核级线程

内核支持线程:内核感知的线程,每个线程都有TCB;线程的创建、撤销等均通过系统调用在由内核程序完成;以线程为单位进行调度

用户级线程:仅存在于用户空间中,内核并不知道线程的存在。线程的创建、撤销等均通过用户的线程包管理,无系统调用。还是以进程为单位进行调度,如果不在一个进程中的2个线程切换。

10、进程通信

方式:共享存储、消息传递、管道通信

填空:线程没有独立的地址空间,而是共享进程空间

在多对一的线程模型中,当一个多线程中的某个进程的某个线程阻塞后,整个进程都将阻塞。

父进程和子进程不共享虚拟地址空间

11、处理机调度

(1)高级调度(作业调度)频率低、算法复杂

决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建 进程、分配必要的资源,排在就绪队列上,准备执行。就是内存和辅存的调度

(2)中级调度(内存调度)

目的:为了提高内存利用率和系统吞吐量

实现方式:通过进程挂起状态实现

本质:中级调度实质就是存储器管理中的对换功能

(3)低级调度(进程调度)频率高、算法简单

决定就绪队列中的哪个进程应获得处理机,再由分派程序执行把处 理机分配给该进程的具体操作。

作业调度为进程活动做准备,进程调度使进程正常活动起来。

中级调度将暂时不能运行的进程挂起

进程调度是最基本的,不可或缺的。

(4)调度算法目标

①CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间)

②系统吞吐量:单位时间内CPU完成作业的数量

③周转时间 = 作业完成时间-作业提交时间

④带权周转时间=作业周转时间/作业实际运行时间

⑤响应时间=系统首次响应时间-作业提交时间(衡量调度算法的准则之一)

进程调度准则包括:最大的CPU利用率、最短的周转时间、最短的等待时间

(5)调度算法:先来先服务(FCFS),对I/O密级性任务不友好(对长作业有利,短作业不利,对CPU繁忙有利,I/O繁忙不利)

短进程优先(SPF)对长进程不利(对长作业不利,所有进程同时到达时,SJF的平均等待时间,平均周转时间最少!!!!!!!!!)

高响应比优先算法(作业调度):优先权=等待时间+要求服务时间/要求服务时间(计算响应比开销大)

时间片轮转调度算法(分时系统):用完一个时间片后,进程回到就绪队列末尾排队

多级反馈队列调度:完美

终端型作业用户:短作业优先

短批处理作业用户:周转时间较短

长批处理作业用户:不会长期得不到处理

需要考虑就绪队列的数量、优先级、调度算法、迁移条件

一般来说,优先级设置原则:系统进程>用户进程交互型进程>非交互型进程、I/O型进程>计算型进程

现代操作系统中,不可以进行进程调度与切换的情况有:在处理中断的过程中,进程在操作系统内核临界区中,其他需要完全屏蔽中断的原子操作。

注意进程处于临界区时可以进行处理机调度!!!!!!!!!!!!!!!!!!

但是进程在操作系统内核临界区不可以

调度和切换的区别:调度是决定选择哪一个进程,是一个决策行为;而切换是决策后的实际分配行为。

12、进程同步

(1)双标志先检查法:违背忙则等待、让权等待

(2)单标志法:违背让权等待

(3)双标志后检查法:违背空闲让进,让权等待

(4)Peterson算法:完美

13、死锁

(1)定义:指多个进程在运行过程中因争夺资源而造成的一种僵局。当进程处 于这种僵局时,若无外力作用,他们都将无法再向前推进

(2)产生原因:竞争非剥夺性资源、进程推进顺序非法

(3)死锁必要条件:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。

(4)死锁处理:预防、避免、检测和解除

①预防:破坏死锁产生的四个必要条件

破坏请求和保持条件:一次申请所有资源。成功则运行,否则阻塞。(浪费资源)

破坏不剥夺条件:进程申请资源时,成功则运行,否则释放所有资源后阻塞(浪费资源)

破坏环路等待条件:为所有资源编号,进程申请资源时必须按序申请资源。(编号难)

优点:简单

缺点:效率低

②避免(判断是否处于安全状态)银行家算法:进程申请资源时,由系统审查申请的合理性, 只有不导致死 锁的申请,才被认可

优点:效率高一点

缺点:实现困难:进程对资源的需求不好事先确定

系统处于安全状态,不会死锁;系统处于不安全状态,可能死锁

③检测和解除:进程申请资源时不作任何限制,仅在系统中定时或资源不足 时,检查是否有死锁;如果有,解决之

优点:不影响系统执行性能,效率高

死锁解除的主要方法:资源剥夺法,撤销进程法,进程回退法

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少๑渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值