操作系统
文章平均质量分 93
极客熊猫GeekPanda
这个作者很懒,什么都没留下…
展开
-
进程调度
更多文章分享在个人微信公众号:极客熊猫欢迎扫码关注:调度的概念首先,在《进程与线程基础》一文中,我们已经了解到:进程是资源分配的基本单位;线程是CPU调度的基本单位。一个单核CPU在某一时刻只能允许一个线程执行,但是现在的计算机总是有一大堆进/线程等待执行。这就需要某种规则来决定处理这些进/线程的顺序,这就是调度要研究的问题。回忆之前提到的进程状态:运行态:当前正在占有CPU的进/线程;就绪态:具备运行条件,等待系统分配CPU的进/线程;阻塞态:不具备运行条件,正在等待某外部事原创 2021-05-13 11:17:00 · 5894 阅读 · 0 评论 -
可能是全网最全的线程同步方式总结了
更多文章分享在个人微信公众号:极客熊猫欢迎扫码关注:引言由于每个进程有自己独立的虚拟地址空间,为了打破进程与进程之间的“柏林墙”而实现通信,多进程更多的是考虑进程之间如何通信的问题;而同一进程内的多个线程共享同一地址空间,为了避免多个线程同时访问数据造成的混乱,多线程之间更多的是考虑线程之间的同步问题。所谓同步,即协同步调,按预定的先后次序访问共享资源,以免造成混乱。线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内原创 2021-05-12 15:51:11 · 1375 阅读 · 0 评论 -
进程间通信
引言进程间通信即InterProcess Communication,简称IPC。其目的是实现不同进程之间的通信问题。进程间通信方式可以归纳为以下几类:管道:PIPE、FIFO;系统IPC:消息队列、共享存储;信号(Signal)套接字:socket。管道PIPEPIPE是UNIX系统最古老的IPC方式,也叫未命名管道,PIPE有以下两种局限性:PIPE是半双工的,即数据只能在一个方向上流动。PIPE只能在具有公共祖先的两个进程之间使用。通常,一个进程创建一个管道,然后进程调用f原创 2021-05-12 15:45:31 · 215 阅读 · 1 评论 -
进程与线程基础
引言从今天开始,会陆续开更系列文章《一起学操作系统》,在这里说一下整个系列的写作思路。操作系统的功能有两个:提供抽象管理资源对于提供抽象这个功能,我总结为:操作系统提供了三个抽象CPU 抽象为 进程;物理内存 抽象为 虚拟地址空间;IO设备(包括磁盘) 抽象为 文件系统。对于管理资源这个功能,操作系统的任务是在相互竞争的程序间有序地控制对资源的分配,这里,我关注一点,即:死锁。资源就是随着时间的推移,必须能获得、使用以及释放的任何东西。可以是硬件,也可以是一组信息(如数据原创 2021-05-12 15:38:35 · 110 阅读 · 0 评论