登录社区云,与社区用户共同成长
邀请您加入社区
本文系统阐述嵌入式系统核心概念,涵盖板级支持包(BSP)的硬件与操作系统双重相关性及其初始化、驱动支持等关键功能;介绍嵌入式软件分层架构,强调抽象层在实现可移植性中的作用;解析安全攸关软件的DO-178B等级划分及综合过程;归纳嵌入式系统可裁剪性、高确定性、可靠性与性能指标等特性;对比强实时系统与一般实时系统的时间约束与可预测性要求;说明RTOS选型关键因素及时间性能评估标准;最后介绍BMTS消息
进程是程序的一次执行实例。Linux 使用描述和管理进程。每个进程都有自己的 PID、地址空间和执行上下文。操作系统通过调度器决定进程什么时候运行。进程可能处于运行、睡眠、停止和僵尸等状态。进程是谁创建出来的?执行完以后又由谁负责回收?如果一个进程想运行另外一个程序,应该怎么办?ls -lShell 会运行ls程序,等待执行结果,再重新显示命令提示符。Shell进程| fork()v创建子进程|
程序运行时,内存里有一块专门的区域叫"栈段"。你可以把它想成一摞盘子:CPU 里有一个专门的寄存器叫 RSP(stack pointer,栈指针),它的作用只有一个:始终记录当前栈顶的地址。程序刚开始运行时,操作系统会把 RSP 设置成栈内存区域里最后一个位置的地址。这里有一个很反直觉但很重要的事实:x86-64 的栈是向低地址增长的。也就是说,往栈里放数据,RSP 的值会变小;从栈里拿数据,RS
本文记录基于STM32ZET6的智能门禁项目开发过程,结合RT-Thread实时操作系统,实现人脸录入/删除、识别开门、温度报警等功能。通过串口与K210及语音模块通信,采用状态机+消息队列架构,提升代码可读性与可维护性。引入按键中断、定时器控制自动关门、人体红外检测防误触发等优化功能,并深入解析中断安全、多线程协作与系统设计思想,总结了对RT-Thread底层机制的理解与学习心得,为后续嵌入式开
ConfigMap用来保存运行时配置数据,以KV键值对的形式存储容器可以通过两种方式来使用ConfigMap典型用法:A:如果通过 env / envFrom 将 ConfigMap 注入为环境变量,正在运行的容器不会自动拿到更新,需要滚动重启Pod;所以对于需要运行时动态变化的配置,“普通卷挂载 + 程序定期重新读取”通常更合适。 不需要为了改一个开关就重启 PodA: 不行,关键是:“挂载同一
vi2.txt创建2.txt文件并编辑文件内容 (如果想退出编辑并保存就先点击Esc,然后输入:wq)(:wq!:强制退出并保存,"!grep -n rdkj 1.txt查看1.txt文件内容中rdkj所在的行包括行号。grep -vn rdkj 1.txt查看1.txt文件中不包含rdkj的行。grep -n d$ 1.txt查看1.txt文件内容中以d结尾的行。grep -n k 1.txt查
ls -l:查看目录下所有文件属性.大小等详细信息。ls -a::显示当前目录下所有的文件及目录。ls -R:显示当前目录及子目录下的文件名。ls /:永远查看根目录,不管你当前在哪。ls -ld:查看当前目录的属性信息。ls -l:人性化显示文件大小。cd:切换到root用户家目录。cd -:返回到上一次的目录。pwd --P:真实物理路径。ls:查看当前所在目录。pwd:查看当前路径。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
在x86架构的Ubuntu上,编译出能在ARM架构开发板上运行的程序,这个过程叫交叉编译,对应的工具就是交叉编译工具链。Linux内核是操作系统的核心,负责进程调度、内存管理、硬件驱动、文件系统、网络协议等核心功能。嵌入式开发中需要根据硬件平台裁剪配置内核,生成适配的镜像文件。
fork();getpid();getppid();一堆Linux命令几个系统调用操作系统如何管理正在运行的程序?冯诺依曼体系↓计算机硬件↓操作系统管理硬件↓操作系统管理程序↓描述进程↓↓组织进程↓调度、切换、创建、退出用户↓应用程序↓C/C++库↓系统调用接口↓│ 操作系统内核 │↓ ↓ ↓CPU 内存 外设也就是常见定义:进程是程序的一次执行实例。或者:进程是正在执行的程序。这两个说法都可以帮
本身不是操作系统,相当于操作系统的软件,真正的操作系统有 bug,整体就有 bug。- 模式:实时控制,根据反馈,客户端可以取消请求。- 本身做不到实时性,硬实时需要依赖操作系统。- 模式:客户端发送请求,服务端处理并返回。### 参数(Parameter)- 用途:机器人参数的设置和读取。### 服务(Service)- 模式:一方发布,一方订阅。### 动作(Action)### 话题(Top
题目:如果不检查的返回值是否出错,会发生什么?一句话:不检查,就是把"文件打不开"这个很容易处理的小问题,变成一个难以追查的大问题。从零理解:打开文件要靠操作系统帮忙,而操作系统可能拒绝你,原因很多:同样的树,用 Mermaid 画一遍:fopen 失败的原因文件不存在没有权限路径写错打开文件太多磁盘或系统问题这些情况在实际运行中一定会遇到,所以"文件打不开"不是例外,而是正常情况之一。 本质上是
很多计算机专业学生学习操作系统陷入应试误区,只会背诵定义、刷题计算,却无法理解操作系统的设计本质。本文以学生的学习视角,结合汤小丹《计算机操作系统》、OSTEP、《深入理解计算机系统(CSAPP)》三本经典著作,跳出课本碎片化的模块划分,以分层设计哲学为主线重新梳理 OS 知识体系。文章拆解硬件层、内核层、系统调用层、库函数层、应用层五层架构,阐述分层抽象、资源虚拟化、权限隔离的核心思想,厘清进程
因为我们通常不会把所有相关信息都塞进一张表,而是把不同类型的信息分开存储;当查询需要同时使用这些信息时,就必须把它们“连接”起来。当我们需要查询每个学生的姓名和数据库课程时,我们就需要把Student.学号和Score.学号对应起来,这就是join。那为什么我们不把所有信息都放在一张大表里?这样看起来确实方便,但如果一个学生有很多门课怎么办,例如张三有:数据库 90 操作系统 88 计算机网络 9
版权声明:本文为CSDN博主「sun081010」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/2501_94141818/article/details/166892539。|(管道):将前一个命令的标准输出接入到后一个命令的标准输入。(分号):不管前面的命令有没有成功都会运行下一个命令。&&:第一个运行成
目前学习方案:坚持理论配合实操,知识点动手敲代码;定期复盘,用博客记录踩坑经验;学会查阅文档,遇到问题自主排查。每周投入约10小时学习编程,工作日碎片化练习,周末集中做项目复盘。目标:短期打好C语言基础,熟练使用Git等开发工具;中期学习计网、操作系统,完成小型项目;大家好,这是我的第一篇技术博客。我是一名计算机相关专业新生,主攻信息安全方向。我会持续在这里记录学习心得,欢迎大家交流指正。目前心仪
建议首选Java或Go,深入理解变量、循环、函数、面向对象、异常处理、集合框架。同时必须补计算机基础:操作系统(进程/线程、内存管理、文件系统)、计算机网络(TCP/IP、HTTP/HTTPS、DNS)、数据结构与算法(数组、链表、栈、队列、树、排序、查找)。同时要具备非功能需求的设计能力:高可用(熔断、限流、降级、容灾)、高扩展(水平扩容、无状态设计)、安全性(认证授权、加密、防攻击)、可观测性
大家好,我是一名正在深耕计算机技术的初学者,现在正在从零开始学习编程,主要集中在软件工程领域。在学习过程中,我喜欢将想法转化为可运行的程序的过程。在学习过程中不眼高手低,在学习过程中拒绝直接抄写代码,做到借鉴代码,写出代码。1.扎实掌握C语言,理解如编译链接、内存管理、操作系统等底层原理,能独立写出简单程序。周末:每天安排5小时,重点攻克难题,总结周一至周五的错题,完成自我总结。周一至周五:每天安
🎬 艾莉丝的简介:2.2.2 thread.cpp(线程子类实现)2.2.3 widget.h(主窗口头文件)2.2.4 widget.cpp(主窗口实现)2.3 程序时序流程Widget 构造函数执行,调用,操作系统创建子线程。子线程调度执行,循环执行,每 1 秒发射信号。信号跨线程投递,放入主线程事件队列。主线程事件循环取出事件,执行槽函数,更新 LCD 数字。for 循环执行 10 次结束
在掌握c语言后我会去系统性学习《操作系统》《计算机网络》《组成原理》《数据结构》。之我会去初步开始接触LInux,会掌握Linux的基本命令。同时我还会在GitHub上上传我的一些简单代码。大一结束时我应当掌握c语言,学会计算机四大件并且具备简单的读懂代码能力大二:我会开始学习软件测试理论。开始学习Linux。同时我还会去学习python。学习接口测试 学习ui自动化测试。学会pytest 学习测
前面已经弄清楚了.o、ELF、Section、Segment 和静态链接。./main程序显然不会凭空出现在内存里。操作系统需要先读取 ELF 文件,建立进程的地址空间,把程序需要的内容加载进去。这些动态库也得处理。这一篇主要把这部分串起来。
File类在包下,代表操作系统的文件对象(文件、文件夹)File类提供了诸如:定位文件、获取文件本身的信息、删除文件、创建文件(文件夹)等功能注意:File创建对象,支持绝对路径,也支持相对路径// 创建File对象(指定了文件的路径)// 一般不使用File.separator 但是在一些跨平台Linux Windows都是用的情况下File.separator比较方便System.out.pr
或者说K8s原生中,没有LB这个对象,有的只是LoadBalancer这种Service类型,因此也就没有LB-Service的一对多关系。Ingress Controller的Service一般是前文中提到的LoadBalancer或者NodePort,通过IP(一般LB是公网,NodePort是内网)提供一个4层入口,然后Ingress Controller内部的nginx再解析 Host/P
过去几十年的企业数字化,本质上一直在做一件事:把流程装进系统。财务进 ERP,客户进 CRM,人事进 HR 系统。但无论系统多先进,大多数时候还是人在操作系统。AI 这一轮真正值得关注的,是第一次有可能出现:系统不只是被人操作,而是开始替人完成工作。所以企业下一阶段不该一直问我们还能上什么AI工具,而应该开始问:“公司里还有哪些工作,可以真正交给 AI?当这个问题被认真讨论的时候,AI 才算真正进
看 JDK 源码时,很多核心方法点进去只有一个分号,方法体直接消失了。Java 到底怎么跨语言调用 C/C++,本地方法栈又是如何管理这些调用的?本文用真实链路带你拆解透彻。本地方法栈在日常业务开发中存在感极低,但它却是 JVM 连接真实物理世界的生命通道。从底层的操作系统线程调度、高精度时间戳获取,到堆外物理内存管理,Java 之所以能在提供极致安全开发体验的同时保持强大的底层控制力,全靠本地方
重点:RAM 随机存取断电丢失(DDR 内存);重点:1KB=1024B;重点:HDMI 传音视频、VGA 模拟视频、IEEE1394 火线传视音频。重点:2⁸=256;重点:主频、字长、Cache、MIPS 共同衡量 CPU 性能。重点:CPU=运算器+控制器,分别负责算术逻辑运算与指挥控制。重点:Cache→内存→外存逐级变慢、容量变大;重点:C 编译执行;重点:原型迭代+风险驱动,适合大型复
本文深入浅出地讲解了进程的核心概念,指出“程序 ≠ 进程”,真正进程是“加载到内存的代码数据 + 内核中的 task_struct(PCB)”。重点剖析了 Linux 下描述进程的 task_struct 结构体,涵盖 PID、状态、优先级、程序计数器(PC)等关键属性,揭示操作系统通过管理这些结构体来实现对进程的统一调度与控制,为后续学习进程调度、切换等打下坚实基础。
2027年,脑机接口(BCI)进入消费级前夜,传统操作系统因忽视“注意力”管理而陷入瓶颈。NeuroOS以多模态融合感知(EEG+EOG+EMG+行为)为核心,构建认知状态实时建模、动态调度与数字孪生系统,实现从“任务管理”到“认知管理”的跃迁。通过意念操作、智能代理协同与神经自适应界面,提升个人效率30%以上,降低过劳事故40%,推动数字平权与隐私保护。该系统将重塑人机交互范式,使机器真正“懂人
搞懂了“JVM 屏蔽操作系统差异 + 字节码统一中间表示”的原理后,在实际生产部署和面试回答中,千万不要把“一次编译,到处运行”当成绝对真理。以下三类场景一旦踩中,.jar混用了平台绑定的 JNI 本地方法库(.dll.so.dylib如果项目里引入了依赖底层 C/C++ 动态库的组件(例如早期的 NettyepollNative 传输组件、OpenCV 图像处理库、硬件加密机 SDK),这些.s
Linux本身不是系统(系统由很多东西组成),而是内核(Kernel),可以简单的理解为系统是人则内核是脑。内核是系统的核心程序,负责对于系统软件运行的调度,只有内核可以直接调度硬件。常见的内核种类有NT(windows)、Unix(IBM、HP-US、MAC、IOS)、Linux(安卓、麒麟、suse...)。这几种内核中只有Linux是开源的。简单了解:Linux操作系统=Linux内核+GN
Nmap 不只是简单端口扫描工具,它是信息收集框架。在渗透测试的信息收集阶段,主机存活探测、操作系统指纹、服务版本、漏洞初筛、共享枚举都可以交给 Nmap 完成。端口扫描只是它最基础的能力;真正发挥 Nmap 威力,靠的是-O操作系统识别、-sV版本探测、NSE 脚本引擎。掌握这套进阶用法,在内网资产盘点、渗透打点阶段效率会提升一大截。一句话记住:端口只是入口,Nmap 的价值,在于端口背后的信息
学习漏洞复现,做完靶场不写笔记,不复盘攻击链路。学得多但是没有沉淀,一段时间之后全部忘记。好的习惯:每复现一个漏洞,记录漏洞原理、利用步骤、payload、修复方案,整理成自己笔记。渗透测试不是简单跑工具、执行 POC。它是一套完整的安全思维,需要扎实的计算机基础、协议理解、操作系统知识,同时还要熟悉法律法规。新手最大的敌人不是漏洞难度,而是错误的学习方向。不要盲目跟风入坑,不要幻想速成。打好底层
傅里叶变换的公式多、性质杂,考试和面试最怕临场记混。这篇笔记把傅里叶级数的三角形式与指数形式、傅里叶变换的定义式与逆变换、常见信号的变换对、十五条变换性质、欧拉公式与抽样函数等常用关系式,全部整理成可以直接默写的速记表;再用一张对照表讲清时域与频域在宽度、周期性、离散性上的对偶关系;最后串起本系列八篇的主线,给出各篇考点与最高频问题,以及一套可操作的三遍复习法。
1. 内核:内核是操作系统 最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间,Linux是一种内核2. shell:内核的保护机制,负责对软件请求进行分析处理和屏蔽,同时提供一个和操作者沟通的交互界面3. GUN:一种开源组织,和linux 内核一起组成Linux操作系统4. Linux操作系统:Lin
计算机程序运行时会发生什么?操作系统有什么作用?如何将资源虚拟化?还有并发...
系统调用:普通的应用程序在用户空间运行,总是需要可以和内核空间之间交换数据。一些IO指令都被限制在只有内核模式可以执行,为了操作系统的安全,操作系统有必要提供封装了系统调用的接口函数来尾应用层提供诸如读取磁盘某位置的数据的功能,这些接口被称为系统调用函数,简称系统调用库函数:如果我们把系统调用封装成抽象的功能函数,就可以起到隔离保护的作用。库函数是在函数内部调用该系统的系统调用接口,并封装入库供用
内核(Kernel)内核是操作系统的核心程序,直接管理计算机硬件资源,包括 CPU、内存、硬盘等硬件设备,负责硬件调度、进程管理。它是应用程序和计算机硬件之间的桥梁。我们常说的 Linux 内核由 Linus Torvalds 开发。ShellShell 是命令行解释器,是用户和内核之间的交互接口。接收用户输入的命令,将命令翻译交给内核执行,再把执行结果返回展示给用户。常用的 Shell 程序有
操作系统的核心工作是提供访问硬件的接口(API)。
不要试图用 AI 浏览器去替代所有现有脚本,而是优先识别那些高维护成本、易受 UI 变更影响的痛点场景。将这类任务作为首批迁移对象,验证语义化操作的稳定性优势。其次,
很多人学习网络安全时,会直接从工具使用或漏洞复现开始,但这样很容易陷入 “知其然,不知其所以然” 的困境。网络安全不是孤立的技巧,而是建立在计算机基础、操作系统、网络协议、数据库和编程能力之上的应用技术。只有先打好基础,后续学习渗透测试、防御加固和应急响应时,才能真正理解问题背后的原因。
很多新手入行网络安全,一上来就盯着渗透测试,觉得挖洞很酷,一心只想学攻击,忽略基础。看完整篇文章,大家应该明白,渗透测试不是单纯的工具点击,是一套完整的思维体系,底层依赖网络、操作系统、数据库、编程等基础知识。学习渗透没有捷径,核心就三件事:打好基础、靶场实战、持续复盘。不要追求速成,84 小时只是入门门槛,想要达到求职上岗水平,还需要持续练习、积累漏洞经验,坚持写技术博客沉淀自己。同时也要分清岗