进程和进程的调度

简介: 进程和进程的调度

今天,为大家带来进程和进程的调度的学习

1.认识计算机

2.什么是操作系统

3.什么是进程

4.进程管理

5.进程的属性

6.进程的调度

7.进程调度的过程

8.内存分配


1.认识计算机


计算机的组成有五大部分

1.CPU(是计算机的大脑,负责逻辑运算和控制)

2.内存

3.外存

4.输入设备

5.输出设备

由存储空间排序

硬盘>内存>>cpu

数据访问速度

cpu>>内存>硬盘


2.认识操作系统(OS)

操作系统作系统是一组软件集合,管理计算机软硬件资源,并且协调CPU运行


22d6faa9cbe749beb812eed75c49903e.png

上述图就是计算机中操作系统所处的位置,可以看出在很关键的位置

对下要管理CPU,内存,外存,以及IO设备,对上要管理各种应用程序

我们所要谈的进程就是基于操作系统来说的,操作系统有一个功能,那就是进程管理


3.什么是进程(process)

进程说的通俗一点就是任务,也就是一个跑起来的程序,可以称为程序

进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;

在操作系统内部,进程是操作系统进行资源分配的基本单位。

进程就是跑起来的程序


我们先来看看进程

打开电脑的任务资源管理器


这里有很多正在运行的程序,就称为进程

电脑的这些程序在运行时需要向操作系统申请内存,现在有这么多进程,就需要进行进程管理,这样计算机才能有序工作


4进程的管理:


进程管理分为两步

1.描述一个进程

就是用一个结构体或者一个类将进程的信息表示出来

2.组织一个进程

用数据结构将结构体或者对象放在一起


5进程的属性

既然我们要将进程的结构体(PCB   >> process  control  block )进行组织,那么就得了解它的属性,PCB的属性非常多,我们今天就挑几个典型的来说一说


1.进程标识  pid


每一个进程都必须有唯一的一个身份标识


2.内存指针


进程就是跑起来的程序,跑起来的程序需要占用一定的内存资源,那么内存指针可以告诉操作系统哪部分的内存资源被占用了


3.文件描述符表


没有运行的程序并且在硬盘上存储的就称为文件,当一个文件运行时被标记,文件一旦打开就产生了一个文件描述符,当打开的文件很多的时候,就会标记产生很多文件描述符,这个时候把这些文件描述符放到一个表里面,这个表叫做文件描述符表


4.这个属性,不是一个属性,是一组和CPU资源相关的属性,,这组属性辅助操作系统进行进程调度


(1)进程状态


进程有两种状态,一个是就绪状态,一个是阻塞状态


就绪状态:进程已经准备好,随时可以上CPU执行


阻塞状态:进程还没准备好,暂时无法上CPU执行


(2)进程的优先级


进程的调度不一定公平,会遵循优先级,优先级调度


(3.)进程的上下文


就是记录进程运行到哪里的存档,当A进程突然离开CPU,那么B进程进入CPU执行,执行完后进程A回来继续执行,就从进程A的突然中断的地方继续执行


在进程上来说,就是进程运行中,CPU内部的寄存器存储的值,寄存器有很多作用,在这里的作用就是保存当前进程执行的中间结果,包括了执行到哪一条指令


寄存器有一个存档和读档的操作


所谓存档:进程在中途离开CPU的时候,寄存器会记录进程执行到哪一步了,那么CPU把寄存器上的值存到PCB的上下文中


所谓读档:当进程回到CPU中,CPU将PCB上的存档记录读取到寄存器上


(4)进程的记账信息


记录进程在CPU执行的时间长短,便于操作系统进行进程的调度


6进程调度:当CPU空闲时,操作系统从就绪队列上选择一个进程执行

操作系统使用双向链表组织PCB

进程的创建:创建一个链表结点

进程的销毁:删除一个链表节点

进程列表的遍历:遍历该链表


7.进程的调度过程


1.并行:同一时刻,同一个cpu,两个核心,同时执行两个进程,互不干扰


2.并发:同一个CPU,一个核心,先执行进程1,执行一会儿,再去执行进程2,执行一会儿,再去执行进程3,切换的速度非常快,快到几乎感受不到,所以看起来就像同时执行了


所以,进程的执行采用并行+并发的形式来执行.很多时候,把并行和并发统称为并发,这个并发是宏观意义上的并发


8.内存的分配


操作系统对内存资源的分配是空间模式,即不同的进程在执行的时候使用内存的不同区域,不会互相影响


扩展一下.,操作系统对进程执行分配的内存是虚拟地址,看似是一样的内存地址,但是通过映射到真实内存上,就是不一样的地址,不一样的内存区域


每个进程访问的内存地址都不是真正的物理内存地址


画个图理解一下

9decbd9b4dd2420d9319e9c00229dcf1.png使用虚拟地址有效避免了野指针问题以及进程之间会相互干扰的问题

所以,进程有稳定性和独立性,每一个进程都有独立的内存地址空间,不会被干扰到

今天的内容就分享到这里,我们下期再见!!!


相关文章
|
4天前
|
算法 调度 UED
探索操作系统核心:进程管理与调度
【9月更文挑战第28天】在数字世界的心脏跳动着无数进程,它们像是细胞一样构成了操作系统的生命体。本文将深入探讨操作系统中进程管理与调度的奥秘,揭示如何通过精心设计的数据结构和算法来维护系统的稳定性和效率。我们将从进程的基本概念出发,逐步解析进程状态转换、进程同步机制,以及进程调度策略,旨在为读者呈现一幅清晰、生动的操作系统内部工作机制图景。
|
8天前
|
算法 调度 UED
探索操作系统中的进程调度:理论与实践
【9月更文挑战第24天】 在数字世界的心脏跳动着的是操作系统,它像一位精明的指挥家,精心安排每个音符的演奏。本文将带你进入操作系统的内核,一探进程调度的秘密。我们将从简单的批处理系统谈起,穿越时间隧道,见证现代多道程序设计系统的复杂性与优雅。你将看到代码如何赋予理论以生命,理解调度算法背后的哲理。让我们一起跟随甘地的指引,成为我们希望在世界上看到的改变。
|
2天前
|
算法 Linux 调度
深入理解操作系统的进程调度
【9月更文挑战第30天】本文将带你进入操作系统的核心—进程调度。我们将探讨其工作原理,分析几种常见的调度算法,并通过实际代码示例来揭示这些理论是如何在真实系统中实现的。无论你是初学者还是有经验的开发者,这篇文章都能帮助你更好地理解操作系统的这一关键组成部分。
|
2天前
|
消息中间件 算法 调度
探索操作系统核心:进程管理与调度策略
【9月更文挑战第30天】在数字化时代的心脏,操作系统扮演着至关重要的角色。本文将深入探讨操作系统的基石之一——进程管理,以及如何通过调度策略优化系统性能。我们将从进程的基本概念出发,逐步解析进程状态、进程控制和进程间通信等关键要素。同时,我们会探讨几种常见的进程调度算法,并分析它们的优缺点。最后,文章将展示一个简单的代码示例,以加深对理论部分的理解和应用。
|
3天前
|
算法 调度 UED
探索操作系统的心脏:进程管理与调度
【9月更文挑战第29天】在数字世界的海洋中,操作系统是支撑软件与硬件和谐共舞的桥梁。本文将深入探讨操作系统的核心功能—进程管理及其调度机制,揭示它们是如何影响计算机性能和用户体验的。通过浅显易懂的语言和生动的比喻,我们将一起遨游在进程的生命周期、调度算法以及优先级等概念之间,旨在为读者呈现一个清晰的操作系统内部运作图景。
12 6
|
2天前
|
算法 调度 开发者
深入理解操作系统之进程管理与调度
【9月更文挑战第30天】本文旨在通过浅显易懂的语言和具体代码示例,带领读者探索操作系统中进程管理的奥秘。我们将从进程的生命周期出发,逐步解析进程调度的核心概念,并通过实例展示如何实现简单的进程调度算法。无论你是初学者还是有一定基础的开发者,都能在这篇文章中找到有价值的信息,帮助你更好地理解和掌握进程管理与调度的知识。
10 4
|
5天前
|
算法 调度
操作系统的心脏:深入解析进程调度算法
本文旨在深入探讨现代操作系统中的核心功能之一——进程调度。进程调度算法是操作系统用于分配CPU时间片给各个进程的机制,以确保系统资源的高效利用和公平分配。本文将详细介绍几种主要的进程调度算法,包括先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)以及优先级调度(PS)。我们将分析每种算法的基本原理、优缺点及其适用场景。同时,本文还将讨论多级反馈队列(MFQ)调度算法,并探讨这些算法在实际应用中的表现及未来发展趋势。通过深入解析这些内容,希望能够为读者提供对操作系统进程调度机制的全面理解。
|
6天前
|
算法 调度 UED
探索操作系统中的进程调度
【9月更文挑战第27天】操作系统是计算机的灵魂,而进程调度则是其跳动的心脏。本文将深入浅出地探讨进程调度机制,从理论到实践,带你领略这一技术的魅力和复杂性。我们将通过代码示例,揭示调度算法如何影响系统性能和用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇理解操作系统深层工作原理的大门。
16 6
|
7天前
|
存储 算法 前端开发
深入理解操作系统:进程调度与优先级队列算法
【9月更文挑战第25天】在操作系统的复杂世界中,进程调度是维持系统稳定运行的核心机制之一。本文将深入探讨进程调度的基本概念,分析不同的进程调度算法,并着重介绍优先级队列算法的原理和实现。通过简洁明了的语言,我们将一起探索如何优化进程调度,提高操作系统的效率和响应速度。无论你是计算机科学的初学者还是希望深化理解的专业人士,这篇文章都将为你提供有价值的见解。
|
10天前
|
算法 Unix 调度
探索操作系统的心脏:进程管理与调度
【9月更文挑战第22天】在数字世界的复杂迷宫中,操作系统(OS)是指引路径的明灯。本文深入探讨了操作系统的核心功能——进程管理和调度机制,揭示了它们如何确保多任务同时流畅运行。通过比喻和简化的解释,我们将解码进程生命周期的奥秘,并理解调度算法如何在公平性和效率间取得平衡。无论你是技术新手还是资深开发者,这篇文章都将带给你新的视角和深刻的见解。