操作系统读书工程报告
操作系统学习报告

操作系统原理学习报告在经过16周的课程学习,我们对操作系统原理从陌生到熟悉,虽无法全部掌握,但也有了个大致了解。
不可否认,这些偏向理论性的知识很枯燥,很感谢老师把这一门那么枯燥的课讲得如此抑扬顿挫。
操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配和管理;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
这是书上对于操作系统的定义,我觉得这是最基础的学习这门课程所应该了解的。
我在这里主要讨论一下对于处理机调度的理解及应用。
众所周知,处理机是计算机系统中的核心部分,缺了它,什么事情都做不了。
而且,处理机有一个特性,就是多任务只能互斥地使用处理机,这是因为它是单入口资源的。
处理机对于运行时间是以分片方式提交给计算任务使用的,但也因此引发出许多处理机分配的策略问题。
很多时候,对于如何使用处理机时间,许多微型机选择让单个用户独占机器,知道他完成计算任务,这是最简单的策略。
但多数计算为了等待完成I/O操作而使CPU时间几乎浪费了一半。
出于经济上的考虑,一般系统(包括高档微型机)是由多个同时性的用户分用。
要满足多个同时性用户的分用,需要解决将CPU先分给哪个用户程序,它占用多长时间,下一个又该轮到哪个程序等问题,这就是调度策略问题。
在这里,我结合教材主要讨论关于批处理系统中的处理机调度。
我查阅了一下相关知识,在百度文科中所给出的关于处理机调度的定义是:从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
处理机调度除了教材中所提到的作业调度(宏观调度)和进程调度(微观调度),还有一个中级调度。
作业调度的任务是对提交给系统的大量后备作业按一定的调度原则挑选,分配主存等必要资源,建立作业对应的进程,使其投入运行。
后备运行就绪等待完成作业录入作业调度作业调度作业的状态及转换执行从上图可以看出作业在整个活动期间共有三种状态:后备状态、执行状态、完成状态。
影响作业调度的有两个因素:接纳多少个作业,接纳哪些作业。
《 操作系统》心得体会

《操作系统》心得体会在当今数字化的时代,操作系统作为计算机系统的核心组成部分,对于我们的日常生活和工作产生了深远的影响。
通过对操作系统这门课程的学习,我不仅获得了丰富的知识,还对计算机系统的运行机制有了更深入的理解。
操作系统就像是一个大管家,负责管理计算机的硬件和软件资源,为用户和应用程序提供一个稳定、高效的运行环境。
它协调着计算机系统中的各个部分,使得硬件、软件和用户能够协同工作,实现各种复杂的任务。
在学习操作系统的过程中,我首先了解到了操作系统的基本功能。
进程管理是其中的关键部分,它涉及到进程的创建、调度、同步和通信。
进程就像是一个个忙碌的工人,在计算机中各司其职,而操作系统要确保它们能够有序地工作,不发生冲突和混乱。
通过学习进程调度算法,如先来先服务、短作业优先、时间片轮转等,我明白了如何根据不同的需求和场景来合理地分配 CPU 资源,以提高系统的整体性能。
内存管理也是操作系统的重要职责之一。
内存是计算机存储数据和程序的地方,操作系统需要有效地管理内存空间,以满足不同程序的需求。
虚拟内存技术给我留下了深刻的印象,它使得计算机能够运行比实际物理内存更大的程序,通过将暂时不用的数据存储在硬盘上,为正在运行的程序提供了足够的内存空间。
这种技术极大地提高了计算机的资源利用率,让我们能够更加高效地处理大规模的数据和复杂的任务。
文件系统则是操作系统用于管理数据存储和访问的机制。
文件就像是一个个收纳盒,将相关的数据和信息整理在一起,而文件系统则负责组织和管理这些收纳盒,使得用户能够方便地创建、读取、写入和删除文件。
不同的文件系统具有不同的特点和性能,了解它们的工作原理和适用场景,对于我们合理地选择和使用文件存储方式非常重要。
设备管理则是确保计算机外部设备能够正常工作的关键。
从键盘、鼠标到打印机、扫描仪,操作系统需要与各种设备进行通信和协调,为用户提供统一的接口和便捷的操作方式。
设备驱动程序在其中起到了桥梁的作用,它将操作系统的指令转化为设备能够理解的信号,实现了设备的正常运行。
操作系统课程设计报告读书工程方案

“操作系统课程设计”读书工程环节方案“操作系统”是计算机科学技术专业与软件工程专业的必修课程,也是该专业核心理论课程。
为了更全面的理解理论知识,提高实践能力,计算机科学与技术专业以及软件工程专业开设了实践类必修课程-“操作系统课程设计”。
将读书环节融入教学内容的设计中,做好理论教学、实践教学、读书环节三者有机结合,可使学生进一步了解课程理论知识,拓宽视野,加深对本专业相关课程的理解。
在读书工程环节,学生可以通过阅读相关的参考书目,对课程设计的五个部分(进程控制、进程调度、请求分页存储管理、设备管理、文件管理)中的任意一个题目进行深入的分析探讨和总结,并提交相应的读书工程报告。
考核方式:通过提交读书报告进行考核,该部分成绩要占课程总成绩的15%。
该报告至少应包括基本理论阐述、当前理论或实践应用现状、本人对相关内容的体会、课程设计过程中对相应部分的设计与实现思路、读书工程心得总结等几个方面,字数不少于5000字。
参考书目:现代操作系统(第2版、第3版,中文/英文原版)●作者:(荷)AndrewS.Tanenbaum●译者:陈向群,马洪兵●:机械工业●出版日期:2005年6月本书是操作系统领域的经典之作,与第1版相比有较大的变化。
书中集中讨论了操作系统的基本原理,除了重点放在单处理机操作系统之外,还包含了有关计算机安全、多媒体操作系统、unix、windows 2000以及操作系统设计等方面的内容。
书中涉及的主题包括图形用户界面、多处理机操作系统、笔记本电脑电源管理、可信系统、病毒、网络终端、cd-rom 文件系统、互斥信号量、raid、软定时器、稳定存储器以及新的页面置换算法等。
此外,书中还增加了大量习题,方便教学。
本书适合作为高等院校计算机科学与技术专业操作系统课程教材,也是设计、开发操作系统的重要参考书。
Andrew S. Tanenbaum 是ACM和IEEE的资深会员,荷兰皇家艺术和科学学院院士,获得过1997年度ACM/SIGCSE计算机科学教育杰出贡献奖。
操作系统 读书报告 小论文 计算机

简述Android操作系统并对当前主流手机OS比较分析摘要介绍Android移动平台系统架构,通过对Android源代码的分析,将其与标准Linux内核(2.6.27)源代码相比较,详细解析Android内核的功能更新,分析讨论加Android内核与标准Linux内核之间的不同以及Android在移动平台上的优势.并对Android在各种内核之间做出一个定位。
介绍了主要智能手机操作系统现状并进一步分析了其发展现状。
最后,在此基础上展望了主要智能手机的发展前景,未来随着智能手机发展、应用日益丰富以及各方产业力量的博弈等,全球智能手机操作系统将呈现出被若干主要产品瓜分的新格局。
关键词操作系统Android 内核IOS Symbian Linux0 引言随着嵌入式技术的发展.智能手机的运行速度和所集成的功能获得了极大提升。
借着这股东风,Google主导的开放手机联盟OHA(0pen Handset Alliance)顺势在2008年推出了Android移动终端平台。
Android是一个开放、自由的终端平台,它的发布,打破了诺基亚Symbian操作系统和微软Windows Mobile操作系统在智能手机平台上的垄断地位.同时,其平台化的优势也大大丰富各种手持式设备软件的功能。
1Android操作系统简述1.1Android系统架构Android是Google开发的基于Linux平台的开源手机操作系统,它是一个移动终端平台,包括了移动电话工作所需的全部软件,由操作系统、中间件、UI(User Interface)及应用程序组成。
开发人员使用Java语言,开发运行于Dalvik虚拟机上的应用程序,其运行效率比一般嵌入式Linux操作系统上的J2ME程序高。
Android系统架构自底向上由以下4个层次组成:基于Linux的内核模块、运行时库与其他库、应用程序框架、应用程序。
(1)基于Linux的内核模块Android内核基于Linux 2.6,提供安全、内存管理、进程管理、网络组、驱动模型等核心服务。
哈工大操作系统读书笔记

哈工大操作系统读书笔记在哈尔滨工业大学的计算机科学与技术专业的学习中,操作系统是我们学科的核心课程之一。
为了更好地掌握操作系统的基本原理和技术,我认真阅读了相关教材,并做了一些笔记。
一、操作系统的基本概念1. 操作系统定义:操作系统是控制计算机硬件和软件资源,管理用户程序运行,提供用户界面和应用程序开发环境的一种系统软件。
2. 操作系统功能:主要功能包括处理机管理、存储管理、文件管理、设备管理以及用户界面。
二、处理机管理1. 进程的定义:进程是程序的一次执行,是系统进行资源分配和调度的基本单位。
2. 进程的状态:包括新建、就绪、运行和阻塞四种状态。
3. 进程控制块PCB:用于描述进程的基本信息和运行状态。
4. 进程调度算法:包括先来先服务、最短作业优先、最短剩余时间优先等。
三、存储管理1. 内存分配方式:包括固定分区、可变分区、分页和分段。
2. 内存置换算法:包括先进先出、最近最少使用、最佳置换算法等。
3. 虚拟内存的概念:通过将内存和外存统一管理,为用户提供一个比实际内存大得多的虚拟内存空间。
四、文件管理1. 文件系统的概念:文件系统是操作系统中负责管理和存储文件信息的软件部分。
2. 文件的分类:按性质分为系统文件和用户文件;按内容分为文本文件和二进制文件;按存储方式分为顺序文件和随机文件。
3. 文件的访问方式:包括顺序访问和随机访问。
五、设备管理1. 设备驱动程序的概念:设备驱动程序是操作系统与硬件设备交互的接口,负责设备的初始化和释放、设备的读写操作以及设备的状态查询等。
2. 缓冲技术的概念:缓冲技术是解决I/O设备速度与CPU速度不匹配问题的一种方法,通过在内存中开辟一块缓冲区,暂时存放输入输出数据,以实现数据的同步传输。
3. 设备分配与回收:设备分配的主要任务是确定哪些进程可以使用哪些设备,并满足设备的互斥使用和独立性等约束条件;设备回收的任务是在进程终止时,将设备的使用权收回并重新分配给其他进程使用。
操作系统实验报告心得体会范文大全(8篇)

操作系统实验报告心得体会范文大全(8篇)操作系统实验报告心得体会范文大全篇一:通过这一学期学习,才慢慢接触专业课。
刚开始觉得挺难得我都有点不想学这个专业了,慢慢的我觉得有趣多了。
虽然我学的不是很好,最起码我能给自己装系统了。
我给自己的电脑装过window7、xp系统。
从一开始连个cmos设置都不会进去,到现在能装各种机型的系统。
让我最高兴的事是我会建立网站了,以及能制作出复杂点的,漂亮的网页了。
从刚开始学装windowserver20xx时,我真的懵懵懂懂的,那开始是真的不想学这个专业了,那段时间还学java编程,我真的快崩溃了,后悔自己干嘛学这个专业,我根本就是没有天赋,感觉大学这四年完蛋了,大一大二还没有感觉,现在真实的感受到了,但后来发现,我是越来越感觉有兴趣了,只要肯付出课后肯钻研,就一定会有一点收获的。
通过这次网页课程设计激发学习兴趣,调动学习的自觉性,自己动脑、动手,动口,运用网络资源,结合教材及老师的指导,通过自身的实践,创作出积聚个人风格、个性的个人网页。
总体来说,整个学期的学习过程,我学会了很多知识,在此次网页设计中,我充分利用了这次设计的机会,全心全意投入到网页世界,去不断的学习,去不断的探索;同时去不断的充实,去不断的完善自我,在网络的天空下逐渐的美化自己的人生!做好页面,并不是一件容易的事,它包括个人主页的选题、内容采集整理、图片的处理、页面的排版设置、背景及其整套网页的色调等很多东西。
本次课程设计不是很好,页面过于简单,创新意识反面薄弱,这是我需要提高的地方。
需要学的地方还有很多,需要有耐心、坚持,不断的学习,综合运用多种知识,才能设计出好的web页面。
总体来说,通过这次的对网页和网站课程设计,有收获也有遗憾、不足的地方,但我想,我已经迈入了网页设计的大门,只要我再认真努力的去学习,去提高,凭借我对网页设计的热情和执着,我将来设计出的网页会更加专业,更完善。
操作系统实验报告心得体会范文大全篇二:转眼间,学习了一个学期的计算机操作系统课程即将结束。
操作系统读书报告

操作系统读书报告引言操作系统是计算机硬件与软件之间的接口,它对计算机系统的管理起着至关重要的作用。
通过阅读相关的操作系统教材,我对操作系统的工作原理、设计思想以及应用领域有了更深入的了解。
在本文档中,我将就我的学习过程和所学到的知识进行总结和报告。
操作系统概述操作系统是一种控制和管理计算机硬件资源的软件系统。
它在计算机启动时加载到内存中,并提供各种系统调用接口,使用户程序可以方便地使用计算机的资源。
操作系统的核心任务包括进程管理、内存管理、文件系统管理、设备管理等。
操作系统的组成和结构操作系统由内核和外壳组成。
内核是操作系统最核心的部分,主要负责管理计算机的资源和提供基本的操作系统服务。
外壳则是基于内核的用户界面,用户通过外壳可以与操作系统进行交互。
操作系统的结构通常由内核模式和用户模式组成,内核模式具有更高的权限,可以执行一些特权指令,而用户模式则受到一定的限制。
进程管理操作系统通过进程管理来有效地利用计算机的资源。
进程是指正在运行的程序的实体,每个进程都有自己的内存空间和执行状态。
操作系统通过进程调度算法来合理地分配CPU的时间片,使得多个进程可以并发地运行,并通过进程间的通信机制实现进程间的数据交换和共享。
内存管理内存管理是操作系统的核心任务之一,它负责管理计算机的内存资源。
操作系统通过虚拟内存机制为每个进程提供独立的地址空间,从而使得每个进程可以拥有一定的内存空间,而不会互相干扰。
操作系统还通过分页和分段等技术来进行存储器的动态分配和回收,以及实现内存的共享和保护。
文件系统管理文件系统管理是操作系统的重要组成部分,它负责管理计算机的存储资源。
文件系统通过文件目录结构和文件访问控制机制来组织和管理文件,使得用户可以方便地进行文件的读取、写入和删除操作。
操作系统还提供了缓存和磁盘调度等技术,以提高文件系统的性能。
设备管理设备管理是操作系统的另一大任务,它负责管理计算机的各种输入输出设备。
操作系统通过设备驱动程序来与硬件设备进行通信,并通过设备控制块等数据结构来管理设备的状态和事件。
操作系统实验心得体会

操作系统实验心得体会在操作系统课程中,实验是非常重要的一部分。
通过实验,我们可以更加深入地了解操作系统的原理和实现方式。
在实验中,我遇到了许多问题,但也收获了很多经验和体会。
实验环境的搭建在进行操作系统实验之前,我们需要先搭建好实验环境。
这是一个比较繁琐的过程,需要安装虚拟机、Linux系统、编译工具等等。
在这个过程中,我遇到了很多问题,比如安装过程中出现的错误、环境配置不正确等等。
但是通过查找资料、询问老师和同学的帮助,最终我成功地搭建了实验环境。
在这个过程中,我学会了如何查找资料、如何提问、如何解决问题。
这些都是非常重要的技能,对于以后的学习和工作都有很大的帮助。
实验过程中的问题在进行实验的过程中,我遇到了很多问题。
有些问题是因为自己的理解不够深入,有些问题是因为代码实现不正确,还有一些问题是因为环境配置不正确。
在遇到问题时,我首先会仔细阅读实验指导书和代码,尝试自己解决问题。
如果还是无法解决,我会向老师和同学请教,或者在网上查找相关资料。
通过这些方法,我成功地解决了许多问题。
在解决问题的过程中,我学会了如何分析问题、如何调试代码、如何利用工具等等。
这些都是非常重要的技能,对于以后的学习和工作都有很大的帮助。
实验中的收获通过操作系统实验,我收获了很多东西。
首先,我更加深入地了解了操作系统的原理和实现方式。
其次,我学会了如何查找资料、如何提问、如何解决问题。
最后,我学会了如何分析问题、如何调试代码、如何利用工具。
这些收获对于我以后的学习和工作都非常重要。
在以后的学习和工作中,我会继续努力,不断提高自己的能力和水平。
总结操作系统实验是一项非常重要的任务,通过实验,我们可以更加深入地了解操作系统的原理和实现方式。
在实验中,我们会遇到很多问题,但只要我们认真对待,耐心解决,就一定能够取得成功。
在实验中,我们还可以学会很多重要的技能,这些技能对于以后的学习和工作都非常有帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑龙江大学《操作系统课程设计》读书报告学院年级专业学号姓名一.基本理论阐述1.进程并发程序和顺序程序有本质上的差别,为了能更好地描述程序的并发执行,实现操作系统的并发性和共享性,引入“进程”的概念。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
处理器是计算机系统中最重要的资源。
在现代计算机系统中,为了提高系统的资源利用率,CPU将为某一程序独占。
通常采用多道程序设计技术,即允许多个程序同时进入计算机系统的内存并运行!我们今天使用的操作系统主要是分时系统,由调度程序调入的多个作业共享CPU 资源,其中每个作业只执行极短的一段时间(比如0.1s,我们称为一个时间片),极短的时间过后暂停执行,调入下一个程序。
这样在不长的一段时间内(比如5s 内),有限的进程(少于50 个)都可以得到至少一次的执行,用户请求可以得到及时的响应。
这种作业调度的方式我们称为时间片轮转法。
这种执行的方式叫并发执行,并发性也是分时系统的基本特性之一。
在分时系统中,为了执行一项作业,就需要把要执行的作业程序载入内存中作为程序段,为作业分配相应的数据空间作为数据段,并加入一个控制块(PCB),用来保存当前作业执行所必须的一些信息,使之能够并发执行。
内存中的程序段、数据段和PCB 我们称为一个进程实体,而一个进程实体的执行过程我们称为进程。
2.进程的三种基本状态1.进程的三种基本状态进程在运行中不断地改变其运行状态。
通常,一个运行进程必须具有以下三种基本状态。
就绪(Ready)状态当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。
引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。
2.进程三种状态间的转换一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。
图3_4描述了进程的三种基本状态及其转换。
(1) 就绪→执行处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
(2) 执行→就绪处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。
(3) 执行→阻塞正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
(4) 阻塞→就绪处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
3、程序和进程;程序是存储在外存储器、静态的为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
进程是程序运行时,调入内存运行的形态,是一个正在执行的程序。
进程是动态的,运行在内存中。
程序是指一套软件,它由多个文件相互配合来运行,给你完成工作。
比如你打开网站运行的就是IE浏览器程序,进程是相对系统而言,现从DOS 系统以后,windows系统都是多任务系统,也就是它可以同时处理多样事务,也就是可以同时运行多个程序,一个程序也可以运行多次,每个程序运行一次,都必须占用一个以上进程,比如你打开一个网页窗口,该程序就占了一个进程,如果你打开多个网页窗口,IE就会启运多个进程。
这些都可以打开“任务管理器”“进程”中查看的到。
你结束了该进程,相应的软件也就会关闭。
4.进程分类;进程一般分为交互进程、批处理进程和守护进程三类。
值得一提的是守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。
比如在Fedora或Redhat中,我们可以定义httpd 服务器的启动脚本的运行级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd 就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。
[root@localhost ~]# chkconfig --level 35 httpd on由于守护进程是一直运行着的,所以它所处的状态是等待请求处理任务。
比如,我们是不是访问 , 的httpd服务器都在运行,等待着用户来访问,也就是等待着任务处理。
5.进程的属性;进程具有如下的属性.(1)用户所有进程为用户所有,其可为进程提供安全措施.(2)最少有一个线程每个进程至少有一个线程,进程创建的同时会创建一个线程(3)拥有句柄拥有的对象都有其句柄.(4)可继承句柄有些共有的属性可被继承,利用Dupulicate Handle 函数或在创建时使对象可被继承来改变继承标识.例如,管道是读和写句柄,在管道创建时,它就可以被指定成可继承的.2.进程的资源进程拥有一系列的系统资源,比文件,管道,通信端口以及在进程被执行时由操作系统分配的信号量.典型的程序资源包括打开的文件,信号量和动态分配的内存.这些资源的标志都保存在进程的对象句柄表中.一个进程可访问所有系统资源,所以一个进程也可以利用操作系统提供的资源管理器.进程可以访问的系统资源,所以一个进程也可以利用操作系统提供的资源管理器.进程可访问的系统资源如下所述.(1)访问标志一个访问标志被操作系统附加在一个进程中.一个进程可得到其标志信息或改变其某些属性.例如.该进程具有保密特权,该进程必须先对它标志.(2)虚拟地址空间隔离地址空间按进程的需要被指定并被虚拟存储管理器(VMM)跟踪.如果没有有效的内存,指定内存请求就会失败.一上进程不能直接改变包含自己虚拟地址的记录.所有的更改都必须间接地经过VMM.(3)对象句柄一个进程可以被各种对象和资源拥有,创建或继承句柄.这些句柄保存在进程所拥有的对象表中.对象管理器保存了一个对象表,该表有其进程所拥有的对象句柄清单.例如,线程,文件,同步对象和共享内存.(4)资源引用限制每个进程对其线程可为对象打开句柄的内存数量都有限制.这个限制叫作资源引用限制,它确保一个进程不能独占甩有的资源.(一个进程利用对象管理器来改变或得到有关它的访问标志或对象表的信息;利用虚拟存储管理器(VMM)跟踪进程的虚拟地址.)3.进程与线程的相关性一个线程可以看作是操作系统分配给CPU时间(即时间片)的基本单位.一个线程可以执行应用程序(可看作进程实例)代码的任何部分,该部分可以是另一线程正在执行的代码.操作系统创建了进程之后,同时会创建一个线程执行进程中的代码.通常把这个线程称为该进程的主线程,主线程运行时,也可以创建其他线程.一个进程的所有线程共享虚地址空间.全局变量以及该进程的操作系统资源.一个进程提供了程序运行所必需的一切,单线程同样如此.该默认进程(主线程)执行程序代码.一个进程中的主线程从一个入口点开始(对windows程序而言是WinMain()函数),然后根据代码的循环,条件,函数调用等情况继续执行.当进程被终止时,主线程同时也被终止.( 同一个程序,可由多个进程执行.而所有进程都必须至少有一个线程,线程本身基本上不拥有系统资源,它与同属一个进程的其它线程共享进程所拥有的全部资源).6. 父进程和子进程:他们的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止。
但子进程终止,父进程并不一定终止。
比如httpd服务器运行时,我们可以杀掉其子进程,父进程并不会因为子进程的终止而终止。
在进程管理中,当我们发现占用资源过多,或无法控制的进程时,应该杀死它,以保护系统的稳定安全运行;二.当前理论或实践应用现状1.线程、SMP 和微内核在许多操作系统中,传统的进程概念被分为两部分:一部分负责管理资源所有权;另一部分负责指令流的执行。
一个单独的进程可包含多个线程。
使用多线程的组织方法对程序的结构化和性能方面都有很大的帮助。
SMP 是一个拥有多处理器的计算机系统,其中的每一个处理器都可以执行所有应用程序和系统代码。
SMP 的组织方法增强了系统的性能和可靠性。
SMP 通常和多线程机制一起使用,即使没有多线程机制也能很大幅度的提高系统性能。
微内核是操作系统为了减少运行在内核模式的代码量的一种设计方式,并且分析了这种方法的优点。
2.并发:互斥和同步相交进程之间的关系主要有两种,同步与互斥。
所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。
所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。
显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。
也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!总结:互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。
但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。
在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。
少数情况是指可以允许多个访问者同时访问资源。
3. 并发:死锁和饥饿死锁是这样的一种情况:一组进程中的两个或多个进程要等待该组中的其他成员完成一个操作后才能继续运行,但是没有成员可以继续。
死锁是一种很难预测的现象,并且没有比较容易的通用解决方案。
处理死锁的三个主要手段是预防、避免和检测。
饥饿时一个准备运行的进程由于其他进程的运行而一直不能访问处理器的情况。
从打的方面来说,饥饿是被当成调度问题来处理的。
4.进程调度我们经常遇到两个或多个进程(例如,生产者和消费者)在逻辑上均可以运行的情况。
当有多个进程就绪时,操作系统必须决定先运行哪一个。
操作系统中作出这种决定的部分称作调度程序(scheduler) ,它使用的算法称作调度算法(scheduling algorithm) 。
再回到早期以磁带上的卡片映像作为输入的批处理系统时代,那时的调度算法很简单:依次运行磁带上的下一个作业。
对于分时系统,则调度算法要复杂一些,因为经常有多个用户等待服务,而且同时可能存在多个批处理流(例如,保险公司理赔)。
即使在个人电脑上,也可能有若干用户启动的进程竞争CPU,更不要说还有后台作业,例如网络或收发电子邮件的精灵进程。