操作系统期末复习--操作系统初识以及进程与线程

操作系统概念与主要功能

操作系统的概念

在信息化时代,软件是计算机系统的灵魂,而作为软件核心的操作系统,已与现代计算机系统密不可分、融为一体。计算机系统自下而上大致分为4部分:硬件操作系统应用程序用户

操作系统管理各种计算机硬件,微应用程序提供基础,并从当计算机硬件与用户之间的中介。

硬件 如中央处理器、内存、输入\输出设备等,提供基本的计算资源

应用程序规定按何种方式使用这些资源来解决用户的计算问题,操作系统控制和协调各用户的应用程序对硬件的分配与使用

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

总结:操作系统是资源的管理者,向上提供方便易用的服务。

操作系统的功能与目标
1.操作系统作为计算机系统资源的管理者(主要功能)
  • 处理机管理功能

  • 存储器管理功能

  • 文件管理功能

  • 设备管理功能

2.操作系统作为用户与计算机硬件系统之间的接口

操作系统提供的接口分为两类:

  • 命令接口,用户使用

  • 程序接口(系统调用),编程人员使用

3.操作系统作为扩充机器

操作系统的特性与主要类型

操作系统特征
  • 并发:指两个或多个事件在同一时间间隔内发生。

操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使进程能并发执行。

注意事项:并发与并行的区别:并发是在同一时间间隔内多个时间发生,并行是指同一时刻多个事件发生。并发是假装并行

在多道程序环境下,一段时间内,宏观上由多道程序在同时执行,而在每个时刻,单处理机环境下实际仅能有一道程序执行,因此微观上这些程序认识分时交替执行的,操作系统的并法性是通过分时得以实现的

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

共享分为如下两种资源共享方式:

**互斥分享方式:**系统中的某些资源,虽然可供多个多个进程使用,但为使得所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。

仅当进程A访问完并释放完该资源后,才允许另一个进程对该资源进行访问,这种资源共享方式称为互斥式共享 ,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源

**同时访问方式:**这类资源允许一段时间内有多个进程"同时"访问,这里说的同时是宏观上的,而在微观上,这些进程可能是交替地该资源进行访问,即"分时共享"的。

注意事项:并发性和共享性互为存在条件

  • 虚拟:是指把一个物理上的实体变为若干逻辑上的对应物。物理实体是实的,即实际存在的,而后者是虚的,使用户感觉上的事物。用来实现虚拟的技术,称为虚拟技术。

  • 异步:是指多道程序环境下,由于资源有限,程序的执行并不是一贯到底的,而是走走停停的,他以不可预知的速度向前推进

操作系统的发展与分类
  • **手工操作阶段(此阶段无操作系统)**用户在计算机上算题的所有工作都要人工干预。

缺点:

用户独占全机,不会出现资源被其他用户占用而等待的现象,但资源利用率低,

CPU等待手工操作,CPU利用不充分

总结:人机矛盾大

  • **批处理阶段(操作系统开始)**为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾

分为:单道批处理系统多道批处理系统

**单道批处理系统:**对作业的处理是成批进行的,但内存中始终保持一道作业

多道批处理系统: 允许多个程序同时进入内存并允许它们在CPU中交替进行,这些程序共享程序中的各种硬件或软件资源

缺点:用户响应时间较长,不提供人机交互能力,用户既不能了解自己的程序运行情况,又不能控制计算机。

总结:无人机交互能力

  • 分时操作系统

分时技术是指把处理器的运行时间分成最短的时间片,按时间片轮流把处理器分配给联机作业使用。

若某个作业在分配给他的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。

即:多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。

缺点:不能优先的处理一些紧急的任务,操作系统对每个用户作业都是完全公平的,是循环的为每个用户服务一个时间线的,并没有去分任务的紧急性。

  • 实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。

实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行

特点:及时性、可靠性

  • 网络操作系统和分布式计算机系统以及个人计算机操作系统

网络操作系统

网络操作系统把计算机网络中的各台计算机有机的结合起来,提供一种统一、经济有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送。

特点:网络中各种资源及各台计算机之间的通信。

分布式计算机系统

用于管理分布式计算机系统的操作系统

个人计算机操作系统是目前最广泛的操作系统

发展历程图:

解答题例题1:批处理操作系统、分时操作系统和实时操作系统各有什么特点?

答案:

批处理操作系统的用户脱机使用计算机,作业是成批处理的,系统内多道程序并发执行,交互能力差。

分时操作系统可让多个用户同时适用计算机,人机交互性强,具有每个用户独立使用计算机的独占性,系统响应及时。

实时操作系统能对控制对象做出及时反应,可靠性高,响应及时,但资源利用率低。

例题2:有两个程序,程序A依次使用CPU计10s,设备甲计5s,CPU计5S、设备乙10S、CPU计10S;程序B依次使用设备甲计10s,CPU计10s、设备乙5S、CPU计5S,设备乙10S。在单道程序环境下先执行程序A在执行程序B,CPU的利用率是多少?再多道程序环境下,CPU利用率是多少?

解答:

单道程序环境: (A运行总时间+B运行总时间)/CPU调用时间 = 40/(40+40)= 50%

多道程序环境:可以利用甘特图来做题

CPU占用40秒,CPU利用率 = 40/45 = 88.9%

注意事项:一些打印设备只能互斥性共享

进程与线程

进程的概念与特征

程序与进程的区别:

程序是指令与数据的有序集合,是静态的,进程有自己的生命周期,是动态的

程序的顺序执行

程序或程序段之间严格按照某种先后次序执行

特征:

  • 顺序性:处理机严格按照程序所规定的顺序执行

  • 封闭性 :程序在执行时独占系统的全部资源,不受外界程序干扰

  • 可再现性:只要初始条件相同,一个程序的多次重复执行将得到相同的结果

程序的并发执行:

两个或两个以上的程序或程序段可在同一时间间隔内同时执行

特征:

  • 间断性:由于资源共享和相互合作,并发执行的程序间形成了相互制约关系,导致程序的运行过程出现 执行-暂停-执行的现象

  • 失去封闭性:程序在执行时与其他并发执行的程序共享系统的资源,因此,资源状态的改变还与其他程序有关,即:程序本身的执行环境要受到外界程序的影响。

  • 不可再现性:同样的初始条件,一个程序的多次重复执行可能会得到不同的结果。

进程的概念

为什幺要引入进程?

程序并发执行时产生的不可再现性,决定了通常的程序不能参与并发执行的,为了使程序能够并发执行, 并且可以对并发执行的程序加以描述和控制,引进了进程的概念,实现操作系统的并发行和共享性( 两个最基本的特征)。为了使参与并发执行的程序(含数据)能独立运行,必须为之配置一个专门的数据结构,称为进程数据块(PCB)

进程是由程序段、相关数据段和进程控制块共同组成的

注:PCB是进程存在的唯一标志

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

进程的定义
  • 进程是程序一次执行的过程。

  • 进程是具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位

  • 引入进程后,进程是资源分配的独立单位,进程具有并发性,可以和其他进程并发执行

  • 同一个程序执行在不同的数据集合上,属于不同的进程

  • 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

进程的特征
  • 动态性 :进程是程序的一次执行过程,因此是动态的,动态性是进程最基本的特征

  • 并发性 :多个进程实体同存于内存中,且在一段时间内同时执行,只有为程序创建进程后,多个程序才能正确的并发执行并发性是进程的重要特征

  • 独立性:进程实体是一个能独立运行、独立获得资源和独立接收调度的基本单位

  • 异步性 :进程可按各自独立的、不可预知的速度往前推进。虽然进程具有异步性,但操作系统必须配置相应的进程同步机制来确保进程并发执行的结果是可再现的。

进程的基本状态和转换

通常进程有三种基本状态。

  • 运行态:进程在处理机上运行

  • 就绪态:进程获得了除处理机以外的一切资源,一旦得到处理机,便可立即运行

  • 阻塞态:也称等待态,正在执行的进程由于某些事件的发生而暂时无法继续执行,只能等相应时间完成后,才能去竞争CPU

注意事项:就绪态是指进程仅缺少处理机,只要获得处理机资源就立即运行;堵塞态是指进程需要除处理机以外的其他资源或者等待某一事件

状态转换图:

文字叙述:

就绪态->运行态 :处于就绪态的进程被调度后,获得处理机资源(分配处理机时间片),于是进程就有就绪态转换成运行态

运行态->就绪态:处于运行态的进程在时间片用完后,不得不让出处理机,从而进程由运行态转换成就绪态。或在可剥夺的操作系统中,当有更高优先级的进程就绪时,调度程序将正在执行的进程剥夺成就绪态,让更高优先级的进程执行。

运行态->阻塞态:进程请求某一资源的使用或分配或等待某一事件的发生(或IO操作的完成)

阻塞态->就绪态:进程等待的事件到来时,如IO操作操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞态转化成就绪态

进程控制与通信
进程控制的主要功能

进程控制的主要功能是创建新进程终止进程 以及负责进程运行中的状态转换

总结:进程控制是对系统的所有进程进行有效的管理。

一般把进程控制用的程序段称为原语

原语的特点是执行期间不允许中断(原子性)

进程的创建:允许一个进程创建另一个进程。

进程的终止:引起进程终止的事件有正常结束、异常结束(出现异常事件,例如存储区越界,非法指令,算数运算错等)、外界干预。

进程的阻塞和唤醒正在执行的的进程,由于期待的某些事件没有发生 ,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无心工作可做等,有系统自动执行阻塞原语(Block)使自己由运行态转化成阻塞态。

当被阻塞进程所期待的事件出现时 ,如IO操作完成或者期待的数据已经到达,有有关进程调用唤醒原语(Wakeup),将等待该事件的进程唤醒。

进程通信

进程通信指进程之间的信息交换,各进程拥有的内存空间相互独立,为了进行信息交换,保证安全通信,操作系统就提供了一些继承通信的方法:

PV操作是低级通信方式,高级通信方式是指以较高的效率传输大量数据的通信方式;

主要有三大类:共享存储,消息传递,管道通信

共享存储:进程通信通过对共享空间进行读/写操作实现信息交换,共享某些数据结构或共享存储区。

消息传递 :进程间的数据交换以格式化的消息为单位。通过发送消息和接收消息原语进行数据交换。有两种消息传递的方式:

  • 直接通信方式

  • 间接通信方式

管道通信:利用一种特殊的pipe文件连接两个进程

线程概念

基本概念

引入进程的目的是为了更多的程序并发执行,提高资源利用率和系统吞吐量。而引入线程的目的是为了减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

  • 调度:进程是拥有系统资源的基本单位,线程是调度和分派的基本单位

  • 拥有资源:进程是拥有资源的基本单位,线程不拥有系统资源

  • 并发性:进程可以并发执行,多个线程之间也能并发执行。

  • 系统开销

  • 地址空间和其他资源(如打开的文件):进程的地址空间之间相互独立,同一线程的个线程间共享进程的资源,某进程内的线程对其他线程不可见。

  • 通信方面:进程间通信需要进程同步和互斥手段的辅助,以保证数据的一致性,而线程间可以直接读写进程数据段来进行通信。

剩下的还在整理,希望对大家有所帮助

相关推荐
only-qi3 小时前
146. LRU 缓存
java·算法·缓存
阿里小阿希3 小时前
Vue3 + Element Plus 项目中日期时间处理的最佳实践与数据库设计规范
数据库·设计规范
xuxie134 小时前
SpringBoot文件下载(多文件以zip形式,单文件格式不变)
java·spring boot·后端
白鹭4 小时前
MySQL源码部署(rhel7)
数据库·mysql
重生成为编程大王5 小时前
Java中的多态有什么用?
java·后端
666和7775 小时前
Struts2 工作总结
java·数据库
还听珊瑚海吗5 小时前
SpringMVC(一)
数据库
中草药z5 小时前
【Stream API】高效简化集合处理
java·前端·javascript·stream·parallelstream·并行流
野犬寒鸦5 小时前
力扣hot100:搜索二维矩阵 II(常见误区与高效解法详解)(240)
java·数据结构·算法·leetcode·面试
zru_96025 小时前
centos 系统如何安装open jdk 8
java·linux·centos