linux内核 一

来源:互联网 发布:win10获取权限软件 编辑:程序博客网 时间:2024/05/17 06:43

Unix操作系统成为一个强壮的操作系统的原因:

1 简洁,提供了几百个系统调用有明确的设计目的,而不是像有的操作系统,动辄几千上万个

2 unix内核和系统级软件都是用c语言写的,便于在不同的硬件上移植

3 所有的东西都是文件,对数据和设备的操作可以使用相同的接口

4 快速简洁的进程创建过程,简单稳定 的进程间通讯,有利于大型复杂任务的完成

策略与机制分离的设计理念


内核的组成

负责响应中断的中断服务程序

负责管理进程分享处理器的进程调度程序

负责管理进程地址空间的内存管理程序

网络、进程间通讯等服务程序


系统调用

当一个应用程序执行系统调用,可以说内核在代其执行

也可以说是应用程序通过系统调用在内核空间运行,也可以说内核运行在进程的上下文


中断服务程序

当硬件设备需要与操作系统通信的时候,它会发出一个异步的中断信号打断处理器的运行,从而打断内核的运行

内核通过中断号,查找相应的中断服务程序来处理中断

在linux中,许多操作系统中,中断服务程序不会运行在进程的上下文中,为了第一时间响应处理,他们运行在专门的中断上下文中


对于处理器来说,他的运行方式只有三种可能

运行在用户空间,执行用户进程

运行在内核,执行进程上下文,代表特定进程

运行在内核,执行中断上下文


单内核与微内核

单内核是一个很大的进程。它的内部又可以被分为若干模块(或者是层次或其它)。但是在运行的时候,它是一个独立的二进制大映象。其模块间的通讯是通过直接调用其它模块中的函数实现的,而不是消息传递。单内核的支持者声称微内核的消息传递开销引起了效率的损失。微内核的支持者则认为因此而增加的内核设计的灵活性和可维护性可以弥补任何损失。

Linux内核是微内核和单一内核的混合产物一样。

linux是单内核,linux内核运行在单独的内核地址空间上,但linux吸取的微内核的优点,模块化设计,抢占式内核,支持内核线程,动态装载内核模块。


从内核版本的第二个数,判断稳定版还是开发版,偶数稳定




0 0
原创粉丝点击