
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
负载均衡(不让 CPU 闲置)、处理机亲和性(复用 CPU 缓存,减少进程跨核心切换),二者存在一定取舍矛盾。公共就绪队列:全局单队列,均衡性好、亲和性差,通过软 / 硬亲和优化缓存命中率;多 CPU 访问需要加锁,存在锁竞争开销。私有就绪队列:每个 CPU 独立队列,天然亲和性好,容易负载失衡,依靠推迁移、拉迁移两种方式实现负载均衡,是当前服务器操作系统主流调度方案。
上一篇我们搞懂了线程的基础定义、核心属性,以及进程和线程的本质区别。很多同学会有疑问:同样是多线程,为什么有的程序开几百个就卡顿耗资源,有的能轻松跑几十万个?为什么有的线程一卡住,整个程序全停,有的却互不影响?答案就藏在线程的,以及用户线程与内核线程的里。今天我们用「政务大厅办事」的生活化类比,把用户级线程、内核级线程,以及三种多线程模型讲透。
进程可以通过系统调用,手动注册自定义的信号回调函数;自定义逻辑会完全覆盖操作系统默认处理行为,收到信号后优先运行开发者编写的处理代码。用户可以自定义信号的处理内容,没有定义是则会使用系统提供的默认处理方式。
在操作系统中,系统内存在多个并发运行的进程,不同进程往往需要协同工作、交换数据,而就是实现进程间数据交互、资源协同的核心机制。主流进程通信方式分为三种:共享存储、消息传递、管道通信。
每次按下电源键,电脑都会偷偷完成一连串精密的 “接力任务”,才能让你顺利刷网页、打游戏。今天咱们就用,把开机的每一步讲明白,看完你就再也不会觉得开机是 “神秘黑盒” 啦~
一个考研党的总结日常
系统调用,是操作系统提供给应用程序(程序员)使用的接口,你可以把它理解成一种特殊的公共子程序调用。应用程序通过系统调用,向操作系统内核请求服务,比如读写文件、创建进程、分配内存等。为什么必须用它?用户程序运行在用户态,没有权限直接操作硬件和系统资源,只能通过系统调用让内核帮忙完成这些高权限操作,既保证了安全,又简化了开发。
操作系统运行机制:处理机双重模式与中断操作系统为什么能管住 CPU?为什么用户程序不能随便搞破坏?这背后全靠处理机的双重工作模式和中断机制撑着。今天咱们就把这两个核心概念拆解得明明白白,看完就能搞懂操作系统是怎么 “掌权” 的~
为在严格时间限制内完成关键任务而设计的操作系统。
并发:两个或多个事件,在同一时间间隔内发生。单核 CPU的多程序执行。比如你一边写代码一边聊微信,CPU 其实是在 “写代码指令” 和 “微信消息处理指令” 之间快速切换,微观上是交替执行的,只是切换速度快到你感觉是同时进行的。并行:两个或多个事件,在同一时刻同时发生。多核 CPU的多进程执行。比如你用 4 核电脑同时开 4 个游戏,每个核心都在跑一个游戏进程,这才是真正的 “同时干活”。







