logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核之文件描述符、文件表、i-node table

前言文件描述符在unix系统中几乎无处不在网络接口 select、poll、epoll 涉及到文件描述符IO接口 read、write 也涉及到文件描述符从形式上来看文件描述就是一个整数,那么我们可不可以更进一步去了解一下呢?1、文件描述符是一个int型整数2、文件描述符创建是有一定的规则。在创建文件描述符的时候系统会在files_struct数组中,去找到一个当前没有被使用的一个最小下标,作为一

#linux#segmentfault#数据结构 +1
计算机网络体系结构及参考模型(2)

这篇文章自上而下,来讲讲OSI七层模型每层的大概作用。并介绍TCP/IP参考模型以及五层参考模型。

#网络#网络协议
链接脚本入门

SECTIONS/* 定义第一个输出段:.text */.text : {*(.text) /* 收集所有输入文件的 .text 段 */*(.rodata) /* 顺便把只读数据也放进来 */} > FLASH/* 定义第二个输出段:.data */*(.data)} > RAM/* 定义丢弃规则 */每一个输出段的定义(如段名 (Section Name):例如.text.data(type)

#学习#嵌入式#c语言
Linux 下自旋锁 spin_lock、spin_lock_irq 和 spin_lock_irqsave 分析

但这会带来另一个问题,就是如果自旋锁所保护的临界区执行时间太长,当前核一直处于关中断状态,会极大影响操作系统的实时性。该函数增加了一个参数,即在关闭当前核中断之前,将当前核的中断状态保存在 flags 变量中。想象这样一个场景,一个外设处理线程正在尝试获取自旋锁 A,而这时外设中断产生,中断处理里面也尝试获取这把锁 A,就会出现死锁的现象。解锁时,不会直接打开当前核中断,只会恢复上一次 cpsr

#linux#java#服务器 +2
ARM 架构下 spin_lock 实现

本文深入解析自旋锁机制,探讨其在Linux内核中的应用,包括解决资源冲突、死锁预防及多核环境下公平性问题。详细介绍自旋锁的数据结构、实现原理及变体接口,适合操作系统与并发控制领域的研究者。

文章图片
#arm开发#架构
SylixOS 中的 Rootfs

rootfs(根文件系统)是运行中的操作系统用来提供根目录的文件系统实例。所有绝对路径都从开始解析;其他文件系统可以挂载到它下面的目录,最终形成进程可见的完整文件系统目录树。这里的 “文件系统实例” 是指一个已经被操作系统创建或挂载、能够实际接受文件操作的文件系统对象,而不是 FAT、ROMFS、ext4 这类文件系统格式名称。rootfs 可以采用不同的文件系统实现;它之所以称为“根文件系统”,

#嵌入式#c语言#架构
Armv8 原子性:体系结构保证与编程语义

atomic”同时出现在处理器手册、编程语言、操作系统和并发算法中。它们共享“不可分割”这一核心思想,却不处在同一个抽象层次。在 Arm 体系结构中,atomic 首先描述:一次访问是否会撕裂,一次写以怎样的方式进入多个观察者的视野。编程中的 atomic 则描述:一次 Load、Store、CAS 或加法能否作为一个完整操作参与竞争,编译器和处理器是否共同维持了这种语义。两者不能直接画等号。体系

#学习#嵌入式#linux
Linux platform 设备驱动匹配机制

Linux 中的总线由...这里最关键的是match()和probe()。match()决定一个 device 和一个 driver 是否匹配。PCI bus 根据 vendor/device id 匹配;USB bus 根据 USB id table 匹配;platform bus 可以根据 Device Tree compatible、ACPI id、platform id table、名字匹

#linux#单片机#学习 +2
SylixOS 下的锁与信号量

本文基于 SylixOS 操作系统,对系统中的 “锁” 和 “信号量” 做一次梳理。

#学习#嵌入式#c语言 +1
嵌入式系统启动流程

这里说的 “三级引导” 并不是一个固定的、标准的术语,而是想强调,在某些系统里,bootloader 可以再拆得更细,例如。BootROM 不是严格意义上“只能从 ROM 启动操作系统” 的意思,而是指芯片上电复位后,第一段固定的启动程序,通常固化在 ROM(只读存储器)或 mask ROM、OTP ROM,甚至是 eFuse 或者内嵌 Flash 中。可以是单级的,也可以是多级分层的。对 Arm

文章图片
#arm开发#学习#linux +1
    共 25 条
  • 1
  • 2
  • 3
  • 请选择