操作系统
孙靖俊
这个作者很懒,什么都没留下…
展开
-
聊聊IO多路复用之select、poll、epoll详解
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:1.当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用。2.当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。3.如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。4.如果一个服务器即要处理TCP,又要...转载 2019-12-03 09:34:09 · 172 阅读 · 0 评论 -
银行家算法(Java实现)
银行家算法是避免死锁的一种重要方法,采取的思路是预分配,尝试将资源分配给对应进程,然后判断新状态下是否状态安全,如果安全状态,则判断一下该对应进程是否满足执行的全部资源,如果满足,就回收掉该进程的资源,如果不满足则不作处理。如果是不安全状态,则进行状态的回退。程序模块图程序代码Bank类:import java.util.*;/** * */public class B...原创 2020-01-06 17:51:00 · 3572 阅读 · 2 评论 -
进程通信
进程作为资源的分配单位,他们之间是如何进行通信的?在前面的章节中,我们讲到了互斥和同步,通过信号量的方式来进行实现,这其实就是一种低级通信,这篇文章主要来讲解一下高级通信。进程通信指的是进程间数据的交换,进程通信主要有三种方式,分别是共享存储器系统,管道通信系统,消息传递系统消息传递系统消息传递系统可以分为直接消息传递和间接消息传递直接消息传递基本思想:根据生产者消费者的原理,利...原创 2019-11-13 14:00:49 · 246 阅读 · 0 评论 -
操作系统中的信号量及应用
为了更好的解决同步和互斥的问题,操作系统中引入了信号量机制,通过软件的办法来解决同步和互斥的问题,信号量被引入后,不止应用于同步和互斥,还有前驱图,生产者消费者模型,读者写者模型,这篇文章就讲解一下信号量和信号量的五个应用。信号量利用软件实现,就需要引入信号量的概念,信号量时对资源可用情况的抽象,是一个结构体typedef struct{ int value; *pcb L;} s...原创 2019-10-22 18:13:09 · 4374 阅读 · 1 评论 -
操作系统——进程同步
进程是资源分配和处理机调度的独立单位,如果多个进程并发执行,不可再现性将难以保证,这就是进程同步的问题:使并发执行的进程可以有效地共享资源和相互合作。临界资源与临界区临界资源:一次仅允许一个进程访问的资源临界区:访问临界资源的代码块,不允许多个并发进程交叉执行的一段程序 &...原创 2019-10-13 11:55:08 · 566 阅读 · 0 评论 -
操作系统的分类与发展
什么是操作系统(OS)?操作系统是控制和管理计算机的软硬件资源,合理组织计算机的工作流程,提高资源利用率的程序集合。是系统软件。下面就详细介绍一下操作系统的发展历程人工操作阶段 在刚诞生计算机的阶段,还没有出现操作系统,对计算机的操作都是人来完成,操作方式是:程序员将事先已穿孔的纸带装入纸带输入机,再启动它们将纸带上的程...原创 2019-09-12 22:18:31 · 752 阅读 · 0 评论 -
进程的引入 & 进程状态讲解 & PCB
在上一章节已经讲过了在单道系统的时代,内存中只有一个程序,这样的系统效率是不高的,所以需要在内存中同时运行多个程序, 同时运行多个程序有什么问题吗?顺序和并发先来看一下顺序程序的特征:顺序性:顺序性是指内存中只有一个程序,资源的利用率是很低的封闭性:程序独占系统的资源可再现性:相同的环境下由于只有一个程序独占资源,所以多次相同的输入会有相同的输出对比顺序程序,多道中的多个程序运行有...原创 2019-09-17 17:37:27 · 1616 阅读 · 0 评论