操作系统基础知识

原创 2016年11月23日 14:31:54

Q:程序、作业与进程的区别和联系?

A:先弄明白基础概念。

   定义:

   程序程序只是一段可执行代码。程序是静态的,只需要内存空间。程序的一次运行过程就叫做进程。

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

      通常的程序是不能并发执行的。为使程序(含数据)能独立运行,应为之配置一进程控制块,即PCB(Process Control Block);而由程序段相关的数据段PCB三部分便构成了进程实体。在许多情况下所说的进程,实际上指进程实体,所谓创建进程,实质上是创建进程实体中的PCB。

(补充:线程,即把一个进程分割成多个线程。在内存中既有一个代表进程的控制块,也有多个代表线程的控制块,当然,这些线程控制块是归属于进程控制块的。操作系统在进行资源分配时,对于存储空间资源,系统仍然以进程为单位来进行分配,而对于处理器资源则以线程为单位来进行分配。)

 作业:从用户角度:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。从系统的角度看,作业由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。一个作业可由多个进程组成,且必须至少由一个进程组成。(作业的概念基本只用于批处理,而进程可以用于几乎所有的多道系统)

 联系:一个作业由程序、数据和作业说明书构成,一个作业可以包含多个进程。一个进程由程序、数据和PCB组成。

一个作业的完成需要四个部分:作业提交、收容、执行、完成。进程是对已提交的程序执行过程的描述。


Q:什么是多道批处理系统?

A:在内存中同时存放多个作业,使之同时处于运行状态,这些作业共享CPU和外部设备等资源。

看一个例题理解一下:

假定我们有3个程序,每个程序花费80%的时间进行I/O20%的时间使用CPU。每个程序启动时间和其需要使用进行计算的分钟数如下,不考虑进程切换时间。

程序编号              启动时间                    需要CPU时间(分钟)

1                              00:00                        3.5

2                              00:10                         2

3                              00:15                         1.5

请问在多线程/进程环境下,系统的总响应时间是()

A.22.5          B.23.5         C.24.5         D.25.5

解释: 

CPU利用率i/o处理占总时间比例则多道程序cpu占用率 为 1-p^n

分析步骤:

    多道编程时CPU利用率的求法:
   只有一个进程的时候,CPU利用率肯定是20%。
   两个进程的时候:CPu利用率是:20% + (1-20%)*20% = 36%
   三个进程是:36% + (1-36%)*20% = 48.8%


          0-10分钟的时候,只有一个进程1在运行。单进程CPU占有率是20%,所以这10分钟内,进程1消耗了2分钟的CPU。进程20,进程3也是0
  然后在10-15分钟内,有两个进程在运行(12),双进程的CPU利用率是36%
        所以,这五分钟内,CPU一共利用了1.8分钟,平均分给每个进程,是0.9分钟。

 此时,进程1已经占用了CPU 2.9分钟,还需要0.6分钟,这时候有三个进程在运行,所有总的CPU时间需要1.8分钟。

 三进程的CPU利用率是48.8%,所以总共需要1.8/0.488=3.69分钟。这时,进程1已经3.5分钟的CPu利用时间利用完了。
  此时还剩下23号进程在运行。
       2号进程还需要0.5分钟,所以0.5×2/0.36=2.78,此时2号进程的2分钟CPU时间也利用完了。

3号进程还需要0.4分钟的CPU利用时间。0.4/0.2 = 2


版权声明:本文为博主原创文章,未经博主允许不得转载。

在多线程/进程环境下,计算系统的总响应时间

通过一个多道编程的具体例子,来看看多道编程时计算机里面事件的发生顺序和多道编程环境下系统响应时间的提升。 假定我们有4个程序,每个程序花费80%的时间进行I/O,20%的时间使用CPU,每个程序的启...
  • yangkaikwill
  • yangkaikwill
  • 2015年09月05日 20:40
  • 1520

进程控制块PCB结构 task_struct 描述

进程控制块PCB结构 task_struct 描述 分类: linux内核基础2013-09-16 10:46 644人阅读 评论(4) 收藏 举报 进程控制块pcbtask_st...
  • pi9nc
  • pi9nc
  • 2014年04月10日 14:13
  • 7028

task_struct结构体字段介绍--Linux中的PCB

Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程, task_struct是Linux中的【进程控制块PCB结构】的具体数据结构 这个结构体包含了一个进程所需...
  • windyblankboy
  • windyblankboy
  • 2016年06月11日 17:10
  • 1833

操作系统实验三 进程调度

实验三 进程调度一、实验目的 1、 理解有关进程控制块、进程队列的概念。 2、 掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑。 二、实验内容与基本要求 1、 设计进程控制块PCB...
  • u011303443
  • u011303443
  • 2015年11月17日 22:21
  • 3990

操作系统基础知识和操作

  • 2008年12月11日 10:24
  • 1.62MB
  • 下载

unix操作系统+简单基础知识

  • 2009年12月25日 07:22
  • 287KB
  • 下载

操作系统进程基础知识

  • 2015年10月04日 20:29
  • 725KB
  • 下载

操作系统基础知识学习

  • 2016年07月10日 11:24
  • 1.44MB
  • 下载

操作系统的一一些基础知识

  • 2010年12月20日 22:46
  • 5.45MB
  • 下载

计算机的心智操作系统之哲学原理(进程线程基础知识)

  • 2017年12月20日 14:13
  • 34.07MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:操作系统基础知识
举报原因:
原因补充:

(最多只允许输入30个字)