当前位置:主页 > 论文百科 > 英文数据库 >

《Unix内核源码剖析》读书笔记01-用户模式与内核模式

发布时间:2017-03-02 10:14

  本文关键词:Unix内核源码剖析,由笔耕文化传播整理发布。


Unix内核源码剖析》读书笔记01-用户模式与内核模式

什么是进程? 内核采用进程的概念对执行中的程序进行管理,一个进程对应一个执行中的程序。进程拥有唯一的进程ID,所以一个程序被执行多次,它们也是不同的进程

为什么需要切换这两种模式重点内容? 用户程序由用户进程处理,所以无法访问加载内核程序的内存区域 ,所以需要切换到内核模式执行某些功能,这些功能执行完后,处理器的模式又切换回用户模式啦···

处理器的两种模式是如何切换的? PSW

MMU来实现内存映射的切换···【虚拟地址映射到用户的内存区域<—>内核的区域】

关于MMU MMU(Memory Management Unit)用于地址变换以及访问权限管理。早期的UNIX系统中,以长度为8KB的段或者页为单位,对进程中需要的内存进行管理。试图访问不具有权限的内存时,MMU会引发一个陷入异常。MMU通过APR寄存器(页寄存器)对各段进行设定,并将虚拟地址转换为物理地址。

用户的空间和内核的空间如何交换数据? 一些函数:fubyte(),fuibyte(),fuword(),fuiword(),subyte(),suibyte(),suword()

suiword()

[code]fubyte() fuibyte() fuword() fuiword() subyte() suibyte() suword() suiword()交换空间?

进程增多,内核将定期处于休眠状态,重要度低的进程会从内存中移到交换空间(swap out),交换空间中的进程到了可执行状态时当然也会重新恢复到内存中(swap in)

一些很重要的进程也会被移除到交换空间吗 进程的状态信息会由两种结构体实现:

proc user

proc结构体的实例不会被移出内存!!!

为什么proc 会受到优待? 由其重要性决定。【经常被访问】

proc结构体管理着进程相关的信息中需要经常被内核访问的那部分···

因为经常要被访问,所以把它移出到交换空间是极不明智的。

【切换进程时,内核会遍历proc结构体组成的数组,从中选择下一个要执行的进程】

那user呢? user结构体保存着进程打开的文件和目录等信息,所以内存中保留当前执行程序的user就够了。

PS:内核可以通过全局变量u访问执行过程中的结构体

[code].globl _u _u = 140000进程在内存中是怎样存储的?

代码段和数据段作为两个连续的物理内存区域分配给进程。进程通过虚拟地址访问被分配的物理内存区域。

代码段是只读的,用来存放作为程序指令的机器代码。某个程序在被同时执行多次时,各进程共享同一个代码段。代码段通过数组text[]进行管理。长度有user.u_tsize表示。

内核unix

猜你在找


  本文关键词:Unix内核源码剖析,,由笔耕文化传播整理发布。



本文编号:247035

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/mishujinen/247035.html

上一篇:英伦风婚礼  
下一篇:商务礼仪实务教程

Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户e76f4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com