miwaiwai

导航

linux驱动开发

1.linux系统(软件范畴)的用户空间(用户态)和内核空间(内核态)特点

  用户空间特点:

    1.用户空间包含的软件就是各种用户命令,应用程序所需要的动态库

    用户自己编写的应用程序(UC,QT)等

    2.用户空间的软件在运行的时候对应的cpu核工作模式为User用户模式

    3.用户空间的软件不允许直接访问内核空间的代码,地址以及数据

    4.linux系统4G虚拟地址空间划分:

    用户空间占前3G,地址范围:0X000000-0XBFFFFFFF,用户虚机地址

    内核空间占后1G,地址范围:0X000000-0XFFFFFFFF,内核虚拟地址

    所以应用程序要访问内核空间地址,必须通过系统调用间接访问

    5.用户空的件软件如果进行了非法的内存访问,不会造成操作系统的奔溃,

    反而是操作系统直接干掉应用程序(例如:segment fault)

    例如:*(int *)0=0;

    6.用户空间的软件不允许直接访问外设地址

    如果要访问,必须提前将威慑的地址映射到用户的虚拟地址或者内核虚拟地址,一旦完成映射

    访问用户虚拟地址或者内核虚拟地址就是在访问外设的物理地址

    7.用户空间的软件类似网络编程中的客户端

    内核空间的软件将来要时刻服务郁用户空间的软件

  内核空间特点:

    1.内核空间的软件就是uImage(包含了七大子系统)

    2.内核空间的软件在运行的时候对应的cpu核工作模式为svc管理模式

    3.内核空间的软件如果对内存进行非法的访问,操作系统直接奔溃(类似windows蓝屏)

    内核崩溃又称为吐核

    例如:*(int *)0=0

    4.

 

posted on 2026-01-11 08:46  米歪歪  阅读(3)  评论(0)    收藏  举报