操作系统中进程、线程的知识点和简答题

来源:互联网 发布:ping ip或域名 编辑:程序博客网 时间:2024/06/06 02:25

1进程的概念及组成。
概念:进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。
组成:
(1)进程标识符:它是惟一的标志对应进程的一个标志符或数字;
(2)处理机状态:包括是处理机的各种寄存器内容信息;
(3)进程调度信息:表明该进程的执行状态;调度优先权:表示进程获取CPU的优先级别;进程之间通信信息:反映该进程与哪些进程有什么样的通信关系;
(4)进程控制信息:被保护的信息有:程序计数器程序状态字,各工作寄存器的内容等;资源需求、分配和控制方面的信息;进程实体信息:指出该进程的程序和数据的存储情况,在内存或外存的地址、大小等;族系关系:反映父子进程的隶属关系;其它信息:如文件信息、工作单位等。

2进程的基本状态及转换条件
状态:
创建:进程正被创建。
运行:(进程的)指令正被执行。
等待:进程正在等待发生一些事件(如I/O 完成或接收一个信号)。
就绪:进程正等待分配处理器。
终止:进程结束运行
这里写图片描述

转换:
(1) 就绪→运行:进程具备运行条件,当进程调度程序选择了进程后,便将其转入运行状态。
(2) 运行→阻塞:进程需要等待某种事件的发生,如执行了输入输出指令,或者请求资源得不到满足时,进程转阻塞状态。
(3) 阻塞→就绪:进程等待的I/O已完成,或者请求的资源得到满足,进程转为就绪状态。
(4) 创建→就绪:进程尚不具备运行条件,所需的资源尚未得到满足。当进程创建完成后,进程可转入就绪状态。
(5) 运行→延迟:进程运行过程中,因某种原因需要延迟运算,则设定好延迟时间后被转入延迟状态。
(6) 运行→完成:进程运行时遇到结束指令后,被转入完成状态。

3进程控制块(PCB)的作用
答:进程控制块是进程组成中最关键的部分。每个进程有惟一的进程控制块。操作系统根据PCB对进程实施控制和管理。进程的动态、并发等特征是利用PCB表现出来的。PCB是进程存在的惟一标志

4进程调度的类型(长,中,短)及调度的过程(上下文切换)
(1)高级调度(high Level Scheduling):又称为作业调度或者长程调度(longTerm Scheduling),其主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它调度对象是作业。P84
(2)低级调度(low Level Scheduling)称为进程调度或短程调度(shortTerm Scheduling),它所调度的对象是进程(或内核级线程。)进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。
(3)中级调度(Intermediate Level Scheduling)又称中程调度(Medium-Term Scheduling).引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。

5进程的操作有哪些。
答:包括进程的创建和进程的终止

6进程间通信的机制有哪些。
答:消息传递系统、命名(包括直接通信和间接通信)、同步、缓冲

问答题:
1.试比较进程和程序的区别
答:进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:
(1)进程是程序在处理机上的一次执行过程,是一个动态概念;而程序是代码的有序集合,其本身没有任何运行的含义,是一个静态的概念。
(2)进程是一个状态变化的过程,是有生命期的,表现在它因创建而产生,因调度 而执行,因得不到资源而暂停,因撤销而消亡;而程序是永久的,可以长久保存。
(3)进程和程序的组成不同。进程由程序、数据和进程控制块组成,而程序仅是代 码的有序集合。
(4)进程与程序之间不是一一对于的。通过多次运行,同一个程序可以对应多个进程过调用关系,一个进程可以包含多个程序。

2.并行与并发的概念
并发(Concurrent):多个事件在同一时间段内发生。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。
并行(parallel)是指在同一时刻发生。

1线程的基本概念及组成
答:线程,有时也被称为轻量级进程(LWP) ,是一个基本的 CPU执行单元;它包含了一个线程 ID、一个程序计数器、一个寄存器组和一个堆栈。它与属于同一个进程的其它的线程共享代码段、数据段,以及其它的操作系统资源。

2引入线程的好处。
答: 提高了响应速度,资源共享,经济实惠,提高了多处理机体系结构的利用率,使OS具有更好的并发性

3用户级线程和内核级线程的区别
答:对用户线程的支持通常处于内核之上,通过一个用户级线程库(thread library)实现。线程库提供了对线程的创建、调度和管理的支持,这无需来自内核的支持。用户级线程的创建和管理通常很快;
内核线程由操作系统直接支持:内核在内核空间内实现了线程的创建、调度和管理。因为线程管理由操作系统完成,所以内核线程的创建和管理要比用户线程慢。

4多线程模型有哪些,各自优缺点
多对一模型: 优点:效率比较高。缺点:如果一个线程调用了导致阻塞的系统调用的话,那么将阻塞整个进程。在多处理机环境中多个线程不能够并发执行。用户级线程库在那些采用了多对一模型不支持。
一对一模型:优点:更好的并发性;允许多个线程在多处理机环境中并行执行。缺点:在于创建一个用户线程就需要创建一个相应的内核线程。
多对多模型:优点:允许开发者随心所欲的创建用户线程。允许更大的并行性。缺点:开发者能够创建所需的用户线程,而且相应的内核线程能够在多处理机环境中并行运行。而且当一个线程执行导致阻塞的系统调用时,内核能够调度其它的线程执行。

5线程池的思想。
答:线程池的思想是在进程开始时创建一定数量的线程并将它们置入一个池(pool)中,线程在这个池中等待工作。当服务器接收到一个请求时,它就从池中唤醒一个线程(如果有可用的线程) ,由它来处理请求。一旦线程服务完毕,它就返回线程池等待后面的工作。如果池中没有可用的线程,那么服务器就等待,直到某个线程被释放。

问答题:
1.什么是线程?描述线程和进程的区别?
答:线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用 户栈以及核心栈组成。
调度:传统操作系统中,拥有资源的基本单位和独立调度分派的基本单位都是进程;而引入线程的操作系统中,线程是调度和分派的基本单位,进程则是资源分配的基本单位。
并发性:在引入线程的OS中,进程之间可以并发执行,同一进程的多个线程之间也可以并发执行,从而使得OS具有更好的并发性。
拥有资源:在OS中,进程是拥有资源的一个独立单位,它拥有自己的资源,而线程一般不拥有系统资源,但是它可以访问其隶属进程的资源。
系统开销:创建和撤销进程涉及资源的分配或回收,需要比线程创建和撤销大得多的系统开销,同样的,进程切换的开销也远远大于线程切换的开销。

原创粉丝点击