进程和进程的调度

简介: 进程和进程的调度

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

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使用虚拟地址有效避免了野指针问题以及进程之间会相互干扰的问题

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

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


相关文章
|
26天前
|
负载均衡 算法 调度
深入理解操作系统:进程管理与调度策略
【5月更文挑战第29天】 在现代计算机系统中,操作系统的核心职能之一是高效地管理和调度进程。本文旨在探讨操作系统中进程管理的基础概念、调度算法的重要性以及它们如何影响系统的整体性能。我们将从进程的生命周期入手,解析创建、执行、暂停、终止等过程,并深入讨论不同的调度策略如先来先服务(FCFS)、短作业优先(SJF)和多级反馈队列(MLQ)。通过比较这些策略在不同场景下的表现,本文将提供一个全面的视角,帮助读者理解操作系统如何在保证公平性和效率间取得平衡。
|
28天前
|
算法 调度
深入理解操作系统之进程调度算法的设计与实现
【5月更文挑战第27天】 在多任务处理的现代操作系统中,进程调度算法是核心组件之一,负责决定哪个进程将获得CPU资源。本文不仅探讨了几种经典的进程调度算法,包括先来先服务(FCFS)、短作业优先(SJF)和轮转调度(RR),还分析了各自的优势、劣势及适用场景。此外,文章将深入讨论如何根据系统需求设计自定义调度算法,并提供了基于伪代码的实现示例。最后,通过模拟实验比较了这些算法的性能,以指导读者在实际操作系统设计时的选择与优化。
|
28天前
|
机器学习/深度学习 人工智能 负载均衡
深入理解操作系统之进程管理与调度优化
【5月更文挑战第27天】 本文旨在探索操作系统的核心机制之一——进程管理,特别是进程调度的策略与优化。通过分析不同调度算法的特点、性能指标和应用场景,我们揭示了现代操作系统在多核处理器环境下面临的挑战及应对策略。文章不仅总结了经典的调度理论,还讨论了实时性、能效比以及用户体验等维度下的调度优化方法。此外,结合最新的研究动态,探讨了机器学习技术如何被整合进进程调度策略中,以实现更为智能和自适应的资源管理。
|
4天前
|
存储 负载均衡 算法
深入理解操作系统的进程调度
【6月更文挑战第20天】本文将探讨操作系统中的进程调度,包括其定义、重要性以及常见的调度算法。我们将通过具体的例子和代码片段来深入理解进程调度的工作原理和实现方式。最后,我们将讨论进程调度在现代操作系统中的应用和挑战。
|
5天前
|
调度
操作系统之进程调度机制
操作系统之进程调度机制
9 1
|
7天前
|
负载均衡 算法 调度
深入理解操作系统之进程调度
本文旨在探究操作系统核心机制之一——进程调度。文章首先概述进程与线程的基本概念,随后详细解析进程调度的目标、常见算法及其优缺点,并探讨现代操作系统中进程调度的高级话题,如多核调度和实时系统的调度策略。通过实例分析,本篇文章将帮助读者深化对进程调度复杂性的理解,并指出未来可能的发展方向。
|
27天前
|
安全 Java 程序员
深入理解Java并发编程:从基础到高级深入理解操作系统中的进程调度策略
【5月更文挑战第29天】 Java并发编程是Java开发中不可忽视的一部分,它涉及到多线程、同步、锁等概念。本文将带你从Java并发编程的基础概念出发,逐步深入到高级应用,让你全面掌握Java并发编程的技巧。
|
25天前
|
算法 调度 UED
深入理解操作系统之进程调度策略
【5月更文挑战第30天】 在操作系统的核心功能中,进程调度策略扮演着至关重要的角色。它决定了处理器资源如何高效合理地分配给众多竞争的进程。本文将深入探讨几种常见的进程调度算法,包括先来先服务(FCFS)、短作业优先(SJF)以及多级反馈队列(MLQN),并分析它们在不同场景下的性能表现和适用性。通过模拟实验数据和性能对比,我们将揭示各调度策略的优势与局限,为系统设计者提供选择指南。
|
26天前
|
算法 Linux 调度
深入理解操作系统:进程管理与调度策略
【5月更文挑战第30天】 在现代计算环境中,操作系统的进程管理是确保多任务高效运行的关键。本文将详细探讨操作系统中进程的概念、进程状态转换以及进程调度策略。通过对这些概念的分析,我们能够更好地理解操作系统如何协调和管理多个进程,以实现资源的有效利用和系统的稳定运行。
|
27天前
|
算法 安全 Linux
深入理解操作系统:进程管理与调度策略
【5月更文挑战第29天】 在现代操作系统的核心功能中,进程管理扮演着至关重要的角色。本文旨在探讨操作系统中进程的概念、生命周期以及进程调度策略的重要性和实现机制。通过对不同类型操作系统如Windows、Linux的进程调度策略进行比较分析,我们揭示了它们在资源分配、响应时间优化和系统吞吐量提升方面的权衡与考量。文章将详细阐述进程状态转换过程,并讨论如何通过调整调度算法来适应不同的应用场景需求,例如实时系统、批处理系统以及交互式系统等。

热门文章

最新文章

相关实验场景

更多