操作系统(2.7)--进程

这篇具有很好参考价值的文章主要介绍了操作系统(2.7)--进程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、进程的引入

1.进程的两个基本属性

2.程序并发执行所需付出的时空开销

3.线程---作为调度和分派的基本单位

二、线程(轻型进程)与进程(重型进程)的比较

1)调度的基本单位

2)并发性

3)拥有资源

4)独立性

5)系统开销

6)支持多处理机系统

三、线程的状态和线程的控制块

1.线程运行的三个状态

2.线程控制块TCB

3.多线程OS中的进程属性


一、进程的引入

1.进程的两个基本属性

进程的两个基本属性:

  • ①进程是一个可拥有资源的独立单位;一个进程要能独立运行,它必须拥有一定的资源。
  • ②进程同时又是一个可独立调度和分派的基本单位,使之成为一个能独立运行的基本单位,从而也就构成了进程并发执行的基础。

由于进程是一个资源的拥有者,因而在创建、撤消和切换中,系统必须为之付出较大的时空开销。如此,在系统中所设置的进程,其数目不宜过多,进程切换的频率也不宜过高,这也就限制了并发程度的进一步提高。

2.程序并发执行所需付出的时空开销

为使程序能并发执行,系统必须进行以下的一系列操作:

(1)创建进程,系统在创建一个进程时,必须为它分配其所必需的、除处理机以外的所有资源,如内存空间、I/O设备,以及建立相应的PCB;

(2)撤消进程,系统在撤消进程时,又必须先对其所占有的资源执行回收操作,然后再撤消PCB:

(3)进程切换,对进程进行上下文切换时,需要保留当前进程的CPU环境,设置新选中进程的CPU环境,因而须花费不少的处理机时间。

3.线程---作为调度和分派的基本单位

目的:更好地实现并发执行的同时尽量减少系统的开销。

线程设计思想:将进程的上述两个属性分开,由操作系统分开处理,亦即对于作为调度和分派的基本单位,不同时作为拥有资源的单位,以做到“轻装上阵”;而对于拥有资源的基本单位,又不对之进行频繁的切换。正是在这种思想的指导下,形成了线程的概念。

单线程进程

操作系统(2.7)--进程

管理和执行相分离的模型

操作系统(2.7)--进程

多线程进程模型

操作系统(2.7)--进程

二、线程(轻型进程)与进程(重型进程)的比较

由于线程具有许多传统进程所具有的特征,所以又称之为轻型进程(Light-WeightProcess)或进程元

把传统进程称为重型进程(Heavy-Weight Process)。

1)调度的基本单位

在传统的操作系统中,作为拥有资源的基本单位和独立调度、分派的基本单位都是进程。在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位。

2)并发性

在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,使得操作系统具有更好的并发性,从而能更加有效地提高系统资源的利用率和系统的吞吐量。

3)拥有资源

不论是传统的操作系统,还是引入了线程的操作系统,进程都可以拥有资源,是系统中拥有资源的一个基本单位。一般而言,线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。

4)独立性

在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。

5)系统开销

(1)在创建或撤消进程时,操作系统所付出的开销明显大于线程创建或撤消时的开销。(2)类似的,在进程切换时,进程也是远高于线程的。(3)此外,由于一个进程中的多个线程具有相同的地址空间,在同步和通信的实现方面线程也比进程容易。

6)支持多处理机系统

在多处理机系统中,对于传统的进程,即单线程进程,不管有多少处理机,该进程只能运行在一个处理机上。但对于多线程进程,就可以将一个进程中的多个线程分配到多个处理机上,使它们并行执行,这无疑将加速进程的完成。因此,现代多处理机OS都无一例外地引入了多线程。

三、线程的状态和线程的控制块

1.线程运行的三个状态

线程在运行时也具有下述三种基本状态:

  • ①执行状态,表示线程正获得处理机而运行;
  • ②就绪状态,指线程已具备了各种执行条件,一旦获得CPU便可执行的状态;
  • ③阻塞状态,指线程在执行中因某事件而受阻,处于暂停执行时的状态。

2.线程控制块TCB

线程控制块通常有这样几项:

①线程标识符,为每个线程赋予一个唯一的线程标识符;

②一组寄存器,包括程序计数器PC、状态寄存器和通用寄存器的内容;

③线程运行状态,用于描述线程正处于何种运行状态;

④优先级,描述线程执行的优先程度;

⑤线程专有存储区,用于线程切换时存放现场保护信息,和与该线程相关的统计信息等;

⑥信号屏蔽,即对某些信号加以屏蔽;

⑦堆栈,在堆栈中通常保存有局部变量和返回地址;

3.多线程OS中的进程属性

在多线程OS中,进程是作为拥有系统资源的基本单位,但不再作为一个执行的实体。多线程OS中的进程有以下属性:

(1)作为系统资源分配的单位。

(2)可包括多个线程。在0S中的所有线程都只能属于某一个特定进程。

(3)进程不是一个可执行的实体。在多线程OS中,线程作为独立运行的基本单位。进程仍具有与执行相关的状态。例如,所谓进程处于“执行”状态,实际上是指该进程中的某线程正在执行。

线程的内存布局

操作系统(2.7)--进程文章来源地址https://www.toymoban.com/news/detail-412252.html

到了这里,关于操作系统(2.7)--进程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【操作系统】聊聊不可中断进程和僵尸进程

    当我们输入top命令之后 其中S代表的是当前进程的状态 R (Running 或 Runnable) 进程在CPU的就绪队列中,正在运行或者等待运行。 D (Disk Sleep) 不可中断睡眠,进程正在跟硬件交互,不运行被其他进程或者中断打断。 Z (Zombie) 进程已经结束,但是父进程没有回收资源 (描述符、PID等

    2024年02月07日
    浏览(47)
  • 操作系统——进程管理

    操作系统入门知识合集 目录 0.关注博主有更多知识 4.1进程概念 4.1.1进程基本概念 思考题: 4.1.2进程状态 思考题: 4.1.3进程控制块PCB 4.2进程控制 思考题: 4.3线程 思考题: 4.4临界资源与临界区 4.4.1临界资源与临界区 思考题: 4.4.2锁机制 4.5同步和P-V操作 4.5.1同步和互斥的概

    2024年02月02日
    浏览(44)
  • 操作系统-用户进程

    这个 Makefile 要比之前的文件夹中的 Makefile 更加复杂,是因为之前的文件夹都是对操作系统特定部分的一个编译指导,所以基本上是实现的功能就是“对应的 C 文件和汇编文件编译成目标文件”这一个功能,最后合成一个整体。但是 user 的 Makefile 指导的是多个用户程序的编译

    2023年04月08日
    浏览(38)
  • 操作系统、进程与日程

    目录 目录 一.操作系统 操作系统的概念: 操作系统的作用: 二.进程 概念: 那计算机又是如何进行进程管理的呢?  三.线程: ①.进程和线程的区别 ②线程相对于进程的优势: ③并发和并行的区别 一组做计算机资源管理的软件的统称。 目前常见的操作系统有:Windows 系列

    2024年02月10日
    浏览(53)
  • 【操作系统】进程调度

    目录 调度的概念 调度目标     所有系统     批处理系统     交互式系统     实时系统 调度算法     非抢占式调度算法         先来先服务         最短作业优先         非抢占式优先级调度     抢占式调度算法         最短剩余时间优先         轮转

    2024年02月04日
    浏览(42)
  • 操作系统:06 进程通信

            进程间通信是指两个或多个进程之间交互数据的过程,因为进程之间是相互独立的,为了协同工作必须进行进程间交互数据 2.1 简单的进程间通信:         信号(携带附加数据)、文件、命令行参数、环境变量表 2.2 传统的进程间通信:         管道文件(有名管道

    2024年02月03日
    浏览(99)
  • 【操作系统】02.进程管理

    多道就是将多个程序同时装入内存,使之并发运行。操作系统也是基于多道产生的,提高了资源利用率和系统吞吐量。 进程是程序的一次执行 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 在引入线程后,线程成为调度的基本单位,进程仍是资源分

    2024年02月08日
    浏览(51)
  • 操作系统与进程调度

    操作系统是一组做计算机资源管理的软件的统称,我们在日常生活常接触到的操作系统有: windows、IOS、Android、鸿蒙,以及Linux系统 等等,那么 操作系统是什么?计算机是如何运行的? 计算机是由软件、硬件相互配合工作;事实上,操作系统可以看做是介于软硬件之间的一组软

    2024年02月05日
    浏览(69)
  • 操作系统实验(进程调度)

      1.1理解有关进程控制块、进程队列的概念。   1.2掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑。   2.1设计进程控制块PCB的结构,分别适用于优先权调度算法和时间片轮转调度算法。   2.2建立进程就绪队列。   2.3编制两种进程调度算法:优先权调度

    2024年02月06日
    浏览(47)
  • [操作系统]关于进程的管理

    首先注明:仍然是复习阶段,所以和课本可能有些许冲突和不同,只是图谱来自于王道考研2022操作系统,旨在快速梳理操作系统的基本知识 多道程序环境下,多个程序并发执行,因此他们将会失去封闭性,不适宜于管理,所以引入了进程这种概念. 进程是程序的一次执行过程,是系统进行

    2024年02月09日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包