记住“22”,两级分段两级权限。
例如是32位的机器,从内存空间看:顶层1G是内核的,底3G是应用的;从权限看:内核是0级特权,应用是3级特权。
系统调用。proc。
linux提供给应用层访问内核包括设备驱动、进程管理、内核参数的接口,例如字符设备驱动,对上层是统一的接口,对底层则由具体驱动实现。其本质是“门机制”,利用机器指令进入更高的特权空间(内核态)。
对一个已创建的普通文件,要先谈open过程:vfs,fs,cache,通用块,IO调度,块驱动,物理块,从而拿到fops给到文件描述符,之后read就和底层读写相关起来了。
1.数据流2.系统接口(块有两套接口)
字符设备:串口、键鼠、摄像头
块设备:sd卡,u盘
CTUFRC
CPU---->>TIM---->>UART/FLASH/DRAM---->>relocate_code---->>command
UMMISMB
uboot通过theKernel启动---->>Machine---->>MMU---->>Init---->>Setup---->>Mount---->>Busybox
完全公平/多级反馈队列/基于优先级
优先级:很好理解。缺点:调度是遍历的,饥饿现象
多级反馈队列:超过一定时间下放到低优先级队列。特点:bitmap
完全公平:红黑树动态调整优先级(计算虚拟时间)

cdev_init(cdev,fops)---->>register_chrdev(设备号,设备节点,fops)
mknod/启动脚本+mdev -s
内存,ioremap,中断,定时器,工作队列等等要释放
将文件fd内容映射到进程虚拟内存进行读写,不必经过read/write
void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset )

当内核出错时(比如访问非法地址)打印出来的信息被称为 Oops 信息。
(未完待续)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147257.html