logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

同步与互斥(2)--临界区互斥的基本方法

所有纯软件互斥算法里,Peterson 算法是唯一合规双进程软件解法,但无法避免忙等;硬件指令依靠原子性杜绝并发漏洞,是现代操作系统锁机制底层基础,但 TSL/Swap/ 关中断全部做不到让权等待;想要同时满足四大互斥原则全部达标,必须引入信号量机制(后续文章会讲解),从内核层面实现阻塞等待,彻底消除忙等。

#操作系统
进程与线程--CPU调度(4)--多处理机调度

负载均衡(不让 CPU 闲置)、处理机亲和性(复用 CPU 缓存,减少进程跨核心切换),二者存在一定取舍矛盾。公共就绪队列:全局单队列,均衡性好、亲和性差,通过软 / 硬亲和优化缓存命中率;多 CPU 访问需要加锁,存在锁竞争开销。私有就绪队列:每个 CPU 独立队列,天然亲和性好,容易负载失衡,依靠推迁移、拉迁移两种方式实现负载均衡,是当前服务器操作系统主流调度方案。

#操作系统
进程与线程--线程(2)--实现方式与多线程模型

上一篇我们搞懂了线程的基础定义、核心属性,以及进程和线程的本质区别。很多同学会有疑问:同样是多线程,为什么有的程序开几百个就卡顿耗资源,有的能轻松跑几十万个?为什么有的线程一卡住,整个程序全停,有的却互不影响?答案就藏在线程的,以及用户线程与内核线程的里。今天我们用「政务大厅办事」的生活化类比,把用户级线程、内核级线程,以及三种多线程模型讲透。

#操作系统
进程与线程--进程(4)--信号通信(2)

进程可以通过系统调用,手动注册自定义的信号回调函数;自定义逻辑会完全覆盖操作系统默认处理行为,收到信号后优先运行开发者编写的处理代码。用户可以自定义信号的处理内容,没有定义是则会使用系统提供的默认处理方式。

#操作系统
进程与线程--进程(4)--进程通信1

在操作系统中,系统内存在多个并发运行的进程,不同进程往往需要协同工作、交换数据,而就是实现进程间数据交互、资源协同的核心机制。主流进程通信方式分为三种:共享存储、消息传递、管道通信。

#操作系统
概述(6)--操作系统引导(开机过程)

每次按下电源键,电脑都会偷偷完成一连串精密的 “接力任务”,才能让你顺利刷网页、打游戏。今天咱们就用,把开机的每一步讲明白,看完你就再也不会觉得开机是 “神秘黑盒” 啦~

#操作系统
概述--操作系统运行机制(2)--系统调用

系统调用,是操作系统提供给应用程序(程序员)使用的接口,你可以把它理解成一种特殊的公共子程序调用。应用程序通过系统调用,向操作系统内核请求服务,比如读写文件、创建进程、分配内存等。为什么必须用它?用户程序运行在用户态,没有权限直接操作硬件和系统资源,只能通过系统调用让内核帮忙完成这些高权限操作,既保证了安全,又简化了开发。

#linux#服务器#运维
操作系统概述(4)--操作系统运行机制(1):处理机双重模式与中断

操作系统运行机制:处理机双重模式与中断操作系统为什么能管住 CPU?为什么用户程序不能随便搞破坏?这背后全靠处理机的双重工作模式和中断机制撑着。今天咱们就把这两个核心概念拆解得明明白白,看完就能搞懂操作系统是怎么 “掌权” 的~

#操作系统
操作系统概述(3)--发展

为在严格时间限制内完成关键任务而设计的操作系统。

#操作系统
    共 12 条
  • 1
  • 2
  • 请选择