在Linux系统中存在进程的概念:
进程的分类:
用户进程:运行在用户空间的进程被称为用户进程
内核进程:运行在内核空间的进程被称为内核进程
进程的空间:
系统会为每一个进程分0-4G的虚拟寻址空间,在4G的空间中
0-3G:属于用户空间,用来运行用户的相关进程
3-4G:属于内核空间,用来运行内核的相关进程
用户空间:运行用户进程的空间
内核空间:运行内核进程的空间
用户模式:用户进程运行在用户空间的模式被称为用户模式
内核模式:内核进程运行在内核空间的模式被称为内核模式
用户模式是受限模式,它对内存和硬件的访问都必须通过系统调用实现,用户程序运行在用户模式,它用于用户进程。内核模式是一种高特权模式,其中的程序能直接访问内存和硬件,内核程序运行在内核模式。
思考:为什么要将系统和驱动层分开呢?????
原因是系统层和内核层操作的权限不同,系统层的操作权限较低,而内核层的操作权限高
操作权限指的是:内核中可以直接管理内存,可以直接访问硬件,而系统层需要通过调用内核层才能完成操作,内核的权限值最高为0,用户进程的权限值为3.
另外系统的破坏性属于局部,如系统中运行的进程崩溃不会导致系统的崩溃
内核破坏性属于全局的,内核崩溃直接导致系统崩溃(蓝屏)