linux内核 一

本文详细介绍了Unix操作系统为何成为强大的操作系统,包括简洁性、移植能力、文件系统一致性、高效进程管理、策略与机制分离设计,以及内核的组成部分如中断服务程序、进程调度程序、内存管理程序和网络服务程序。同时,解释了系统调用的概念和中断服务程序的工作机制,还对比了单内核与微内核的设计思想,并以Linux内核为例说明其混合设计特点。

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

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

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

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

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

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


内核的组成

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

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

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

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


系统调用

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

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


中断服务程序

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

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

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


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

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

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

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


单内核与微内核

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

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

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


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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值