首页 系统教程 操作系统 Linux内核2.1单内核与微内核的应用体系分析与应用

Linux内核2.1单内核与微内核的应用体系分析与应用

Feb 13, 2024 pm 06:45 PM
linux内核 单内核

目录

1、应用系统的两种形态1.1无操作系统应用体系

对于简单的SOC应用,如大部份简单功能的单片机应用都无需在系统中使用操作系统,这时应用程序是直接调用相应的驱动操作底层的硬件,如图:

这些结构,应用软件直接调用了设备驱动操作硬件。优点是:简单直接,效率高。适宜小而简单的系统。对于复杂系统,须要在不同功能里共享硬件资源的应用系统,此种方法就显着不适宜了。

1.2、有操作系统的应用体系

对于复杂应用系统,各功能模块之间须要共享硬件等资源的应用场景,则须要在应用体系内加入操作系统。为此,应用体系就如右图:

如图,有操作系统后红旗linux官网,应用程序可以不管具体的硬件细节,而都使用操作系统API的统一插口,这样利于大规模标准化开发,提升开发效率。

驱动程序向下也使用操作系统提供的标准设备插口,向上操作不同的硬件。借此对操作系统层屏蔽了硬件细节。操作系统因而显得更稳定和高效。

2、linux内核2.1单内核与微内核

目前操作系统有两种典型的内核实现模式:

Linux是一个单内核linux学习,运行在单独的地址空间上。不过,Linux吸取了微内核的精化,具有微内核所所具有的模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力。同时,Linux还防止了微内核的设计缺陷嵌入式linux高级驱动教程,linux让所有模块都运行在内核态,直接调用函数,无须像微内核那样采用消息传递。

2.2Linux内核组成

如图所示,Linux内核主要由五个部份组成:

2.3进程调度

进程调度处于系统的中心位置,系统的其它部份都依赖于它。 linux的进程共有六种状态,进程在整个生命周期中可以这几种状态中切换。

2.4显存管理

显存管理的主要作用是控制多个进程安全的共享主显存域。一个32位处理器的Linux的每位进程享有4G空间,通常0-3G属于用户空间,3G-4G属于内核空间。如右图

嵌入式linux驱动编程实验_嵌入式linux高级驱动教程_嵌入式linux驱动开发教程

2.5虚拟文件系统

Linux虚拟文件系统隐藏了各类硬件的具体细节,为所有设备提供了统一的插口。是对各个具体文件系统的一个具象。

如图,虚拟文件系统为下层的应用程序提供了统一的调用插口,对下则负责调用具体底层文件系统或设备驱动中实现的file_operations结构体中的成员函数。

2.6网路插口

网路插口提供了对各类网路标准的存取和各类网路硬件的支持。Linux网路插口分为

2.7进程间通讯

嵌入式linux驱动开发教程_嵌入式linux驱动编程实验_嵌入式linux高级驱动教程

进程间通讯负责进程之间的通讯,包含讯号量、共享显存、消息队列、管道、UNIX域套接字等。

3、内核空间与用户空间

现代的CPU其内部会分辨不同的工作模式,借此来分辨不同级别和权限的操作。

比如,ARM的8种工作模式:

在ARM环境中,Linux系统充分借助CPU的硬件特点,实现了两级的操作模式,用户(usr)模式和管理模式(svc)。与此对应,在Linux系统中具有两种空间:

3.1补充:关于软中断

qquad这儿有一张ARM的异常工作模式的图表

正常执行时,ARM处于用户模式,当CPU执行swi指令时,会手动步入系统模式(SVCmode),并跳转到异常向量表。通过向量表再跳转到对应的函数中去对swi进行响应。

这儿的SVC模式就是SupervisorCall的简写,英文为管理程序调用。

4、linux设备驱动4.1linux系统中设备分类

linux系统将外设硬件分为三大类:

4.2linux驱动相关体系

如图,字符设备与块设备都被映射到Linux文件系统的文件和目录。

应用程序可通过套接字访问网路设备嵌入式linux高级驱动教程,并用两种手段访问字符设备与块设备:

以上是Linux内核2.1单内核与微内核的应用体系分析与应用的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

探秘Linux内核功能:五大部分的详细介绍 探秘Linux内核功能:五大部分的详细介绍 Mar 21, 2024 am 09:57 AM

Linux内核作为操作系统的核心部分,承担着管理硬件资源、提供系统调用等重要功能。本文将深入探讨Linux内核的五大部分,包括进程管理、文件系统、网络通信、设备驱动和内存管理,并提供详细的介绍和代码示例。一、进程管理进程的创建在Linux内核中,进程的创建通过fork()系统调用来实现。下面是一个简单的示例代码:#include

非MMU的支持是由Linux内核的uClinux移植提供的吗? 非MMU的支持是由Linux内核的uClinux移植提供的吗? Jan 26, 2024 pm 05:18 PM

篇幅长,技术内容多,点击关注不走散。序言:了解Linux内核一个计算机系统是一个硬件和软件的共生体,它们相互依赖,不可分割。计算机的硬件linux内核移植步骤,富含外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的缸体。并且没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部份:储存管理、CPU和进程管理、文件系统、设备管理和驱动、网络通讯linux论坛,以及系

Linux内核TCP协议栈优化的秘密技巧揭示 Linux内核TCP协议栈优化的秘密技巧揭示 Jan 28, 2024 am 09:39 AM

尊敬的读者们,您好!在此,我有幸与您分享我作为资深网络工程师,以其专业的技术在Linux内核TCP协议栈的研发及优化工作中所积累下的宝贵经验与技巧。相信通过此文,我们能互相学习、探讨,为对该领域有着浓厚兴趣或正在进行相关工作的你们带来实际且有益的参考资料。1.TCP连接建立TCP连接建立乃是TCP协议栈关键事务,然而面临诸多连接问题并不少见。经过深思熟虑及详细调试,我挖掘出一些普遍存在且实用的问题及其解决方案,包括防范SYN洪泛攻击(可透过调整系统参数)及应对网络拥塞(亦即运用TCPFastOp

实战 | RISC-V Linux入口地址2M预留内存优化 实战 | RISC-V Linux入口地址2M预留内存优化 Aug 01, 2023 pm 03:37 PM

上篇分析了RISC-V Linux启动的页表创建,提到RISC-V Linux入口地址必须2M对齐,今天讲讲如何解决2M对齐的问题,或者说如何优化部分内存。

深入探索Linux内核源代码分布 深入探索Linux内核源代码分布 Mar 15, 2024 am 10:21 AM

这是一个深度探索Linux内核源代码分布的关于1500字的文章。因为篇幅有限,我们将重点介绍Linux内核源代码的组织结构,并提供一些具体的代码示例,以帮助读者更好地理解。Linux内核是一个开源的操作系统内核,其源代码托管在GitHub上。整个Linux内核源代码分布非常庞大,包含了几十万行代码,涉及到多个不同的子系统和模块。要深入了解Linux内核源代码

Linux内核:揭秘计算机操作系统的隐形大BOSS Linux内核:揭秘计算机操作系统的隐形大BOSS Mar 24, 2024 am 09:10 AM

论述了Linux内核在计算机操作系统中发挥重要作用的观点linux内核设计和实现,通过深入解析Linux内核设计及实际应用,揭示了它在该领域的显着地位和影响力量。 1.优化的内存管理通过采用虚拟内存管理技术,Linux内核能高效率地完成内存分配与回收。在置换页面算法帮助下linux内核设计和实现,精确处理物理内存至虚拟内存之间的映射关系。依据应用程序具体需求,实现可动调整,从而提升了整个系统性能表现。 2.强大的进程管理内核借助其卓越的多任务处理技术,使多个进程能够和谐共处于单一系统中。精心制定的进

探讨安卓系统与Linux内核之间的关系 探讨安卓系统与Linux内核之间的关系 Mar 14, 2024 pm 12:48 PM

安卓系统与Linux内核是息息相关的两个实体,它们之间的关系紧密而又复杂。在安卓系统中,Linux内核充当着重要的角色,为安卓系统提供了底层的硬件驱动和系统调用支持。本文将探讨安卓系统与Linux内核之间的关系,以及它们是如何交互、协同工作的,同时提供一些具体的代码示例。安卓系统是基于Linux内核开发的移动操作系统,主要用于智能手机、平板电脑等移动设备。L

你真的会调试 Linux 内核故障吗,看完这一篇后你会茅塞顿开的! 你真的会调试 Linux 内核故障吗,看完这一篇后你会茅塞顿开的! Aug 03, 2023 pm 04:50 PM

Linux内核是操作系统的核心,它控制对系统资源(例如:CPU、I/O设备、物理内存和文件系统)的访问。在引导过程中以及系统运行时,内核会将各种消息写入内核环形缓冲区。这些消息包括有关系统操作的各种信息。

See all articles