如果需要从键盘获得输入,在VFS中对应是什么系统调用?之后又经历了怎样的过程才最终定位到键盘设备。
时间: 2024-03-18 13:43:54 浏览: 18
在VFS中,需要从键盘获得输入,对应的系统调用是`read()`。
在Linux内核中,键盘设备的驱动程序是`kbd`。当用户按下键盘上的按键时,对应的扫描码会被送到键盘控制器,然后通过中断传递到内核中的`kbd`驱动程序。`kbd`驱动程序将扫描码转换为字符码,并将其存储在一个缓冲区中。当应用程序调用`read()`系统调用时,将从该缓冲区中读取数据并返回给用户空间。
在Linux内核启动时,会自动探测所有的设备并加载相应的驱动程序。因此,在初始化过程中,内核会扫描所有可能存在的键盘设备,以确定哪一个是有效的。一旦确定了键盘设备的位置,`kbd`驱动程序就会将其注册到VFS中,并分配一个设备号。这个设备号就是应用程序在调用`open()`系统调用时所需要的。
相关问题
centOS7中Linux系统中,键盘设备文件具体是哪个?请给出完整路径。如果需要从键盘获得输入,在VFS中对应是什么系统调用?之后又经历了怎样的过程才最终定位到键盘设备
在CentOS7的Linux系统中,键盘设备文件的完整路径通常是 /dev/input/event0。
如果需要从键盘获得输入,在VFS中对应的系统调用是 read()。
在定位键盘设备时,通常可以通过以下步骤实现:
1. 确定系统中有哪些输入设备,可以使用命令 ls /dev/input/ 查看。
2. 运行命令 cat /proc/bus/input/devices,查看系统中所有输入设备的详细信息,包括设备名称、类型、设备文件等。
3. 根据设备文件名,使用命令 ls -l /dev/input/ 查看设备文件的详细信息。
4. 可以使用命令 evtest /dev/input/event0 测试键盘输入事件,并查看系统是否能够接收到键盘输入。
5. 最终可以使用程序来读取键盘输入事件,例如使用 C 语言编写程序调用 read() 等系统调用来实现。
Linux中什么是VFS?它有什么作用?它采用了什么思想?
VFS (Virtual File System)是Linux内核中的一个抽象层,它可以屏蔽不同文件系统的差异性,使得用户空间程序可以使用同样的标准接口来访问不同文件系统中的文件。VFS的作用就是为文件系统提供了一个公共的接口,因此,Linux内核中的许多函数都是在VFS上实现的。VFS采用了“装饰器模式”思想,它以文件系统挂载点为基础,分别挂载各种文件系统,使得每种文件系统都可以通过VFS提供的标准接口访问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)