探秘操作系统引导过程
引导过程指的是从计算机通电那一瞬间到CPU开始执行操作系统代码时的整个过程。在这个非常初期的阶段汇总,CPU执行标准的启动代码。这部分代码需要对硬件设备进行探测,寻找最有可能启动的操作系统并且根据用户定义的参数启动这个操作系统。
引导过程指的是从计算机通电那一瞬间到CPU开始执行操作系统代码时的整个过程。在这个非常初期的阶段汇总,CPU执行标准的启动代码。这部分代码需要对硬件设备进行探测,寻找最有可能启动的操作系统并且根据用户定义的参数启动这个操作系统。
服务器操作系统的安全加固是确保系统稳定性和数据安全的关键。本文汇总了几项常用的安全加固措施,从更新系统补丁到配置防火墙,帮助你全面提升服务器的防护能力。如果你负责服务器运维,不妨参考这份详细的加固指南!
本文总结了一次关于头像图片访问异常的排查过程。用户反馈在某些网络环境下无法查看特定域名的头像图片,经过分析发现问题是由于网络环境对该域名的连接进行了阻断,可能是被误认为广告域名。通过替换域名解决了问题。文章还讨论了SNI(服务器名称指示)在HTTPS连接中的作用及其在拦截请求中的应用。
为什么需要HTTPS?HTTP缺点: 1. 明文传输; 2.C/S两端不存在验证机制,无法确认对方身份,可能存在中间人攻击。
聊聊那些在工作中常见的“信息不对称”。虽然这个名词几乎每个人都听到过,但实际上我觉得还是可以按照“人员,角色,岗位”三个维度拆分成 5 种不同的信息不对称区别。
阅读本文章前请确认对X86下的分页机制有最基本的了解,否则将难以理解本文中提到的内容。本文介绍的内容均位X86架构下的PAE技术,而不是ARM架构下的LPAE技术,虽然两者从本质来说是一样的。
软件项目中,实现同一功能的源代码只保留一份是一项十分重要的最佳实践,这种做法可以带来许多显而易见的好处。
FreeBSD 是一个有相当长历史的项目,而 zlib 是一个很常用的库,并且当时在整个系统中有多处不同的副本,因此我们希望这个迁移的过程尽可能平滑而尽量不要直接导致整个项目无法联编,或是需要长时间禁用某些模块的情况。
用好中间件是每一个开发人员的基本功,一个专业的开发人员,追求的不仅是中间件的日常使用,还要探究这背后的设计初衷和底层逻辑,进而保证我们的系统运行更加稳定,让开发工作更加高效。结合这一主题,本文从一次线上告警问题出发,通过第一时间定位问题的根本原因,进而引出Google Dapper与MTrace(美团内部自研)这类分布式链路追踪系统的设计思想和实现途径,再回到问题本质深入@Async的源码分析底层的异步逻辑和实现特点,并给出MTrace跨线程传递失效的原因和解决方案,最后梳理目前主流的分布式跟踪系统的现状,并结合开发人员日常使用中间件的场景提出一些思考和总结。
Ventoy 是一个自由开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。
你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO。
你甚至可以创建子文件夹,例如 Linux ISO、Windows ISO,并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目,并将它们添加到启动菜单中。
一旦你创建完多重引导的 U 盘,使用它启动你的系统,选择你想加载的 ISO,马上就可以使用它。就是如此简单!
某T路由器固件的解压逻辑即将解压逻辑写入linux内核中,在内核系统启动过程中,会将要更新的文件系统解压出来,解压过程有自修改后的文件系统头和xxx_crc32_le等函数校验过程,所以想要直接使用binwalk之类的工具提取固件中的文件系统会失败,要想解压出文件系统需要绕过crc校验函数或者对xz工具中的crc32_fast.c中lzma_crc32函数进行修改。
Systrace (Perfetto) 工具的基本使用如果还不是很熟悉,那么需要优先去补一下上面列出的 Systrace 基础知识系列,本文假设你已经熟悉 Systrace(Perfetto)的使用了