Linux课程设计
Linux程序设计课程设计 (2)

Linux程序设计课程设计一、课程设计背景Linux是一种自由和开放源代码的类Unix操作系统,已成为Web服务器设备和许多嵌入式系统的首选操作系统。
Linux程序设计课程是为了培养学生Linux操作系统和程序操作的能力,让学生掌握Linux下的程序设计和管理。
二、课程设计目的本课程的目的是让学生能够掌握Linux操作系统下的程序设计和管理技能,让学生能够在Linux环境下编写并运行程序,学生能够了解Linux常用的程序设计语言,熟悉常用程序设计工具和命令。
三、课程设计内容1. Linux安装学生需要了解Linux的安装流程及注意事项。
在了解了Linux操作系统安装的基本知识后,学生需要根据课程要求在虚拟机环境中进行Linux的安装练习。
课程需要覆盖CentOS、Ubuntu和Fedora等常见Linux发行版的安装和配置方法。
2. Linux基础学生需要掌握Linux系统的基本操作,理解Linux文件系统组织结构和常用命令的使用方法。
课程需要覆盖Linux文件系统常用命令、文件读写、编辑器使用、文件管理等操作。
3. Shell编程在掌握Linux基础操作后,学生需要了解Shell脚本的基本概念和编程方法。
学生需要掌握Shell脚本的语法和用法,独立完成Shell脚本的编写。
课程需要覆盖Shell脚本的基本语法、流程控制、函数定义以及输入输出等内容。
4. 常用编程语言及工具本课程需要让学生了解在Linux环境下常用的编程语言和开发工具,主要包括如下几种语言和工具:1.C/C++编程:学生需要了解C/C++编程语言在Linux环境下的编译和运行方法,学生需要编写C/C++程序并在Linux环境下运行;2.Python编程:学生需要了解Python编程语言的语法和用法,在Linux环境下编写Python程序;3.Git版本控制工具:学生需要掌握Git的基本使用方法,了解如何在Linux环境下使用Git进行版本控制和协作开发;4.GNU开发工具集:学生需要掌握GNU开发工具集的基本用法,包括GCC编译器、Makefile、GDB调试器等。
linux简单课程设计

linux简单课程设计一、课程目标知识目标:1. 掌握Linux操作系统的基本概念和特点;2. 学会使用Linux命令行进行基本操作;3. 了解Linux文件系统结构和文件权限管理;4. 掌握简单的shell脚本编写和执行。
技能目标:1. 能够独立安装和配置Linux操作系统;2. 熟练运用命令行进行文件和目录操作;3. 能够进行简单的文件权限设置和修改;4. 能够编写简单的shell脚本,实现自动化任务。
情感态度价值观目标:1. 培养学生对开源文化的认识和尊重,激发对自由软件运动的兴趣;2. 培养学生团队合作意识,学会在团队中分享和交流技术问题;3. 增强学生解决问题的能力,培养勇于尝试、不断探索的精神。
课程性质:本课程为选修课,适用于对计算机操作系统有兴趣的学生。
学生特点:学生具备一定的计算机操作基础,对操作系统有兴趣,但可能对Linux较为陌生。
教学要求:注重理论与实践相结合,强调动手实践,培养学生自主学习能力和解决问题的能力。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Linux操作系统概述- 了解Linux的发展历程、特点和优势- 掌握Linux的发行版及其选择2. Linux基本操作- 学习使用命令行进行文件和目录操作- 掌握文件权限和所有者管理方法3. 常用Linux命令- 学习文件操作、文本处理、网络配置等命令- 熟练运用查找、排序、过滤等命令4. shell脚本编程- 掌握基本的shell脚本语法和变量使用- 学会编写简单的自动化脚本5. Linux文件系统结构- 了解文件系统的层次结构- 学习文件系统挂载、卸载等操作6. Linux软件安装与配置- 学习使用包管理器安装、卸载软件- 掌握软件配置文件修改和优化方法7. 实践环节- 进行Linux系统安装、配置和优化- 编写并执行shell脚本,解决实际问题教学内容根据课程目标进行科学性和系统性组织,分为理论讲解和实践操作两部分。
linux教案_高校教学

Linux教案_高校教学一、课程简介1.1 课程背景Linux作为开源操作系统,在计算机领域具有广泛的应用。
本课程旨在让学生了解Linux操作系统的基本概念、掌握Linux常用命令及操作,并具备一定的Linux系统管理能力。
1.2 课程目标(1)了解Linux操作系统的基本概念及发展历程;(2)熟悉Linux文件系统结构;(3)掌握Linux常用命令及操作;(4)具备基本的Linux系统管理能力;(5)培养学生实际操作计算机的能力和团队协作精神。
二、教学内容2.1 教学资源教材:《Linux操作系统教程》实验环境:Linux服务器、学生机房2.2 教学安排(1)第1-2周:Linux基本概念及发展历程;(2)第3-4周:Linux文件系统结构及常用命令;(3)第5-6周:Linux文件权限与用户管理;(4)第7-8周:Linux进程管理及系统监控;(5)第9-10周:Linux网络配置与安全管理;(6)第11-12周:Linux常用服务器配置与运维;(7)第13-14周:综合练习与实战案例。
三、教学方法3.1 授课方式采用讲授、实验、讨论相结合的方式进行教学。
3.2 实验环节安排每次课后进行实验操作,巩固所学知识。
3.3 讨论与互动鼓励学生在课堂上提问、发表观点,教师引导学生进行讨论。
四、考核方式4.1 平时成绩(1)课堂表现:30%(2)实验报告:40%4.2 期末考试(1)理论知识:30%(2)实际操作:70%五、教学案例5.1 案例一:Linux系统安装与配置引导学生了解Linux系统的安装方法,学会使用Linux命令进行基本操作。
5.2 案例二:文件权限管理教授如何设置文件权限,掌握用户组管理及文件所有权概念。
5.3 案例三:进程管理讲解如何查看进程、杀死进程,以及进程优先级调整。
5.4 案例四:网络配置与安全管理引导学生配置Linux网络,了解网络安全策略。
5.5 案例五:Nginx服务器配置教授如何安装与配置Nginx服务器,实现网站的发布与访问。
linux程序设计课程设计6

linux程序设计课程设计6一、教学目标本节课旨在让学生掌握Linux程序设计的基本概念和方法,培养学生具备基本的Linux程序设计能力。
具体目标如下:1.知识目标:–了解Linux程序设计的基本概念;–掌握Linux编程环境及基本编程技巧;–理解Linux程序设计中的常用数据结构与算法。
2.技能目标:–能够运用Linux编程环境进行程序设计;–能够编写简单的Linux程序,实现基本的功能;–能够运用Linux程序设计中的常用数据结构与算法解决问题。
3.情感态度价值观目标:–培养学生的团队合作精神,提高学生的问题解决能力;–培养学生对Linux程序设计的兴趣,激发学生的创新意识;–培养学生的自主学习能力,提高学生的综合素质。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Linux程序设计概述:介绍Linux程序设计的基本概念、特点和应用领域;2.Linux编程环境:介绍Linux编程环境的基本组成、配置和使用方法;3.Linux基本编程技巧:讲解Linux编程中的基本技巧,如文件操作、进程管理、线程管理等;4.常用数据结构与算法:介绍Linux程序设计中常用的数据结构与算法,如数组、链表、排序算法等;5.实践案例:通过实际案例,让学生掌握Linux程序设计的基本步骤和方法。
三、教学方法为了提高教学效果,本节课将采用以下教学方法:1.讲授法:讲解Linux程序设计的基本概念、原理和方法;2.案例分析法:分析实际案例,让学生了解Linux程序设计的应用场景;3.实验法:让学生动手实践,培养学生的实际编程能力;4.讨论法:鼓励学生提问、讨论,提高学生的思考和问题解决能力。
四、教学资源为了支持本节课的教学,将准备以下教学资源:1.教材:选用权威、实用的Linux程序设计教材;2.多媒体资料:制作课件、教学视频等,辅助讲解和展示;3.实验设备:提供充足的计算机设备,让学生进行实际操作;4.在线资源:提供网络资源,如编程论坛、教程等,方便学生自主学习和交流。
linux程序设计课程设计

linux程序设计课程设计一、教学目标本课程的教学目标是使学生掌握Linux程序设计的基本概念、原理和方法,培养学生具备运用Linux编程语言进行程序设计的能力。
具体目标如下:1.知识目标:(1)了解Linux操作系统的基本原理和架构;(2)掌握Linux编程环境及其常用开发工具;(3)熟悉C语言在Linux环境下的编程方法;(4)理解进程管理、内存管理、文件系统等Linux核心概念;(5)学习常用的Linux系统调用和库函数。
2.技能目标:(1)能够使用Linux命令行进行基本操作;(2)掌握在Linux环境下使用C语言进行程序设计;(3)具备阅读和理解Linux系统源代码的能力;(4)学会使用Git等版本控制工具进行代码管理;(5)能够独立调试和优化Linux程序。
3.情感态度价值观目标:(1)培养学生对Linux操作系统的兴趣和好奇心;(2)培养学生团队合作精神和自主学习能力;(3)培养学生遵循编程规范和代码优化的意识;(4)培养学生具备良好的编程习惯和道德素养。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Linux操作系统概述:介绍Linux的发展历程、内核架构以及常见的Linux发行版;2.Linux编程环境:学习如何在Linux环境下安装和配置开发工具,如GCC、GDB、Make等;3.C语言基础:复习C语言的基本语法、数据类型、运算符、表达式等;4.进程管理:学习进程的概念、进程控制块、进程状态转换、进程同步与互斥等;5.内存管理:了解内存分配与回收机制、内存保护、虚拟内存等;6.文件系统:学习文件和目录的概念、文件权限、文件操作函数、文件I/O等;7.系统调用与库函数:掌握常用的系统调用和库函数,如标准库函数、进程控制函数、文件操作函数等;8.编程实践:通过实际项目练习,培养学生具备独立编写和调试Linux程序的能力。
三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:讲解Linux操作系统的基本原理、核心概念和编程方法;2.讨论法:学生针对实际问题进行讨论,培养学生的思考和表达能力;3.案例分析法:分析典型的Linux程序设计案例,让学生了解实际应用场景;4.实验法:安排实验课程,让学生动手实践,巩固所学知识。
linux设计实践课程设计

linux设计实践课程设计一、课程目标知识目标:1. 理解Linux操作系统的基本概念,掌握常用命令及其功能。
2. 学习Linux文件系统结构,了解目录和文件权限管理。
3. 掌握Linux环境下软件安装、配置和运行的基本方法。
技能目标:1. 能够熟练使用Linux终端,运用命令进行系统操作和文件管理。
2. 学会使用Linux文本编辑器,编写简单的脚本程序。
3. 培养学生在Linux环境下的问题解决能力,能够独立完成软件安装和配置。
情感态度价值观目标:1. 培养学生对计算机操作系统的兴趣,激发学习积极性。
2. 培养学生的团队协作意识,学会在项目实践中分工合作。
3. 增强学生的信息安全意识,养成规范操作的好习惯。
课程性质:本课程为实践性课程,以Linux操作系统为载体,培养学生的动手操作能力和问题解决能力。
学生特点:学生处于高年级阶段,已具备一定的计算机操作基础,有较强的自学能力和探索精神。
教学要求:结合学生特点,课程以实践操作为主线,注重培养学生的实际应用能力和团队合作精神。
通过本课程的学习,使学生能够掌握Linux操作系统的基本使用方法,为后续深入学习奠定基础。
教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. Linux操作系统概述- 系统特点与优势- 常见发行版介绍2. Linux基本命令- 文件操作命令(如:ls, cd, cp, mv)- 文本处理命令(如:cat, grep, sort)- 权限管理命令(如:chmod, chown)3. 文件系统结构与管理- 目录结构- 文件权限与归属- 软链接与硬链接4. 软件安装与配置- 包管理器使用(如:apt, yum)- 源代码编译安装- 环境变量配置5. 常用软件与应用- 文本编辑器(如:vim, emacs)- 网络工具(如:ssh, ftp)- 系统监控工具(如:top, ps)6. 简单脚本编程- Bash脚本基础- 变量与循环控制- 常用脚本示例7. Linux安全与防护- 用户账户管理- 防火墙配置- 常见安全漏洞与防护教学大纲安排:第1-2周:Linux操作系统概述与基本命令学习第3-4周:文件系统结构与管理第5-6周:软件安装与配置第7-8周:常用软件与应用第9-10周:简单脚本编程第11-12周:Linux安全与防护教学内容与进度紧密围绕课程目标,确保学生在完成本课程学习后,能够掌握Linux操作系统的基本知识与技能。
操作系统课程设计Linux

操作系统课程设计Linux一、教学目标本课程的教学目标是使学生掌握Linux操作系统的核心概念、原理和应用技能。
通过本课程的学习,学生将能够:1.理解操作系统的基本原理,包括进程管理、内存管理、文件系统和输入/输出系统。
2.掌握Linux操作系统的安装、配置和管理方法。
3.熟练使用Linux命令行界面,进行日常操作和系统管理。
4.掌握Linux常用命令、 shell脚本编写和系统监控工具的使用。
5.了解Linux操作系统在服务器、嵌入式设备和云计算等领域的应用。
二、教学内容本课程的教学内容分为五个部分:1.操作系统概述:介绍操作系统的定义、功能和分类,以及Linux操作系统的历史和发展。
2.进程管理:讲解进程的基本概念、进程控制、进程同步和互斥、死锁及其解决方法。
3.内存管理:介绍内存分配与回收策略、内存保护、虚拟内存和分页分段机制。
4.文件系统:讲解文件和目录结构、文件访问控制、文件系统性能优化和磁盘空间分配策略。
5.输入/输出系统:介绍I/O设备管理、中断和DMA机制、设备驱动程序和I/O调度策略。
三、教学方法本课程采用多种教学方法相结合的方式,以提高学生的学习兴趣和主动性:1.讲授法:教师讲解操作系统的核心概念和原理,引导学生掌握基本知识。
2.讨论法:学生针对实际案例和问题进行讨论,培养学生的思考和分析能力。
3.案例分析法:分析Linux操作系统的实际应用案例,使学生了解操作系统的应用场景。
4.实验法:安排实验室课时,让学生亲自动手进行系统安装、配置和调试,提高学生的实践能力。
四、教学资源本课程的教学资源包括:1.教材:选用权威、实用的Linux操作系统教材,如《Linux操作系统原理与应用》。
2.参考书:提供相关的学术论文、技术博客和在线文档,供学生拓展阅读。
3.多媒体资料:制作课件、教学视频和演示文稿,辅助学生理解和记忆。
4.实验设备:提供Linux服务器、虚拟机和实验室环境,让学生进行实际操作。
linus课程设计

linus课程设计一、课程目标知识目标:1. 学生能理解并掌握Linux操作系统的基本概念,包括Linux的历史、发行版特点及其在服务器和嵌入式系统中的应用。
2. 学生能够了解Linux的文件系统结构,掌握基本的文件和目录操作命令。
3. 学生能够掌握Linux下的基本用户权限管理和文件权限设置。
技能目标:1. 学生能够独立安装并配置Linux操作系统。
2. 学生能够熟练使用终端,执行文件管理、文本处理等基本操作。
3. 学生能够通过命令行方式解决常见的Linux系统问题。
情感态度价值观目标:1. 培养学生对于开源文化的尊重和认同,激发他们对Linux系统的探索兴趣。
2. 培养学生的团队协作能力,通过小组讨论和实践,增强合作解决问题的意识。
3. 增强学生的信息安全和隐私保护意识,培养他们在使用操作系统时的责任感和合规性。
分析课程性质、学生特点和教学要求:本课程针对高年级学生,他们在前期已经具备了一定的计算机操作基础,对操作系统原理有初步认识。
课程设计注重理论与实践相结合,以Linux操作系统为载体,培养学生实际操作能力,同时结合当前信息技术发展趋势,强调开源文化认知与信息安全意识。
课程目标分解:1. 知识层面:通过讲授、演示和实验,确保学生掌握Linux基本概念和操作。
2. 技能层面:通过动手实践,提高学生在Linux环境下的操作技能和问题解决能力。
3. 情感态度价值观层面:通过小组合作、案例分析和课堂讨论,引导学生树立正确的信息伦理观念,激发他们对计算机操作系统的深入学习兴趣。
二、教学内容1. Linux概述- Linux的发展历史- 主要Linux发行版介绍- Linux操作系统的优势及应用场景2. Linux安装与配置- Linux的安装流程- 常见Linux发行版的安装方法- Linux基本配置与优化3. Linux文件系统- 文件系统结构- 常见文件类型- 文件和目录操作命令4. 用户与权限管理- 用户和用户组管理- 文件权限与归属- 权限管理命令及应用5. 常用命令行操作- 文本处理命令(如:vi/vim、grep)- 文件传输与下载(如:scp、wget)- 系统监控与性能分析(如:top、ps)6. Linux实用工具- 软件包管理器(如:apt、yum)- 网络配置与故障排查- 系统安全与防护措施7. 案例分析与实践- 结合实际场景,分析Linux系统在实际应用中的问题及解决方法- 小组合作,完成指定的Linux环境搭建与配置任务- 课堂讨论与分享,提高学生解决问题的能力教学内容安排与进度:本教学内容分为七个部分,按照教学大纲逐步展开。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux课程设计---编写proc文件系统相关的内核模块学号:********姓名:**班级:08级网络一班指导教师:**日期:2011年6月29号一、背景知识:1、内核模块。
操作系统采用两种体系结构:微内核(Micro kernel),最常用的功能模块被设计成内核模式运行的一个或一组进程,而其它大部分不十分重要的功能模块都作为单独的进程在用户模式下运行!单内核(Monolithic kernel,有时也叫宏内核Macro kernel)!内核一般作为一个大进程的方式存在。
该进程内部又可以被分为若干模块,在运行的时候,它是一个独立的二进制映象为了弥补单一体系结构的这一缺陷,Linux操作系统使用了模块机制。
用户可以根据需要,在不需要对内核重新编译的情况下,模块可以动态地载入内核或从内核中移出!如图所示,模块可通过 insmod命令插入内核,也可以通过rmmod命令从内核中删除。
2、进程管理Linux的每一个进程都有自己的属性,用一个task struct数据结构表示,即进程控制块Ⅲ(Process Concrol Block,PCB)。
它对进程在其生命周期内涉及的所有事件进行全面的描述,主要有进程标识符(PID)、进程状态信息、进程调度信息、进程所占的内存区域、相关文件的文件描述符、处理器环境信息、信号处理、Linux操作系统内核分析与研究资源安排、同步处理等几个方面。
在一个系统中,通常可拥有数百个甚至数千个进程,相应地就有很多进程控制块。
为了有效地对它们加以管理,应该用适当地方式将这些进程控制块组织起来。
进程控制块数据结构主要域定义如下:task_struct结构:在linux/sched.h中struct task_struct{volatile long state;//系统进程状态,一共有五种状态://0 可运行态//1 可中断的等待态//2 不可中断的等待态//3 僵死态//4 暂停态struct list_head tasks;struct mm_struct *mm;pid_t pid; //进程号pid_t tpid; //进程组号struct task_struct *real_parent; //真正的父进程指针struct task_struct *parent; //父进程指针struct list_head children; //孩子进程指针struct list_head sibling; //兄弟进程指针char comm.[TASK_COMM_LEN]; //进程名};struct list_head结构:在Linux/list.hstruct list_head{struct list_head *next,*prev;};pid_task(find_get_pid(pid),PIDTYPE_PID) //找进程号为pid的进程for_each_process //内核专门提供的宏,用来访问链表的每个进程list_for_each_entry //内核专门提供的宏,用来遍历链表二、实验内容:1、实验目的:通过本次实验,达到掌握模块的加载,删除,以及运用的目的!!!2、实验要求:设计一个模块,该模块功能是列出系统中所有内核线程的程序名、PID 号和进程状态。
再设计一个带参数的模块,参数为进程的PID号,功能是列出进程的家族信息,包括父进程、兄弟进程和子进程的程序名、PID号。
3、程序代码:这个程序放在了/桌面/dusen/文件夹里;参照课本十三章例题框架进行设计;其中在文件夹dusen里有建了dusen1,dusen2 两个目录;dusen1里的dusen1.c 是程序的主要实现方法;dusen2是对dusen1的主要方法的调用!!!dusen1.c的代码#include<linux/init.h>#include<linux/module.h>#include<linux/sched.h>#include<linux/list.h>MODULE_LICENSE("GPL"); //声明许可证GPLstatic int mod_init_dusen(void); //声明函数static void mod_exit_dusen(void);module_init(mod_init_dusen); //指定模块初始化函数module_exit(mod_exit_dusen); //指定模块退出函数void dusen(void); //定义要求的无参数函数void dusen_para(int pid); //定义要求的带参数函数void dusen(void){struct task_struct *p,*t;printk("所有内核进程信息:\n");for_each_process(p){printk("NAME: %s PID: %d STATE:%ld\n",p->comm,p->pid,p->state);t=list_entry(&p->children,struct task_struct,children);}}void dusen_para(int pid1){pid_t pid=pid1;struct task_struct *p1,*p2;p1=pid_task(find_get_pid(pid),PIDTYPE_PID);if(p1){printk("这是您找的进程NAME:%s PID:%d STATE:%ld\n",p1->comm,p1->pid,p1->state);p2=p1->parent;printk(" parent NAME:%s PID:%d STATE:%ld\n",p2->comm,p2->pid,p2->state);list_for_each_entry(p2, &p1->real_parent->children, sibling){printk(" brother NAME:%s PID:%d STATE:%ld\n",p2->comm,p2->pid,p2->state);}list_for_each_entry(p2, &p1->children, sibling){printk(" children NAME:%s PID:%d STATE:%ld\n",p2->comm,p2->pid,p2->state);}}else{printk("no proccess\n");}}EXPORT_SYMBOL(dusen); //导出函数EXPORT_SYMBOL(dusen_para);int mod_init_dusen(void){printk(KERN_INFO"-------start-------\n");return 0;}void mod_exit_dusen(void){printk(KERN_INFO"--------end--------\n");}dusen2.c的代码#include<linux/init.h>#include<linux/module.h>MODULE_LICENSE("GPL"); //声明许可证GPLstatic int mod_init_dusen1(void);static void mod_exit_dusen1(void);module_init(mod_init_dusen1);//指定模块初始化函数module_exit(mod_exit_dusen1); //指定模块退出函数static int pid=0;extern void dusen(void);extern void dusen_para(int pid);int mod_init_dusen1(void){printk(KERN_INFO"-----HELLO!WELCOME--------\n");dusen();dusen_para(pid);return 0;}void mod_exit_dusen1(void){printk(KERN_INFO"--------GOODBYE!!!--------\n");}module_param(pid,int,S_IRUGO);三、运行结果:1.进入dusen1 make一下,生成dusen1.ko然后将dusen1.ko加载到内核,并将Module.symvers文件复制到dusen2中.2.进入dusen2 make一下,将dusne2加载到内核时用名林那个如下sudo insmod dusen2.ko pid=2(查看进程号为2的进程)3.键入命令dmesg,结果如下[ 913.475912] -----HELLO!WELCOME--------[ 913.475947] NAME: init PID: 1 STATE:1[ 913.475954] NAME: kthreadd PID: 2 STATE:1[ 913.475960] NAME: ksoftirqd/0 PID: 3 STATE:1[ 913.475965] NAME: migration/0 PID: 4 STATE:1[ 913.475971] NAME: watchdog/0 PID: 5 STATE:1[ 913.475976] NAME: events/0 PID: 6 STATE:1[ 913.475981] NAME: cpuset PID: 7 STATE:1[ 913.475986] NAME: khelper PID: 8 STATE:1[ 913.475991] NAME: netns PID: 9 STATE:1[ 913.475997] NAME: async/mgr PID: 10 STATE:1[ 913.476002] NAME: pm PID: 11 STATE:1 ...........................[ 913.476586] NAME: wnck-applet PID: 1307 STATE:1[ 913.476592] NAME: gvfs-afc-volume PID: 1309 STATE:1[ 913.476598] NAME: gvfs-gphoto2-vo PID: 1312 STATE:1[ 913.476604] NAME: gvfsd-burn PID: 1325 STATE:1[ 913.476609] NAME: indicator-apple PID: 1337 STATE:1[ 913.476615] NAME: clock-applet PID: 1338 STATE:1[ 913.476621] NAME: indicator-apple PID: 1339 STATE:1[ 913.476627] NAME: notification-ar PID: 1343 STATE:1[ 913.476633] NAME: gdu-notificatio PID: 1350 STATE:1[ 913.476639] NAME: gvfsd-metadata PID: 1369 STATE:1 [ 913.476645] NAME: indicator-sound PID: 1372 STATE:1 [ 913.476651] NAME: indicator-messa PID: 1376 STATE:1 [ 913.476656] NAME: indicator-appli PID: 1379 STATE:1 [ 913.476755] NAME: indicator-sessi PID: 1383 STATE:1 [ 913.476761] NAME: indicator-me-se PID: 1385 STATE:1 [ 913.476767] NAME: applet.py PID: 1412 STATE:1[ 913.476772] NAME: gnome-settings- PID: 1419 STATE:1 [ 913.476778] NAME: update-notifier PID: 1427 STATE:1 [ 913.476784] NAME: system-service- PID: 1441 STATE:1 [ 913.476789] NAME: udevd PID: 1458 STATE:1[ 913.476794] NAME: udevd PID: 1459 STATE:1[ 913.476799] NAME: dconf-service PID: 1507 STATE:1 [ 913.476805] NAME: soffice.bin PID: 1536 STATE:1 [ 913.476811] NAME: gnome-terminal PID: 1558 STATE:1 [ 913.476816] NAME: gnome-pty-helpe PID: 1561 STATE:1 [ 913.476822] NAME: bash PID: 1562 STATE:1[ 913.476827] NAME: insmod PID: 2090 STATE:0[ 913.476875] NAME:kthreadd PID:2 STATE:1[ 913.476900] parent NAME:swapper PID:0 STATE:0[ 913.476935] brother NAME:init PID:1 STATE:1[ 913.476960] brother NAME:kthreadd PID:2 STATE:1[ 913.476992] children NAME:ksoftirqd/0 PID:3 STATE:1[ 913.477014] children NAME:migration/0 PID:4 STATE:1[ 913.477020] children NAME:watchdog/0 PID:5 STATE:1[ 913.477026] children NAME:events/0 PID:6 STATE:1[ 913.477031] children NAME:cpuset PID:7 STATE:1[ 913.477037] children NAME:khelper PID:8 STATE:1[ 913.477042] children NAME:netns PID:9 STATE:1[ 913.477048] children NAME:async/mgr PID:10 STATE:1[ 913.477053] children NAME:pm PID:11 STATE:1...................[ 913.477200] children NAME:kconservative/0 PID:45 STATE:1 [ 913.477206] children NAME:mpt_poll_0 PID:172 STATE:1[ 913.477211] children NAME:mpt/0 PID:173 STATE:1[ 913.477217] children NAME:scsi_eh_2 PID:174 STATE:1[ 913.477223] children NAME:jbd2/sda1-8 PID:191 STATE:1 [ 913.477229] children NAME:ext4-dio-unwrit PID:192 STATE:1 [ 913.477234] children NAME:flush-8:0 PID:225 STATE:1[ 913.477240] children NAME:kpsmoused PID:395 STATE:1[ 913.477246] children NAME:vmmemctl PID:405 STATE:1[ 913.477572] children NAME:kgameportd PID:549 STATE:1四、实验心得:通过本次试验自己学到了很多东西,也了解了一些错误,对此自己总结了一下几条:1、L inux内核中不能调用标准c函数以及一些内核函数;2、L inux2.6以后的版本必须对Module.symvers进行复制,这是课本里提到的,开始没有注意到,所以费了很大的功夫;3、开始对于task_struct理解认识的并不够,只是简单的借用网上的代码4、程序做的不够完整,在加载dusen2时,如果必须先不要写pid,然后查看进程,之后若要查看某一进程,还要把dusen2rm掉重新加载。