Linux操作体系结构与功能流程

news2024/11/17 5:40:26

文章目录

  • 前言
  • 一、linux操作系统结构
  • 二、操作系统的工作方式
  • 三、操作系统内核中各级模块的相互关联
  • 四、Linux操作系统结构的独立性


前言

以内核代码 v0.11 和 v3.4.2 版本源码对 Linux 内核相关知识进行学习,由浅入深逐步掌握 Linux 内核。本文记录 Linux 操作系统结构与功能流程的学习。


一、linux操作系统结构

linux操作系统结构如下图:
在这里插入图片描述

操作系统服务层的接口实现

  • linux/kernel/asm.s
  • linux/kernel/sys.c
  • linux/kernel/system_call.s

二、操作系统的工作方式

  • 1、把操作系统从用户态切换到内核态用户应用程序内核的流程)
  • 2、实现操作系统的系统调用(操作系统服务层实现的)
  • 3、应用操作系统提供的底层函数,进行功能实现
    • 操作系统的驱动结构
  • 4、退出后从内核态切换到用户态

三、操作系统内核中各级模块的相互关联

  • 1、Linux内核的整体模块:进程调度模块、内存管理模块、文件系统模块、进程间通信模块、驱动管理模块
  • 2、每个模块间的关系
    • ①、内存管理和驱动管理模块---------虚拟内存的缓存和回存机制
    • ②、VFS 虚拟文件系统---------把硬件当成文件来进行使用

操作系统的内核的结构以及内核间的关系如下图:
在这里插入图片描述

四、Linux操作系统结构的独立性

  • 分清楚管理层实现层,管理层和实现层是相互独立的
  • 因存在管理层和实现层的存在,使得内核易于升级和维护(1991~至今)
  • 高版本的内核和低版本内核之间的区别:多的是内核驱动的种类,内核驱动的管理模式并没有巨大的改变(一段时间3个阶段的跳变:零散性、分层性、设备树)
  • 进程的调度算法发生了改变,进程的管理方式并没有巨大的改变

我的qq:2442391036,欢迎交流!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1467378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小区视频汇聚与智能监管方案:老破小升级改造与小区智慧化建设

一、需求背景 在当今数字化时代,智慧小区已成为城市建设的必然趋势。加快小区智能化改造,不断完善小区管理和服务,彻底改变粗放型管理方式已经成为当前小区智慧化趋势的重要任务。其中,智能视频监控系统在提高小区安全性和管理效…

ROS查找pkg

要在ROS中查找包名为"joint_state_publisher"的软件包,可以使用以下命令行指令来进行查找: 查找pkg“joint_state_publisher” rospack find joint_state_publisher这将返回该软件包所在的路径。如果结果不存在或者未安装该软件包&#xff0…

Sora 对未来视频创作伦理的挑战和思考

Sora 对未来视频创作伦理的挑战和思考 随着人工智能技术的飞速发展,AI视频模型Sora的出现为视频创作带来了革命性的变革。然而,在技术进步的同时,也带来了一些伦理问题值得我们深思。 1. 真实性和虚假信息: Sora能够生成逼真的视频画面&…

Pytorch 自用 Scheduler 分享

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

C#实用开发(14)--高清晰度字体和窗体分辨率问题。

新建winform程序是,又是会感觉到字体清晰度不够高。还有一种现象就是分辨率的问题,我们平常在自己的电脑开发是用125百分比的分辨率,实际部署的工控机是100,这就会导致分辨率不一致的问题。 可以通过新建应用程序清单,…

宝塔面板安装了mysql5.7和phpMyadmin,但是访问phpMyadmin时提示502 Bad Gateway

操作流程截图如下: 原因是没有选择php版本 选择php版本 下一页找到phpMyAdmin,选择设置 目前只有纯净态,说明没有php环境,前去安装php环境 点击安装,选择版本,这里选择的是7.4版本,编译安…

浅拷贝导致的bug

错误代码: //初始化formTableData的值 const formTableData ref({saleOrderTime:,saleOrderDetails:[] });const showModal async (item) > {//调接口获取后端返回的数据let data (await api.searchSaleOrderById({saleOrderId:item.id})).dataconsole.log(&…

计算机毕业设计 基于SpringBoot的宠物商城网站系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

FreeRtos Queue(三)

本篇主要分析向队列中发送消息 xQueueGenericSend 这个函数。 大致分为两个逻辑: 1、当队列没满的时候的处理 2、当队列没满的时候的处理 主意:整个xQueueGenericSend是在for(;;)中处理的 一、队列没满的case 队列的数据结构图可参考:F…

村镇医院医疗中心污废水如何处理达标

污废水处理是村镇医院医疗中心运营中不可忽视的重要环节。如何有效处理污废水,使其达到相关标准,是保障医疗中心环境卫生的关键之一。 首先,村镇医院医疗中心应建立科学的废水处理系统。该系统应包括预处理、初级处理、中级处理和高级处理等环…

浅析SpringBoot框架常见未授权访问漏洞

文章目录 前言Swagger未授权访问RESTful API 设计风格swagger-ui 未授权访问swagger 接口批量探测 Springboot Actuator未授权访问数据利用未授权访问防御手段漏洞自动化检测工具 CVE-2022-22947 RCE漏洞原理分析与复现漏洞自动化利用工具 其他常见未授权访问Druid未授权访问漏…

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重 一、明确本次报表分析的目的二、确定报表分析的重点项目三、重点分析项目之间的联系四、资产负债表的阅读五、利润表的阅读六、现金流量表的阅读七、综合分析 一、明确本次报表分析的目的 报表的…

自定义悬浮气泡组件

一.常用悬浮气泡展示 在一个项目中,常常会使用点悬浮展示,而市面上悬浮tooltip的组件非常多 例如常用的antd提供的Tooltip 用法如下(来自于官方文档示例): import React from react; import { Button, Tooltip, Con…

开源软件:塑造软件行业未来的协作与创新之力

随着信息技术的迅猛发展,开源软件已经逐渐成为软件开发的潮流,以其独特的低成本、可协作性和透明度等特性,在全球范围内引起了广泛的关注和应用。越来越多的企业和个人选择使用开源软件,这不仅推动了软件行业的繁荣,还…

c编译器学习07:minilisp编译器改造(debug模式支持调试)

问题 原版的minilisp编译器不支持argv输入测试,不方便单步调试。 代码改造目标是既不改变原有程序的各种功能, 又能支持个人习惯的vs单步debug模式。 CMakeLists.txt变更 定义DEBUG宏 解决单步调试源码定位偏差问题 cmake_minimum_required(VERSION …

【Linux Kernel】虚拟文件系统初探

学无止境~ 看LKD进行的粗浅整理,目标是能够做到设计上面的理解~ Linux操作系统上支持多种文件系统,如本地文件系统EXT4、XFS、EXT3 等,同时还支持NFS、CIFS以及一些特殊的文件系统,同时在上层调用文件管理时又不感知不同文件系…

零样本带解释性的医学大模型

带解释性的医学大模型 提出背景解法拆解方法的原因对比以前解法 零样本带解释性的医学大模型如何使用CLIP模型和ChatGPT来进行零样本医学图像分类用特定提示查询ChatGPT所生成的医学视觉特征描述相似性得分在不同症状上的可视化,用于解释模型的预测注意力图的可视化…

高级FPGA开发之PCIe IP Core(三)

高级FPGA开发之PCIe IP Core(三) 一、PCIe IP核简介 通过阅读PCIe spec文档,可以看到UltraScale器件Integrated Block For PCI Express解决方案IP核是具备高带宽、高可缩放性和高可靠串行互联的解决方案,适用于UltraScale器件。赛灵思在 UltraScale 架…

Android 相机启动流程笔记

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera 框架介绍: Camera的框架分为Kernel部分和hal部分,其中kernel部分主要有两块: image sensor driver&…

并发锁机制之深入理解synchronized

并发锁机制之深入理解synchronized Synchronized基础知识 i的JVM字节码指令 getstatic i // 获取静态变量i的值 iconst_1 // 将int常量1压入操作数栈 iadd // 自增 i–的JVM字节码指令 getstatic i // 获取静态变量i的值 iconst_1 // 将int常量1压入操作数栈 isub // 自减…