首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
操作系统
订阅
大绵羊
更多收藏集
微信扫码分享
微信
新浪微博
QQ
32篇文章 · 0订阅
LiteOS内核源码分析:动态内存之Bestfit分配算法
本文分享自华为云社区《LiteOS内核源码分析系列十三 动态内存Bestfit分配算法》,原文作者:zhushy 。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、
【Deprecated】CPU 缓存 & 缓存一致性 & 伪共享
在这篇文章里,我将总结CPU 缓存 & 缓存一致性 & 伪共享 等问题。如果能帮上忙,请务必点赞加关注,这真的对我非常重要。 1. CPU 三级缓存 方案: 增加一个缓存层来协调两者的速度差,即:在 CPU 和内存中间增加一层 「高速缓存」,缓存的存取速度尽…
框架篇:小白也能秒懂的Linux零拷贝原理
大白话解释,零拷贝就是没有把数据从一个存储区域拷贝到另一个存储区域。但是没有数据的复制,怎么可能实现数据的传输呢?其实我们在java NIO、netty、kafka遇到的零拷贝,并不是不复制数据,而是减少不必要的数据拷贝次数,从而提升代码性能 进程发起read请求,内核先检查内…
Java NIO--(1)高并发IO的底层原理及4种主要IO模型
大家知道,用户程序进行IO读写,依赖于操作系统底层的IO读写,基本上会用到底层的read&write两大系统调用。 上层应用无论是调用操作系统的read,还是调用操作系统的write,都会涉及缓冲区。具体来说,调用操作系统的read,是把数据从内核缓冲区复制到进程缓冲…
真香!Linux 原来是这么管理内存的
Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的。 每个 Linux 进程都会有地址空间,这些地址空间由三个段区域组成:text 段、…
一个小小的 Shell 管道符,内部实现可真不简单!
管道命令我们经常使用,将一个指令的输出导入另一个指令的输入,也就是屁股对上嘴,这个原理连编程小学生都知道。但是如果要深入问进去,一个指令的输出是如何导入到另一个指令的输入,管道又起到什么角色,估计能回答这个问题的人不足 1%。下面我们来深入分析一下管道指令的实现原理,对于下面的…
操作系统知识回顾(3)--进程的同步与通信
1. 进程间同步 为避免竞争条件,操作系统需要利用同步机制在并发执行时,保证对临界区的互斥访问。进程同步的解决方案主要有:信号量和管程。 信号量机制(semaphore)是一种协调共享资源访问的方法。信号量由一个变量 semaphore 和两个原子操作组成,信号量只能通过 P …
Linux之《荒岛余生》(五)网络篇
你想通过执行ping google.com来判断网络连通性么?我想你这是在侮辱方教授。本篇是《荒岛余生》系列第五篇,网络篇,但不会教你fq。其余参见: 看着kali linux上百个网络命令,我陷入了沉思。专业的网络命令实在是太多了,如果要罗列,上千个也是有的。个人不是渗透测试…
Linux 进程间通信之System V 信号量
System V 信号量不是用来在进程间传输数据的。相反,它们用来同步进程的动作。信号量的一个常见用途是同步一块共享内存的访问以防止一个进程在访问共享内存的同时另一个进程更新这块内存的情况。 一个信号量是一个由内核维护的整数,其值被限制为大于或等于0。在一个信号量上可以执行各种…
linux内核设计与实现
一. linux内核简介 1. linux简介 2. 操作系统和内核简介 不能链接标准c函数库。c库太大了,会影响大小和效率。不过大部分常用的c函数在内核中都有实现 栈空间很小且固定。32为机器为8kb,64为16kb 二. 进程管理 1. 基本概念 unix系统的两大抽象对象…