操作系统—进程管理
- 格式:doc
- 大小:208.50 KB
- 文档页数:9
一、选择题1.在进程管理中,当时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是。
A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态3.P、V操作是。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是。
A.没有运行进程,有2个就绪进程,n个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
5.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。
A. 0个B. 1个C. 2个D. 3个6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中8.下列的进程状态变化中,变化是不可能发生的。
A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪9.一个运行的进程用完了分配给它的时间片后,它的状态变为。
A.就绪B.等待C.运行D.由用户自己确定10.用V操作唤醒一个等待进程时,被唤醒进程的状态变为。
A.等待B.就绪C.运行D.完成11.操作系统通过对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT 12.用P、V操作可以解决互斥问题。
A. 一切B. 某些C. 正确D. 错误13.一个进程被唤醒意味着。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态14.多道程序环境下,操作系统分配资源以为基本单位。
简述操作系统的功能操作系统(Operating System)是计算机系统中最基本的软件之一,它是计算机硬件与应用软件之间的桥梁,是计算机系统的核心,负责管理和控制计算机系统的各种资源,为用户提供一个方便、高效、可靠的工作环境。
操作系统具有以下主要功能。
1.进程管理:操作系统通过进程管理功能,对计算机的进程进行创建、执行、挂起和删除等管理操作。
进程是程序的一次执行过程,包括程序计数器、寄存器和变量等。
操作系统负责调度和控制进程的执行,分配和回收内存资源,并提供进程通信和同步等机制,保证进程之间的协调和并发执行。
2.内存管理:操作系统负责对计算机系统的内存进行管理和分配。
内存是计算机的重要资源之一,操作系统需要确保程序能够正确地加载和执行,并合理地管理内存资源。
操作系统通过内存分配、回收、置换和保护等技术,提高内存的利用率,确保程序的正常运行。
3.文件管理:操作系统使用文件管理功能,对计算机系统中的文件进行创建、读取、写入和删除等操作。
文件是计算机系统中的重要信息载体,操作系统需要为用户提供统一的文件访问接口,并支持文件的组织、存储和保护等功能,保证数据的可靠性和安全性。
4.设备管理:操作系统通过设备管理功能,对计算机系统中的各种硬件设备进行管理和控制。
硬件设备包括输入设备、输出设备和存储设备等,操作系统需要负责设备的分配、调度和控制,实现用户和设备之间的良好交互和数据传输,提高系统的可靠性和效率。
5.用户界面:操作系统提供用户界面,使用户可以方便地与计算机系统进行交互。
用户界面可以是命令行界面(CLI)或图形用户界面(GUI),通过输入指令或鼠标点击等方式,用户可以进行信息输入、程序执行和结果输出等操作。
操作系统需要提供简单、直观、友好的用户界面,提高用户的工作效率和体验。
6.系统安全:操作系统负责保护计算机系统的安全。
操作系统需要实施安全措施,防止病毒和恶意软件的入侵,并限制非法用户的系统访问权限,确保系统的机密性、完整性和可用性。
第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。
A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。
A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6.从资源管理的角度看,进程调度属于()。
A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。
A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。
A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。
A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。
操作系统的功能组成操作系统是计算机系统中最重要的软件之一,它扮演着连接硬件和应用程序的桥梁作用。
操作系统的功能组成包括进程管理、内存管理、文件系统、设备管理和用户接口等方面。
一、进程管理进程是指计算机中正在运行的程序的实例。
操作系统负责对进程进行管理,包括进程的创建、调度、同步和通信等。
进程的创建是指操作系统根据用户或应用程序的请求,创建新的进程,并为其分配资源。
进程的调度是指操作系统根据一定的调度算法,决定哪些进程应该被执行。
进程的同步是指操作系统通过信号量、互斥锁等机制,保证多个进程之间的顺序执行。
进程的通信是指操作系统提供一些机制,使得不同进程之间可以进行数据的交换和共享。
二、内存管理内存管理是操作系统的重要功能之一,它负责管理计算机的内存资源。
操作系统通过虚拟内存技术,将物理内存抽象成逻辑上连续的地址空间,为应用程序提供统一的内存访问接口。
内存管理还包括内存的分配和回收,以及内存的保护和共享等方面。
操作系统通过内存分页、内存分段等技术,实现对内存资源的合理利用和管理。
三、文件系统文件系统是操作系统中负责管理文件和目录的部分。
操作系统通过文件系统提供一种结构化的存储方式,使得用户可以方便地存储和访问文件。
文件系统包括文件的创建、删除、读取和写入等操作,以及文件的权限控制和文件的共享等功能。
操作系统通过文件系统,将物理存储设备抽象成逻辑上的文件和目录,为用户提供方便的文件管理接口。
四、设备管理设备管理是操作系统的另一个重要功能,它负责对计算机的各种硬件设备进行管理和控制。
设备管理包括设备的驱动程序的加载和卸载、设备的初始化和配置、设备的分配和释放等方面。
操作系统通过设备管理,实现对输入输出设备的统一管理,为应用程序提供方便的设备访问接口。
五、用户接口用户接口是操作系统与用户之间的交互界面,它负责接收用户的输入,向用户提供输出。
用户接口包括命令行界面、图形用户界面和网络接口等形式。
操作系统通过用户接口,使得用户能够方便地操作计算机系统,执行各种任务。
第二章进程管理练习题(一)单项选择题1.多道程序设计系统中,让多个计算问题同时装入计算机系统的主存储器( )。
A.并发执行B.顺序执行 C.并行执行D.同时执行2. 引入多道程序设计技术后,处理器的利用率( )。
A.无改善B.极大地提高 C.降低了D.无变化,仅使程序执行方便3.计算机系统采用多道程序设计技术后,()。
A.缩短了每个程序的执行时间B.系统效率随并行工作道数成比例增长C.提高了系统效率D.使用设备时不会发生冲突4.进程是( )。
A.一个系统软件B.与程序概念等效C.存放在内存中的程序D.执行中的程序5.进程的( )和并发性是两个很重要的属性。
A.动态性B.静态性C.易用性D.顺序性6.已经获得除( )以外所有运行所需资源的进程处于就绪状态。
A.主存储器B.打印机C.C PU D.磁盘空间7.在一个单处理器系统中,处于运行态的进程( )。
A.可以有多个B.不能被打断C.只有一个D.不能请求系统调用8.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。
A. 顺序执行B. 同时执行C. 并行执行D. 并发执行9.操作系统根据( )控制和管理进程,它是进程存在的标志。
A.程序状态字B.进程控制块C.中断寄存器D.中断装置10.若干个等待占有CPU并运行的进程按一定次序链接起来的队列为( )。
A.运行队列B.后备队列C.等待队列D.就绪队列11.临界区是指( )。
A. 并发进程中用于实现进程互斥的程序段B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段12.对于记录型信号量,在执行一次P操作时,信号量的值应( )。
A.不变B.加1 C.减1D.减指定数值13.在执行signal操作时,当信号量的值( )时,应释放一个等待该信号量的进程。
A.0 B.<0 C.>=0 D.<=014.wait、signal操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。
操作系统的五大管理功能和四大分类操作系统是计算机系统中的重要组成部分,它是管理计算机硬件和软件资源的核心软件。
操作系统的功能主要包括进程管理、内存管理、文件管理、设备管理和用户界面。
本文将详细介绍操作系统的五大管理功能和四大分类。
一、进程管理进程是计算机中正在运行的程序的实例。
进程管理是操作系统对进程的创建、调度、同步和通信等进行控制和管理的功能。
它主要通过进程调度算法来合理安排进程的执行顺序,确保系统资源的合理分配和高效利用。
1.1 进程创建与撤销进程创建是指操作系统在一个程序运行时,为它分配必要的资源和建立进程控制块。
进程撤销则是指操作系统根据某些条件主动终止一个正在运行的进程。
1.2 进程切换与调度进程切换是指操作系统在多任务环境下,将CPU的执行权从一个进程转移到另一个进程的过程。
进程调度则是指操作系统根据一定的优先级和调度算法,决定将CPU分配给哪个进程来执行。
1.3 进程同步与通信进程同步是指操作系统通过各种机制来协调多个并发执行的进程,防止它们之间的冲突和竞争导致的问题。
进程通信则是指操作系统提供的一种机制,使得进程之间可以传递信息和共享资源。
二、内存管理内存是计算机中用于存储程序和数据的物理设备,内存管理是操作系统对内存空间的分配、回收和保护等进行管理的功能。
它主要通过内存分区、动态分配和页式存储等技术,来提高内存的利用率和访问效率。
2.1 内存分区与地址映射内存分区是将计算机的内存空间划分为若干个逻辑区域,以方便管理不同的程序和数据。
地址映射则是将程序的逻辑地址转换为实际的物理地址,以便于访问内存中的内容。
2.2 虚拟内存与页面置换虚拟内存是指操作系统利用磁盘空间来扩展实际的物理内存,以解决内存不足的问题。
页面置换则是指操作系统根据一定的置换算法,将不常用的内存页面换出到磁盘,以便为其他进程提供更多的内存空间。
三、文件管理文件是计算机中用于存储和组织数据的逻辑单元,文件管理是操作系统对文件的创建、读写、删除和保护等进行管理的功能。
操作系统的功能和特点操作系统(Operating System,简称OS)是计算机系统中的核心软件,它负责管理和控制计算机硬件资源,为用户和应用程序提供一个友好、高效的工作环境。
操作系统具有以下几个主要功能和特点。
一、进程管理功能操作系统通过进程管理功能,实现了对计算机系统中各个进程的调度和控制。
进程是指计算机中正在运行的程序的实例,操作系统负责分配处理器资源,以确保不同程序能够有序地进行执行。
操作系统提供了进程间的通信机制,如管道、消息队列等,以便进程之间能够进行数据的交换和共享。
二、内存管理功能操作系统负责对计算机系统中的内存资源进行管理和调度。
它通过内存管理功能,实现了对内存的分配与回收,以及内存的映射和保护。
操作系统通过虚拟内存技术,将物理内存抽象为逻辑上连续的地址空间,为应用程序提供了更大的内存空间。
三、文件管理功能操作系统通过文件管理功能,提供了对磁盘存储介质上的文件进行组织和管理的能力。
它通过文件系统实现了对文件的存储、检索和更新操作。
操作系统为文件提供了访问权限和保护机制,以保证对文件的安全性和完整性。
四、设备管理功能操作系统负责对计算机系统中的各种设备进行管理和控制。
它通过设备管理功能,实现了对设备的分配与释放,以及对设备的访问和控制。
操作系统提供了设备驱动程序,将设备的复杂性屏蔽,为应用程序提供了统一的设备访问接口。
五、用户界面功能操作系统通过用户界面功能,为用户提供了与计算机系统进行交互的界面。
它可以是命令行界面(如DOS),也可以是图形用户界面(如Windows)。
用户界面使用户能够方便地启动程序、管理文件、进行设置等操作,提高了系统的易用性和可操作性。
操作系统具有以下几个主要特点:一、并发性操作系统能够同时处理多个程序的请求和任务,实现了多道程序的并发执行。
操作系统通过进程调度算法和资源分配策略,使得不同程序能够在统一的硬件平台上共享资源,提高了计算机系统的利用率和效率。
操作系统的核心功能操作系统(Operating System)是一种软件系统,它是计算机软硬件之间的中间层,负责管理和控制计算机的各种资源,提供良好的用户界面,并有效地组织和协调计算机程序的运行。
操作系统的核心功能是为用户提供方便的操作环境和高效的资源管理。
本文将详细介绍操作系统的核心功能。
一、进程管理进程是指在计算机上执行的程序。
操作系统负责创建、调度和终止进程,以实现多个程序同时运行的能力。
进程管理的核心功能包括进程的创建与撤销、进程的调度与切换、进程的通信与同步等。
通过合理的进程管理,操作系统能够使多个程序并发执行,提高计算机的利用率和用户的响应速度。
二、内存管理内存是计算机用于存储程序和数据的地方。
操作系统负责管理计算机的内存资源,包括内存的分配与回收、内存的保护与共享、虚拟内存的管理等。
内存管理的核心功能是为程序提供合适的内存空间,并确保不同程序之间的地址空间互相隔离,防止程序之间的干扰和冲突。
三、文件管理文件是计算机中存储信息的基本单位。
操作系统通过文件管理的功能,使得用户能够方便地创建、修改、删除和查找文件。
文件管理的核心功能包括文件的存储与访问控制、文件的目录结构与管理、文件的共享与保护等。
通过文件管理,操作系统能够提供良好的文件系统,便于用户对文件的管理和使用。
四、设备管理设备是计算机系统中用于输入、输出和存储数据的物理设备,如硬盘、打印机、键盘等。
操作系统负责管理计算机的各种设备资源,包括设备的分配与释放、设备的控制与调度、设备的错误处理等。
设备管理的核心功能是为用户提供方便的设备访问接口,使得用户能够方便地进行设备的操作和管理。
五、用户界面用户界面是用户与操作系统进行交互的接口。
操作系统通过合适的用户界面,使得用户能够方便地操作和使用计算机资源。
传统的操作系统用户界面主要有命令行界面和图形用户界面两种形式,近年来还出现了触摸屏、语音识别等新型用户界面。
用户界面的核心功能是为用户提供方便、直观的操作方式,提高用户的操作效率和体验。
操作系统的主要功能操作系统是计算机系统的核心软件,它是计算机系统的管理者,负责协调和控制硬件资源和软件资源的使用,为用户和应用程序提供一个友好、高效和可靠的运行环境。
操作系统的主要功能如下:1.进程管理:操作系统管理着计算机系统中运行的所有进程,负责分配和回收进程的资源,控制进程的执行顺序,并提供进程间通信的机制。
它使多个进程可以共享计算机资源,提高系统的运行效率和吞吐量。
2.内存管理:操作系统负责管理计算机的内存资源,包括进程的内存分配、回收和内存的分页、缓存、置换等操作。
通过虚拟内存技术,操作系统可以扩展内存容量,使多个进程可以同时运行,并提供对内存的保护机制,防止进程之间的干扰和数据的丢失。
3.文件系统管理:操作系统管理着计算机系统中的所有文件和目录,负责文件的存储、读写和保护。
它提供了一个统一的文件访问接口,使用户和应用程序可以方便地操作文件,在不同的存储设备间进行文件的传输和备份,并提供对文件的安全性和权限控制。
4.设备管理:操作系统管理着计算机系统中所有的设备,包括处理器、内存、硬盘、键盘、鼠标、显示器等。
它负责设备的初始化、配置和控制,提供设备驱动程序和接口,使用户和应用程序可以方便地使用设备,并提供设备的故障检测和修复机制。
5.用户接口:操作系统提供了一个与用户交互的界面,使用户可以方便地使用计算机系统。
它可以以命令行界面或图形界面的形式呈现给用户,提供各种功能和工具,如文件管理、进程管理、网络连接、系统配置等,使用户可以方便地进行各种操作和任务。
6.网络管理:操作系统负责管理计算机系统中的网络资源,包括网络连接、数据传输、网络协议、安全性和网络服务等。
它提供了各种网络接口和协议栈,使用户和应用程序可以方便地进行网络通信,实现远程登录、文件共享、互联网访问等功能。
7.安全管理:操作系统负责保护计算机系统的安全性,防止非法访问和攻击。
它提供了用户身份认证、访问权限控制、加密和防病毒等机制,保护用户的数据和隐私,提供计算机系统的可靠性和可用性。
操作系统五大管理功能包括哪些操作系统是计算机系统中的核心软件之一,它负责管理和控制计算机硬件资源的分配和使用。
操作系统的功能非常多样化,其中包括了五大管理功能。
本文将详细介绍这五大管理功能,并探讨它们在操作系统中的具体应用。
一、进程管理功能进程是指计算机中正在执行的程序,它是操作系统中最基本的执行单位。
进程管理功能主要包括进程创建、终止、调度和同步等。
进程创建是指操作系统根据用户的请求创建新的进程,分配必要的资源给予进程,并为进程设置初始状态。
进程终止是指当进程执行完任务或者出现错误时,操作系统终止该进程并释放其占用的资源。
进程调度是指操作系统按照一定的调度算法,将CPU的使用权分配给多个进程,以实现多道程序并发执行。
进程同步是指操作系统通过各种同步机制,来协调多个进程间的访问和资源竞争,避免发生死锁或竞态条件等问题。
二、内存管理功能内存管理功能主要负责管理计算机的主存储器(即内存),以实现进程的有效存储和访问。
内存管理功能包括内存分配、地址映射和内存保护等。
内存分配是指操作系统根据进程的需要,分配合适大小的连续内存空间给予进程,并维护一个内存分配表来记录内存的使用情况。
地址映射是指操作系统将逻辑地址转换为物理地址,以实现进程对内存的访问。
内存保护是指操作系统通过硬件或软件技术,限制进程对受保护内存区域的读写操作,保护进程的安全性和稳定性。
三、文件管理功能文件管理功能是指操作系统对计算机中文件的组织、存储和使用的管理控制。
文件管理功能包括文件的创建、打开、读写、关闭和删除等。
文件的创建是指操作系统根据用户的请求,创建一个新的文件,并为其分配磁盘空间。
文件的打开是指操作系统根据用户请求,将文件从磁盘载入内存,以便用户对文件进行读写操作。
文件的读写是指操作系统管理用户对文件的读取和写入操作,并保证数据的完整性和安全性。
文件的关闭是指操作系统将文件从内存中释放,并关闭文件指针,使其不能再被访问。
文件的删除是指操作系统根据用户的请求,将文件从磁盘中删除,并释放其占用的存储空间。
操作系统的作用操作系统的作用操作系统是计算机系统中一种管理软件,它负责协调计算机硬件和软件资源,提供用户和应用程序与计算机系统之间的接口。
操作系统扮演着许多重要角色,以下是操作系统的主要作用。
1.进程管理操作系统负责管理计算机系统中运行的所有进程。
它分配和管理进程的处理器时间,并确保它们能够按照合适的顺序执行。
操作系统还负责处理进程间的通信和同步,以及对进程的创建、销毁和调度进行管理。
2.存储管理操作系统确保计算机系统中的内存资源得到高效利用。
它负责将进程所需的内存空间分配给它们,并在需要时进行调整。
操作系统还负责内存的保护和安全性,以防止进程相互干扰和非法访问。
3.文件系统管理操作系统负责管理计算机系统中的文件和目录。
它提供了对文件和目录的创建、读取、写入和删除等操作。
操作系统还负责对文件进行保护,并确保文件系统的一致性和完整性。
4.设备管理操作系统管理计算机系统中的物理设备,例如硬盘驱动器、打印机和网络接口。
它提供了设备驱动程序来控制和协调设备的访问,以及提供了设备的抽象接口供应用程序使用。
5.用户界面操作系统为用户提供了与计算机系统交互的用户界面。
它可以是图形用户界面(GUI)或命令行界面(CLI)。
通过用户界面,用户可以执行各种操作,包括运行程序、管理文件和配置系统设置。
6.错误检测和恢复操作系统捕获和处理计算机系统中的错误和异常情况。
它会监视系统状态,并在出现错误时采取适当的措施,如重新启动受影响的进程或恢复中断的操作。
7.系统性能优化操作系统优化计算机系统的性能,以提高处理速度和资源利用率。
它会根据系统负载和用户需求进行资源管理和调度,以确保系统的高效运行。
附件:本文档不涉及附件。
法律名词及注释:本文档不涉及法律名词及注释。
3.1 Windows“任务管理器”的进程管理(实验估计时间:60分钟)➢➢背景知识➢➢实验目的➢➢工具/准备工作➢➢实验内容与步骤背景知识Windows 2000的任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,也显示了最常用的度量进程性能的单位。
使用任务管理器,可以打开监视计算机性能的关键指示器,快速查看正在运行的程序的状态,或者终止已停止响应的程序。
也可以使用多个参数评估正在运行的进程的活动,以及查看CPU 和内存使用情况的图形和数据。
其中:1) “应用程序”选项卡显示正在运行程序的状态,用户能够结束、切换或者启动程序。
2) “进程”选项卡显示正在运行的进程信息。
例如,可以显示关于CPU 和内存使用情况、页面错误、句柄计数以及许多其他参数的信息。
3) “性能”选项卡显示计算机动态性能,包括CPU 和内存使用情况的图表,正在运行的句柄、线程和进程的总数,物理、核心和认可的内存总数(KB) 等。
实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。
工具/准备工作在开始本实验之前,请回顾教科书的相关内容。
需要准备一台运行Windows 2000 Professional操作系统的计算机。
实验内容与步骤1. 使用任务管理器终止进程2. 显示其他进程计数器3. 更改正在运行的程序的优先级启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。
在本次实验中,你使用的操作系统版本是:_windowsXP当前机器中由你打开,正在运行的应用程序有:1)实验一-microsoft word2)操作系统电子书3) Microsoft word_4) _ftp://172.16.20.168/_5) __百度搜索—-qq空间-windows internet__Windows“任务管理器”的窗口由__4___个选项卡组成,分别是:1) 应用程序__2) __进程_____3) __性能4)联网当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察) :1) ___SGTool.exe_____________________________________________________2) __SogouCloud.exe__________________________________________________3) ___taskmgr.exe______________________________________________4) ____alg.exe_____________________________________________________5) _____ass.exe_______________________________________________________6) ________comine.exe________________________________________________7) ___jqs.exe_________________________________________________________8) ______LMS.exe____________________________________________________1. 使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示了__40____个进程。
实验3:进程管理 【实验目的】 掌握进程的概念,深入理解进程的含义。认识并理解并发环境中进程执行的实质问题,了解构成并发机制的进程创建过程; 了解在进程创建后通过对进程控制的系统调用,可实现对进程的有效控制。掌握在进程执行中对进程进行睡眠、同步、撤消等控制方法; 分析进程竞争资源的现象,学习解决进程互斥的方法。 【实验内容】 1、创建新的进程;查看运行进程;换出某个进程;杀死运行进程。 2、采用写者优先重写P94的读者-写者问题,并通过一个读写序列,将算法与读者优先算法进行比较。 3、P98的53题的上机作业。 【实验原理】
回答以下问题: 1. 简述调用fork创建新进程的过程 Unix系统中,fork属于系统调用,会创建一个与调用相同的副本,在调用了fork之后,这两个进程(父进程和子进程)拥有相同的存储映像,同样的环境字符串和同样的打开文件。通常,子进程接着执行execve或一个类似的系统调用,以修改其存储映像并运行一个新的程序。 2. 简述信号量的作用及使用方法 作用:多进程资源共享时,使用信号量,避免死锁。 使用方法:信号量大于或等于0表示可供并发进程使用的资源实体数;小于0代表正在等待使用临界区的进程数;用于互斥的信号量初始值应该大于0;只能通过P ,V 原语操作而改变。
【实验环境】 硬件环境 单核CPU 软件环境 Ubuntu 【实验过程】
1、创建新的进程:使用fork()函数 查看运行进程&换出某个进程:使用execp换出进程,并且用ls来替换以达到查看进程的效果 1
杀死运行进程:在父进程后使用kill函数 代码:
1.代码如下 #include #include #include #include int main() { int pid1,pid2; printf("the father process:ppid=%d\n",getppid());
pid1=fork(); if(pid1 < 0 ) { printf("fail to create child1 ! ; \n"); return 1; } else if (pid1 == 0 ) { printf("child1 process:pid1=%d\n",getpid()); return ; } int r=kill( pid1, SIGKILL); if( r ) { printf("kill fail\n"); } else { printf("child1(pid=%d) is killed!\n", pid1); } pid2=fork(); if( pid2<0 ) { printf("fail to create child2 \n"); return 1; } else if(pid2==0) 2
{ printf("child2 process:pid2=%d\n",getpid()); return 0 ; } if(execlp("/bin/ls","ls","-al",(char*)NULL) == -1) { printf("execlp error\n"); return 1; } else printf("execlp succeed\n"); return ; } 【实验结果】
运行结果如下:
分析:如图,调用了fork()函数后,程序先创建了子进程,然后调用kill函数杀死进程1,再创建进程2,然后调用execp函数切换当前进程为ls命令,列出当前文件。
2.采用写者优先重写P94的读者-写者问题,并通过一个读写序列,将算法与读者优先算法进行比较。 代码如下: #include "stdio.h" 3
#include #include
#define N_WRITER 2 //写者数目 #define N_READER 10 //读者数目 #define W_SLEEP 10 //控制写频率 #define R_SLEEP 8//控制读频率
pthread_t wid[N_WRITER],rid[N_READER]; const int MAX_RAND = 1000;//产生的最大随机数 int data = 0; int readerCnt = 0, writerCnt = 0; pthread_mutex_t accessReaderCnt = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t accessWriterCnt = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t writeLock = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t readerLock = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t outerLock = PTHREAD_MUTEX_INITIALIZER;
void write() { int rd = rand()%MAX_RAND; printf("write %d\n",rd); data = rd; } void read() { printf("read %d\n",data); } void * writer(void * in) { while(1) { pthread_mutex_lock(&accessWriterCnt); {//临界区,希望修改 writerCnt,独占 writerCnt writerCnt++; if(writerCnt == 1){ //阻止后续的读者加入待读队列 pthread_mutex_lock(&readerLock); } 4
} pthread_mutex_unlock(&accessWriterCnt);
pthread_mutex_lock(&writeLock); {//临界区,限制只有一个写者修改数据 write(); } pthread_mutex_unlock(&writeLock);
pthread_mutex_lock(&accessWriterCnt); {//临界区,希望修改 writerCnt,独占 writerCnt writerCnt--; if(writerCnt == 0){ //阻止后续的读者加入待读队列 pthread_mutex_unlock(&readerLock); } } pthread_mutex_unlock(&accessWriterCnt); sleep(W_SLEEP); } pthread_exit((void *) 0); }
void * reader (void * in) { while(1) { //假如写者锁定了readerLock,那么成千上万的读者被锁在这里 pthread_mutex_lock(&outerLock); {//临界区 pthread_mutex_lock(&readerLock);//只被一个读者占有 {//临界区 pthread_mutex_lock(&accessReaderCnt);//代码段 1 {//临界区 readerCnt++; if(readerCnt == 1){ pthread_mutex_lock(&writeLock); } } pthread_mutex_unlock(&accessReaderCnt); 5
} pthread_mutex_unlock(&readerLock);//释放时,写者将优先获得readerLock } pthread_mutex_unlock(&outerLock);
read(); pthread_mutex_lock(&accessReaderCnt);//代码段2 {//临界区 readerCnt--; if(readerCnt == 0){ pthread_mutex_unlock(&writeLock);//在最后一个并发读者读完这里开始禁止写者执行写操作 } } pthread_mutex_unlock(&accessReaderCnt);
sleep(R_SLEEP); } pthread_exit((void *) 0); }
int main() { int i = 0; for(i = 0; i < N_READER; i++) { pthread_create(&rid[i],NULL,reader,NULL); } for(i = 0; i < N_WRITER; i++) { pthread_create(&wid[i],NULL,writer,NULL); } while(1){ sleep(10); } return 0; } 【实验结果】