Linux操作系统进程实验项目设计与分析

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:jary_chane
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 进程是操作系统的重点和难点,抽象、复杂、难以理解。实验教学是操作系统教学的重要组成部分,可以帮助学生更好地学习进程。但由于操作系统本身的复杂性,只有进行合理的设计才能使实验达到预想的效果。根据操作系统教学的要求、进程的特点,结合教学实践,设计并汇总与进程相关的实验项目,并对实验结果进行分析,对学生的学习有着积极的作用。
  关键词 Linux;进程;实验;操作系统
  中图分类号:G642.423 文献标识码:B 文章编号:1671-489X(2010)06-0081-03
  Design and Analysis of Experiment on Process of Linux Operation System//Qu Zhiqiang, Qiao Jing, Ji Shuang
  Abstract Process is the emphasis and difficulty of operation system, and it is abstract, complicated and difficult to comprehend. Experimental teaching is an important component of operation system teaching, and practice can help students learning the process better. However, due to complexity of operation system itself, only with reasonable design can the experiment achieve expected result. According to teaching requirements of operation system and the characteristics of process, combining teaching practices, this paper designs and summaries the experiments relating to process, and also analyses the results of them, which has positive effects on the study of students.
  Key words Linux; process; experiment; operation system
  Author’s address
  1 School of Information Engineering, Jining Medical College, Jining, Shandong, China 272100
  2 Jining Yucai Middle School, Jining, Shandong, China 272100
  
  进程是操作系统的重要内容、核心,也历来是教学中的重点和难点。进程部分的内容主要包括进程的特点、进程的组成、进程的状态、进程的调度等。
  
  1 实验环境的选择
  
  实验环境选择Linux操作系统,使用虚拟机Vmware6.0,安装Fedora9系统。选择这个环境主要基于以下考虑。
  Linux操作系统由于其稳定、免费、灵活和应用范围广泛等特点,在桌面系统领域正在变得越来越受欢迎。而且由于其开源的特点,也使得其成为操作系统教学和学习的首选。
  实验环境没有选择Redhat9.0,而是选择Fedora9系统,主要是考虑到Redhat9.0较为陈旧,而Fedora9作为Redhat公司参与开发的Linux系统,很好地继承了Redhat的优点。
  使用虚拟机环境主要是因为很多学生对Linux并不熟悉,在真实的Linux环境下,容易破坏实验环境。现在有很多优秀的虚拟机软件,如Virtual Pc、Virtual Box等,选择较为成熟的Vmware,其他虚拟机软件的使用和Vmware并无本质差别,学生可触类旁通。
  
  2 实验项目设计的原则
  
  实验项目的设计要紧扣教学内容,为教学内容服务。实验项目不易过于困难,遵循培养兴趣、循序渐进的原则,实验项目的选择要具有典型性、易操作性的特点,要易于上手,便于查看结果。所以实验内容暂不涉及Linux内核代码分析,主要是利用操作系统的程序接口进行编程实验。
  
  3 项目1——查看进程
  
  3.1 ps命令查看进程的目的主要是让学生感受进程的存在,对进程有一个直观的认识,了解进程的状态及相关的参数的含义。Linux下使用ps命令,作用是列出系统中正在运行的进程,使用格式为:ps[选项]。常用选项如表1所列。
  
  以上是命令运行的结果,可以看出ps命令的输出分为多个输出域,分别代表不同的含义(如表2所示)。PID是一个重要的域,表示进程号,每个进程都拥有一个唯一的进程号,进程号是一个正整数,是进程间相互区别的最重要的标志。STAT表示进程的状态,进程有3种基本状态,在Linux系统中进程的状态较为复杂,具体内容见表3。
  3.2 查看进程树Linux操作系统中的进程并不是孤立存在的,子进程是由父进程创建的,所以进程间就存在一种树状的层次关系,使用pstree命令可以查看进程树。
  在命令行下输入#pstree,按回车键查看结果:
  
  这里只截取结果的一部分,从中可以看到,进程init是所有进程的父进程。init进程的进程号是1,它是在系统启动的时候创建的。init进程还负责收容孤儿进程。
  
  4 项目2——进程创建
  
  在Linux系统下,在用户的程序里面可以通过系统调用创建进程,该系统调用为fork(),原型如下:
  #include
  pid_t fork(void);
  fork的功能是创建一个进程,如果创建失败就返回-1;如果创建成功,则被创建的进程就是子进程,创建子进程的进程则为父进程。并且fork()奇妙之处在于调用一次却好像返回2个值:对于子进程,fork()返回0;对于父进程,fork()返回子进程的进程号,进程号是一个无符号整数。
  4.1 实验核心代码
  #省略头文件
  int main(){
   pid_t pid, myid;
   pid=fork();
   if(pid<0){/*创建进程失败*/
   printf(“create error ”);
   return -1;
   }
   if(pid > 0){/*父进程执行内容*/
   printf(“this if father ”);
   myid=getpid();/*getpid返回当前进程的进程号*/
   printf(“father’s id is%ld ”,myid);
   }
   else{/*子进程执行内容*/
   printf(“this is child ”);
   myid=getpid();
   printf(“child’s id is%ld ”,myid);/*打印子进程进程号*/
   }
  }
  4.2 运行结果
  this is child
  child’s id is2630
  this if father
  father’s id is2629
  
  6.2 核心代码
  pid=fork();
  if(pid > 0){
   父进程
  }
  else{
   子进程
   int execl(“可执行文件路径”,参数);
  }
  
  6.3 结果分析从上例代码中可以看到,在子进程部分调用execl(“可执行文件路径”,参数),那么子进程就会去执行参数中的可执行代码(也可以是可执行文件),这里必须是可执行代码的完整路径,如“/home/owl/a.out”。此处a.out就是要执行的可执行代码,参数部分给出执行这段代码需要的参数。如此,子进程就会执行一个新的、完全不同于父进程的内容。
  
  7 结束语
  
  Linux操作系统实验内容非常丰富,但是对于教学必须进行精心的挑选和设计,以上针对进程部分的教学内容设计实验。根据具体教学目标,实验内容还可以加以深化,比如逐步引入部分源码让学生进行了解,以更深入地配合操作系统的教学。
其他文献
分别介绍了美国和欧洲的数字电视技术标准ATSC和DVB,详细论述了它们之间的关系和各自特点,有助于客观、正确地认识这两大标准。
在信息社会里,以业务处理和信息服务自动化的现代图书馆正在逐步取代以手工整理和检索为工作内容的传统图书馆。图书馆员要在文献量剧增情况下指导读者快速有效获取所需文献。
论文从哲学角度,探讨了高职教育任务、教学观念、教学内容、教学对象、教学方式五个方面的问题。在坚持“两点论”的前提下,高职教育任务的重点在于对学生“职业技能”的培养;只
埃克森美孚(中国)投资有限公司在第四届下一代燃气轮机峰会时展示了其领先的燃气轮机发电厂系列润滑解决方案。燃气轮机润滑系统是任何一台燃气轮机必不可少的一个重要的辅助系
本文通过分析意外伤害与健康险兼具人险与财险、价补性与给付性、职业伤害保险与职业疾病保险的特征,指出了这两类业务的骑墙性问题,并从保险监管法律的变迁入手加以论证,针
保险兼业代理人是我国保险业的重要销售渠道.伴随着保险业的进一步改革和发展,保险兼业代理人的各种问题也日益暴露出来,亟待解决.本文分析了其主要表现和原因,提出了规范发
利用Pr0/E软件建立自动供弹机的三维模型,将模型简化后导入ReeurDyn软件中建立其虚拟样机模型,通过实验校核证实该样机模型的正确性;利用故障注入技术建立供弹机主动链轮与弹筒啮
就目前而言,在进行城市低保档案管理过程中,受到传统管理模式的影响,导致低保档案管理不规范。因此,本文首先分析城市低保档案管理存在的问题,然后提出相应的解决措施,从而实
本文在分析我国企业年金的发展现状及监管现状的基础上,对影响我国企业年金监管模式选择的几个主要因素进行了分析,对我国企业年金基金采用何种监管模式、企业年金基金监管机