linux怎么定义程序执行有限级别,linux 内核是什么?

一:linux系统如何构成的?User space:User Applications

and GNU C library (glibc)kernel space:System Call

interface, Kernel and Architecture-Dependent Kernel

Code。

a4c26d1e5885305701be709a3d33442f.png

二:为什么linux系统会划分为User space and Kernel space ?

CPU通常实现了不同的工作模式,以ARM为例,实现了7种工作模式:用户模式(usr),系统模式(sys),管理模式(svc),中断模式(irq),快速中断模式(fiq),数据访问中止模式(abt),未定义指令模式(und)

X86也实现了4个不同的级别:Ring0--Ring3。

Ring0下,可以执行特权指令,在Ring3则有很多限制。linux系统则利用这一特性,使用了其中两级来分别运行linux内核与应用程序,这样使操作系统本身得到充分的保护。

用户代码运行在Ring3,内核代码运行在Ring0.

内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户控件到内核空间的转移

三:linux内核构架:System Call Interface(SCI), Process Management(PM),

Memory Management(MM), Arch, Virtual File System(VFS), Network

Stack, Device Drivers(DD)

a4c26d1e5885305701be709a3d33442f.png

1:系统调用接口SCI

SCI层为用户空间空间提供了一套标准的系统调用函数来访问linux内核,搭起了用户空间到内核空间的桥梁。

2:进程管理

进程管理的重点是创建进程(fork, exec), 停止进程(kill, exit),

并控制它们之间的通信(signal或者POSIX机制). 进程管理还包括控制活动进程如何共享CPU,即进程调度。

3:内存管理

内存管理的主要作用是控制多个进程安全地共享内存区域

4:网络协议栈

内核协议栈为linux提供了丰富的网络协议实现。

5:Virtual File System

VFS隐藏各种文件系统的具体细节,为文件操作提供个统一的接口。

6:设备驱动

linux内核中有大量代码都在设备驱动程序中,它们控制特定的硬件设备。

参考网址:http://www.cnblogs.com/Daniel-G/archive/2012/10/11/2719944.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值