【操作系统OS】简答题必备 第二章:进程管理

• 1、库函数和系统调用的区别和联系
• 库函数是应用程序的一部分,运行在用户空间中。而系统调用是操作系统的一部分,内核为用户提供的程序接口,运行在内核空间中。许多库函数都会使用系统调用来实现调用某一些内核功能,未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时,需要上下文的切换以及用户态和核心态的切换。
• 2、处理器为什么要区分核心态和用户态两种操作方式,在什么情况下会进行两种方式的切换
• 是为了保护系统应用程序,用户态转换到核心态发生在中断产生时,核心态转换到用户态发生在中断返回用户程序时。
• 3、通道是一种控制一台或者多台外部设备的硬件机构,它一旦被启动就独立于CPU运行,因而做到了输入输出操作与CPU并行工作。
• 4、中断技术就是在输入输出结束时,或者发生某些硬件故障时,由相应的硬件向CPU发出信号,这时CPU立即停止工作从而转向处理中断请求,待处理完后再继续原来的工作。
• 5、进程与线程的区别
• 1、通信:进程间通信需要同步和互斥机制来协助,而同一进程中的线程间通信则可直接访问该进程的数据段。
• 2、调度:引入线程后的操作系统中,线程成为了独立调度的基本单位,进程则还是拥有资源的基本单位。
• 3、资源:进程是拥有资源的基本单位,而线程则几乎不拥有资源,只拥有一些必须的信息资源,线程可直接访问所属进程的资源。
• 4、并发:引入线程后不仅进程间可以并发,线程间也可以并发,而且引入线程的操作系统有着更好的并发性,更高的系统吞吐量。
• 5、地址空间:进程间的地址空间相互独立、而同一进程的各线程间则共享该进程的资源。
• 6、开销:进程的状态切换的开销远大于线程的状态切换;进程间切换需要操作系统的干预,而同一进程中的线程间切换不需要操作系统的干预。
• 6、挂起和阻塞态的区别
• 两种状态都是暂时不能获得CPU的服务,但是挂起状态将进程映像调到外存中去了,而在阻塞态下进程映像还在内存中。但是两者的PCB都是在内存中的。
• 7、三种调度的对比
在这里插入图片描述
• 8、程序的封闭性是指进程执行的结果只取决于进程本身,不受外界影响。进程在执行过程中,不管是不停顿的执行,还是走走停停,进程的执行速度都不会改变他的执行结果。失去封闭性后,不同速度下的执行结果也不同。
• 9、C语言编写的程序在使用内存的时候一般分为三个段,他们一般是正文段,(代码和赋值的数据段),还有数据堆段和数据栈段。二进制代码和常量通常的都存在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。因此我们可以确定全局赋值变量在正文段的。数据段中,Vi复制到局部变量和实参传递,在那站短动态内存分配在堆段。常亮在正文段进程的优先级只能在PCB中。
• 10、PCB中主要有四大类数据结构内容:进程标识信息,进程控制信息,进程资源信息,CPU现场信息。
• 11、进程与程序之间的关系:进程与程序相关,进程包含的程序程序是进程的核心内容,没有程序就没有进程。进程不仅仅是程序,还包含了程序在执行过程中使用的全部资源,没有资源,程序就无法执行,因此进程是程序执行的载体。
• 11、进程和程序之间可以形成一对一,一对多、多对一、多对多的关系,请分别举例说明在什么情况下会形成这种关系?
• 进程是程序执行的载体,程序是进程的核心内容。执行一条命令或者运行一个应用程序的时候,进程和程序之间形成了一对一的关系,进程在执行过程中可以加载执行不同的应用程序,从而形成了一对多的关系,以不同的参数或者数据多次执行同一个应用程序时形成了多对一的关系,并发的执行不同的应用程序时形成多对多的关系。
• 12、父进程创建子进程和主程序调用子程序有何不同?
• 父进程创建子程序之后,父进程与子进程同时执行,他们是并发的,而主程序调用子程序之后呢,主程序暂停再调用点,子程序开始执行,直到子程序返回主程序才开始执行。

猜你喜欢

转载自blog.csdn.net/qq_39072627/article/details/104519275