Linux的皮毛

来源:互联网 发布:php header用法 编辑:程序博客网 时间:2024/04/29 00:22

1、Linux下的设备被系统默认为文件,应用程序操作硬件时,只需要获得设备的描述符即可,通过调用open(),read(),write(),ioctl(),close()等函数来操作设备。

具体过程为:应用程序发出系统调用指令;系统由用户状态而进入内核状态;内核层将系统的函数调用转换为对具体设备的物理操作。

2、Linux是单核操作系统,内核由不同模块组成,一个内核模块包括初始化函数、卸载函数等。通过insmod将模块加载到内核中运行,通过rmmod卸载模块。

3、开发过程:硬件接口函数的编写;接口定义,在设备驱动程序及文件系统之间的接口;设备注册及注销;设备节点的创建。

4、Linux主要由五个子系统组成,进程调度、内存管理、虚拟文件系统、网络接口和进程间通信。

5、linux支持的文件系统,一般可以用ext3和ext4,支持FAT, FAT32,NFS等等。

6、Linux内核包含的组成部分,初始化(Bootloader),进程调度器(Linux将内核运行的任务称为内核线程,将用户空间运行的任务称为进程,Linux内核负责创建和终止进程,并在进程间相互通信),内存管理器(负责多个进程安全地共享主存空间),虚拟文件系统,网络接口,进程间通信(管道、命名管道、信号、信息队列、共享内存、信号量、socket等),可加载模块,设备驱动程序。

例如,当应用程序发出输入输出请求时,系统把请求处理的权限交给文件系统,文件系统通过群驱动程序提供的接口将操作下放到驱动程序,驱动程序完成对设备的实际操作;

当某进程通过网络接口发送消息时,网络接口组件会将该进程挂起,直到该硬件成功地完成消息的发送后,网络接口向该进程返回代表操作成功或失败的代码并唤醒该进程。


0 0
原创粉丝点击