Context
- 当探索Binder机制,引出很多Linux相关概念。说Binder是驱动程序,Binder用了内存共享、匿名内存共享。
- Binder由 Client、Service、ServiceManager、Binder驱动程序 四个大模块组成那个。
- 那什么是驱动程序?什么是内存共享?
- 怎用从Linux的角度看待Binder、Android
总结
驱动:用于被加载到内核,来操作指定的kernal module(外设(鼠标、键盘)、虚拟设备(如Android里的binder))。
个人推论
Linux里everything is file,平常用的网卡、鼠标都被当做文件(设备文件),挂载在文件系统中。 虚拟设备(不依赖于特定的物理硬件,仅是内核自身提供的某种功能)
可以在module中注册,应用调用设备文件,read、write、ioctl等system call(系统调用)时,要执行的操作(驱动)。
相当于屏蔽了硬件的细节,只要调用native层的read、write、ioctl
kernel
以下目录、内容是针对Linux系统
- 2千多万行的代码<