Linux学习方法-框架学习法——Linux系统框架

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p=2&vd_source=d488bc722b90657aaa06a1e8647eddfc

目录

Linux系统框架(从裸机到OS)

Linux可看成是一个大软件/大程序

应用和驱动

内核态和用户态

Linux的文件系统

Linux初学者首先要搞清楚三个文件

Linux系统框架(从裸机到OS)

  • 裸机程序简单易懂
  • 为什么要用Linux?可以解决更复杂的问题:网络 / 图形 / 多任务

Linux可看成是一个大软件/大程序

  • Linux大部分用C语言编写,少量汇编
  • Linux是个大程序,函数库
  • 我们是站在巨人的肩膀上做事
  • Linux提供了大量的资源

√网络协议 / 多任务

√内存管理 / 设备管理

  • Linux让产品开发更简单
  • 学习有难度,如学骑自行车
  • Linux架构越来越复杂,但使用越来越方便
  • 使用的方便性是以复杂的架构为代价

应用和驱动

  • 有了Linux,使得软件开发人员分化成两类:应用与驱动
  • 应用开发人员可以不懂底层驱动,应用开发只关注业务逻辑,而驱动开发关注硬件特性;
  • 应用程序通过'系统调用'来使用内核资源
  • 驱动是Linux内核的一部分,驱动的架构越来越复杂,目的是为了我们做的事情越来越少

内核态和用户态

  • 用户态的程序不能直接访问硬件资源
  • 内核态用户态不仅是软件上的抽象,ARM处理器本身在硬件上就支持这两种状态
  • ARM处理器的工作模式:

√用户模式

√系统模式

√中断模式

  • 应用直接访问硬件会触发异常中断内核态和用户态的划分使得系统更加安全,内核级有更高的特权。
  • 进一步理解**'系统调用',它是用户态调用内核态函数的方法,一般通过软中断**的方式。
  • 软中断是软件指令触发,ARM有对应指令,不同于按键等外部中断。

Linux的文件系统

  • 文件系统可直观理解为Windows 上的文件资源管理器,应用程序放在文件系统当中Linux启动后一定要挂接一个文件系统,但VxWorks,ucos 等并不需要挂接文件系统可大可小,通过构造文件系统可街生QT,Ubuntu,Android等系统
  • Linux的重要思想:一切皆文件
  • 硬件的操作(串口/led /按键)都可归结为:read,write,open,close

Linux初学者首先要搞清楚三个文件

  • 三个文件:

√引导程序(bootloader ):uboot.bin/uboot.imx

Linux 内核镜像: zlmage

√文件系统镜像:system.img/rootfs.tar.ba2

  • 初期很多工作都是围绕这三个知识点展开的

√开发环境搭建/编译系统/烧写系统

  • 不同的系统文件名会有差异
  • 设备树文件(可看成Linux内核的一部分)
相关推荐
徐sir(徐慧阳)1 分钟前
WebLogic 更换服务器后java segmentation fault错误解决记录
linux·服务器·中间件·jdk
名誉寒冰8 分钟前
AI云存储学习笔记:小文件优化 / 大文件分片 / 分享与 AI 搜索
linux·人工智能·笔记·学习
kubernetes-k8s14 分钟前
计划开始学习:OpenStack从入门到精通
linux·运维·服务器
天码-行空21 分钟前
【大数据环境安装指南】ZooKeeper搭建spark高可用集群教程
大数据·linux·运维·zookeeper·spark
无垠的广袤25 分钟前
【上海晶珩睿莓 1 单板计算机】物联网环境监测终端
linux·python·嵌入式硬件·物联网·mqtt·home assistant
Dovis(誓平步青云)26 分钟前
《拆解Linux中的IP协议与数据链路层:地址、路由与分片的底层逻辑》
linux·网络·tcp/ip
qq_4474294128 分钟前
Gemini CLI 非交互模式工具调用机制详解
linux·运维·服务器
代码游侠33 分钟前
复习——SQLite3 数据库
linux·服务器·数据库·笔记·网络协议·sqlite
chenyuhao20243 小时前
Linux网络编程:传输层协议UDP
linux·服务器·网络·后端·udp
小鹏linux3 小时前
【linux】进程与服务管理命令 - batch
linux·运维·服务器