一,内核基本结构
Run-time
structure of the kernel.
1.
内核上半部
内核的“上半部”向进程提供服务,对系统调用和陷阱作出响应。
这部分软件可以当作是所有进程共享的库函数。内核上半部在特权执行模式下运行,在该模式下,它既可以访问内核数据结构,也可以访问用户级进程的上下文。
2.
内核下半部
下半部内核由负责处理硬件中断的例程组成。
下半部内核中执行的中断操作与中断来源是同步的,但是与上半部内核是异步的。因此,对下半部内核来说,它没有引发中断操作的那个进程的状态信息。
3.
两部分相互通信
内核的上半部和下半部一般围绕工作队列
(work
queue)
中的数据结构来相互通信。
在上半部的时候,它绝对不会被其他用户进程抢先,但当它必须等待某个事件或者某个共享资源的时候,它会主动放弃
CPU
。不过它的执行可能被内核下半部的中断所打断。
4.
为什么要降低一部分中断的优先级别
系统为了关键性的操作不会因为执行时间过长而阻塞,把尽可能多的工作从高优先级的中断推迟到低优先级的软件中断进程。
5.
系统的节拍
(tick)
决定了用户进程在设置定时器时所能申请到的最短
(
非零
)
时间。
6.
就如其他
unix
系统一样,
FreeBSD
也是通过系统调用中断向量来判断出要它执行那个系统调用。
7.FreeBSD
将动态共享库直接映射到进程的地址空间中,一般位于用户栈和堆的中间。
8.FreeBSD
进程结构
Layout
of a FreeBSD process in memory and on disk.
9.
定时器时间队列
分享到:
- 2009-05-22 16:33
- 浏览 1796
- 评论(0)
- 论坛回复 / 浏览 (0 / 1847)
- 查看更多
相关推荐
freeBSD4.11版的内核配置文件样本
freebsd 内核编译精简步骤,wps的格式,
我同时使用Linux和FreeBSD,Linux的“make zImage”的功能使得我可以定制压缩的内核,在自己制作 启动盘、应急盘时尤为方便。而在FreeBSD中我却没有找到类似的功能,编译出的内核要大很多,请问FreeBSD 是否支持压缩...
FreeBSD 5.4 网络通信过程中内核例程调用流程
FreeBSD是一种自由类Unix操作系统,是由经过BSD、386BSD和4.4BSD发展而来的类Unix的一个重要分支。FreeBSD拥有超过200名活跃开发者和上千名贡献者。
FreeBSD是一种UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。
freebsd 内核代码
同时使用Linux和FreeBSD,Linux的“make zImage”的功能使得可以定制压缩的内核,在自己制作启动盘、应急盘时尤为方便。而在FreeBSD中我却没有找到类似的功能,编译出的内核要大很多,请问FreeBSD 是否支持压缩内核...
FreeBSD学习笔记整理,从基础开始记录
初级Freebsd命令学习和使用方法让菜鸟们更加了解Freebsd命令.
freebsd v4.4内核源码,适合内核源代码爱好者下载学习
FreeBSD 7.0 内核源代码,由于上传限制文件为15M,所以就分为两部分了,下载后解压到同一目录SYS下…… (资源有问题请到http://blog.csdn.net/itufo留言!)
freebSD学习手册 关于学习freebSD的应用
FreeBSD 10.0 NET 源码 ,可以直接查看里面的相关函数
FreeBSD-7内核malloc源代码分析,很详细哦
FreeBSD10.0内核源码 64位 安装ISO镜像文件后提取usr/src/sys 也可以自己到freebsd网站上下载ISO http://www.freebsd.org/where.html
FreeBSD完全学习,安装、配置、研发等等。
FreeBSD网络操作系统视频教程课程目录:【】Apachel服务器系列之一(楚广明网络教程之八)【】FreeBSD之Samba服务器(楚广明系列课程之五)【】FreeBSD基本文件配置(楚广明系列之二)【】freebsd安装(楚广明系列课程之一)...