如何将两个网站建设好并进行端口映射?
摘要:哪里网站建设好,两个网站如何做端口映射,国外免费网站建设,象山建设局网站驱动 以来内核编译,依赖内核执行 驱动可以同时执行多份代码 没main 驱动是依赖内核的框架和操作硬件的过程 一&#xff
哪里网站建设好,两个网站如何做端口映射,国外免费网站建设,象山建设局网站驱动 以来内核编译#xff0c;依赖内核执行 驱动可以同时执行多份代码 没main 驱动是依赖内核的框架和操作硬件的过程 一#xff0c;Linux系统组成 app: [0-3G] ---------------------------------系统调用#xff08;软中断… 驱动 以来内核编译依赖内核执行 驱动可以同时执行多份代码 没main 驱动是依赖内核的框架和操作硬件的过程 一Linux系统组成 app: [0-3G] ---------------------------------系统调用软中断--------------------- kernel 【3-4G】 5种功能 进程管理进程的创建、销毁、调度等功能 文件管理通过文件系统ext2/ext3/ext4 yaff jiffs等来组织管理文件 网络管理 通过网络协议栈对数据进程封装和拆解的过程 内存管理 通过内存管理器对用户空间和内核空间内存的申请和释放 设备管理设备驱动的管理 字符设备驱动 按照字节为单位进行访问顺序访问会创建设备文件open read write close来访问 块设备驱动 按照块512字节扇区来访问可以顺序访问可以无序访问会创建设备文件open read write close来访问 网卡设备驱动按照网络数据包来收发的 二宏内核、微内核 宏内核将进程、网络、文件、设备、内存等功能集成到内核中 优点代码运行效率高 缺点如果一个部分出错整个内核就崩溃了 eg: ubuntu Android 微内核只将进程、内存机制集成到内核中文件设备驱动等在操作系统之外运行 优点稳定性强 缺点效率低 eg:鸿蒙 window QNX 三驱动模块 入口安装资源的申请 出口卸载资源的释放 许可证GPL #include linux/init.h
#include linux/module.h
static int __init hello_init(void)
//__init将hello_in it放到.init.text段中
{return 0;
}
static void __exit hello_exit(void)//__exit将hello_exit放到.exit.text段中
{
}
module_init(hello_init);
//告诉内核驱动的入口地址
module_exit(hello_exit);
//告诉内核驱动的出口地址
MODULE_LICENSE(GPL);
//许可证 Makefile KERNELDIR: /lib/modules/$(shell uname -r)/build/ //内核的路径 #KERNELDIR: /home/linux/kernel/kernel-3.4.39/ PWD:$(shell pwd) //驱动文件的路径 all: //目标 make -C $(KERNELDIR) M$(PWD) modules //进入内核目录下执行make modules这条命令 //如果不指定 M$(PWD) 会把内核目录中的.c文件编译生成.ko //M$(PWD) 向编译模块的路径 clean: make -C $(KERNELDIR) M$(PWD) clean obj-m:hello.o //指定编译模块的名字 KERNELDIR: /lib/modules/$(shell uname -r)/build/
#KERNELDIR: /home/linux/kernel/kernel-3.4.39/
PWD:$(shell pwd)
all:
make -C $(KERNELDIR) M$(PWD) modules
clean:
make -C $(KERNELDIR) M$(PWD) clean
obj-m:hello.o 总结 1、首先写个程序-》C语言程序-》.c 2、编译-》依靠内核编译 开发板内核 和Ubuntu内核 uname -r 3、写Makefile-》找内核路径 4、当前文件的路径 5、all-》编译 make
