浅谈操作系统----进程

本文深入探讨操作系统,重点讲解进程的概念、进程控制块PCB、进程调度及其算法,同时涉及线程的并发与并行概念,帮助理解操作系统中进程与线程的基本原理。
摘要由CSDN通过智能技术生成

目录

1.冯·诺伊曼体系  

2.操作系统

3.进程

 3.1 概念

3.2 进程控制块PCB

 3.3 进程调度

 3.4 进程调度的算法

4.线程

4.1概念

 4.2并发与并行

        4.2.1并发

        4.2.2并行

        4.2.3并发与并行的区别


1.冯·诺伊曼体系  

  • 存储器:用来存放数据和程序
  • 运算器:主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中
  • 控制器:主要用来控制和指挥程序和数据的输入运行,以及处理运算结果
  • 输入设备:用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等
  • 输出设备:可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等

其中,运算器和控制器合为处理器(CPU),输入输出设备合为I/O设备。

       

2.操作系统

        ·操作系统(operating system,简称OS)是管理计算机硬件软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备输出设备、操作网络与管理文件系统等基本事务。

        ·操作系统的主要职责有 :

        1、进程管理;

        2、存储管理;

        3、设备管理;

        4、文件管理;

        5、作业管理。

        这里主要讲进程管理:其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占, 进程管理的工作十分简单。但在多道程序或多用户的情况 下,组织多个作业或任务时,就要解决处理器的调度、 分配和回收等问题 。

3.进程

 3.1 概念

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

·狭义定义:进程是正在运行的程序的实例

·广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

3.2 进程控制块PCB

进程控制块(PCB Process Control Block) ,我们可以把进程控制块看作 一个类 或 C语言的结构体.
一个PCB对象就对应一个进程

PCB中有哪些属性?

    1.pid : 一个进程的身份标识.一个机器同一个时刻不会存在2个pid相同的进程.
    2.内存指针 : 描述了这个进程使用的内存空间是哪个范围(虚拟地址空间)
    3. 文件描述符表 : 描述了这个进程都打开了哪些文件.
    4.进程调度信息(进程的状态,进程的优先级,进程的上下文,进程的记账信息)

 3.3 进程调度

1、任务
CPU调度程序负责在CPU上切换进程。
当正运行的进程应该从CPU上移除时(改为等待或阻塞状态),从处于等待状态的多进程中选择一个不同的进程。CPU被分配给被选择的进程,新进程从就绪改为运行。
2、调度策略
确定进程何时从CPU移除并且应当接着将CPU分配给某个等待进程
发生调度策略的四种情况:
(1)、当一个进程从运行切换到阻塞,非抢占
(2)、当一个进程从运行切换到就绪,可抢占
(3)、当一个进程从阻塞切换到就绪,可抢占
(4)、当一个进程终止,非抢可占
非抢占调度方案:一旦CPU被分配给一个进程,该进程就将被执行到底,一直将CPU使用到进程结束或切换到等待状态再释放
可抢占调度方案:允许调度程序根据某种策略终止当前运行进程的执行,并将其移入就绪队列,并选择另外一个进程投入运行

3、进程的五个状态

 3.4 进程调度的算法

        1.先来先服务(FCFS):先来先服务调度算法是一个非抢占式的调度算法,顾名思义就是每次从就绪队列选择最先进入队列的进程,然后一直运行,直到进程退出或被阻塞,才会继续从队列中选择第一个进程接着运行

        2.短作业优先调度:根据作业运行时间来调度,时间越短的优先运行

        3.优先级调度:根据优先级的高低来进行调度

        4.高响应比优先调度:高响应比优先调度算法的基本思想是把CPU分配给就绪队列中响应比最高的进程。

        响应比计算公式:响应比=(等待时间+要求服务时间)/要求服务时间

 

4.线程

4.1概念

线程(thread)操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

 4.2并发与并行

        4.2.1并发

        当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。

        4.2.2并行

        当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

        4.2.3并发与并行的区别

        并发是指多个事务在同一时间内交替进行,而并行是指多个事务在同一时间内同时进行

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值