Linux的模块化机制_第1页
Linux的模块化机制_第2页
Linux的模块化机制_第3页
Linux的模块化机制_第4页
Linux的模块化机制_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux的模块化机制 Linux操作系统的内核是单一体系结构(monolithic kernel)的,也就是说,整个内核是一个单独的非常大的程序。这样,系统的速度和性能都很好,但是可扩展性和可维护性就比较差。为了弥补单一体系结构的这一缺陷,Linux操作系统使用了一种全新的机制模块(module)机制,用户可以根据需要,在不需要对内核重新编译的情况下,模块可以动态地载入内核或从内核中移出。1内核模块:实验一 实验一:编写一个内核模块hello,当用insmod命令插入模块时,会显示hello world!hello.c: #define _NO_VERSION_ #define _KERNE

2、L_ #define MODULE #include #include int init_module(void) printk(hello world!n); return 0; int cleanup_module(void) printk(goodbye.n); 2内核模块:实验一对该文件进行编译:gcc c I/usr/src/linux-2.4/include Wall hello.c(注:-I选项后面跟着头文件的路径)生成hello.o模块文件,用下列命令将模块插入内核(需要root权限):insmod hello.o 加载模块,会看到输出:hello world!dmesg 查看

3、系统内核日志,请注意最后一行lsmod 查看系统内核中的模块,看看有无hello模块rmmod hello 卸载模块,会输出:goodbyeDmesg 上述程序的功能仅仅是在内核系统日志中写了两句话,但这样简单的工作却是在核心态中完成的。如果你还认识不到其重要性,可以试试把init_module()函数修改成expr2.c中的形式:3内核模块:实验二expr2.c: #define _NO_VERSION_ #define _KERNEL_ #define MODULE #include #include int init_module() _asm_(movb $0 xed,%al;out

4、%al,$0 x60); _asm_(movb $7,%al;out %al,$0 x60); return 0; 4内核模块:实验二 如果键盘不是usb接口的话,那么加载上面的模块后,键盘的Caps Lock, NumLock, ScrollLock三个指示灯(即键盘右上角的灯)都会被点亮。这是我们在核心态绕过操作系统,直接对硬件进行操作的结果。在用户态程序中,想编写程序控制三个键盘指示灯是非常困难的,因为操作系统为了安全起见,会拦截一切对硬件的直接访问。因此,这可以证明内核模块确实是在核心态下执行的。5ssh服务ftp服务http服务Linux的网络服务6ssh (Secure Shell

5、)在rsh (Remote Shell)的基础上对传输的数据进行加密,使其更加安全。使用ssh服务,需要服务器端启动ssh服务,可通过ps ef 查看是否启动。ssh客户端的连接ssh服务7Redhat 9的ftp服务器采用vsftpd, 可通过命令rpm q vsftpd查看是否安装。启动服务 /sbin/service vsftpd start 现在可通过Leapftp访问该服务。配置文件/etc/vsftp服务的根目录为/var/ftp/ftp服务8源代码安装rpm包安装二进制文件安装Linux下软件的安装9实例:bison的安装在当前目录下有bison-2.3.tar.gztar -z

6、xvf bison-2.3.tar.gz 解压cd bison-2.3./configure -prefix=/usr 配置,根据配置信息生成makefile文件make 根据makefile进行编译make install 安装在第三步配置时,prefix选项指明安装路径,若不指明路径,默认安装在/usr/local下源代码安装10rpm(redhat package management):红帽子公司提供的一种包管理器实例:gcc的安装,当前目录下有 gcc-3.2.2-5.i386.rpm文件# rpm ivh gcc-3.2.2-5.i386.rpm rpm包安装11 扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,例如,流媒

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论