操作系统
I_am_overflow
这个作者很懒,什么都没留下…
展开
-
银行家算法 C++描述
银行家算法 C++描述实现代码main.cpp#include "BankerAlgorithm.h"int main() { int n, m; scanf("%d%d", &n, &m); vector<vector<int> > max(n, vector<int>(m)); vector<vector<int> > allocation(n, vector<int>(m)原创 2021-04-30 20:42:55 · 393 阅读 · 0 评论 -
操作系统——文件系统基础
操作系统——文件系统基础文件概念文件文件(File)是以计算机硬盘为载体的存储在计算机上的信息集合,可以是文本文档、图片、程序等,系统运行时,计算机以进程为基本单位进行资源的调度和分配,而用户在进行的输入、输出中,则以文本为基本单位数据项数据项是文件系统中最低级的数据组织形式,分为两种基本数据项数据中可命名的最小逻辑数据单元,即原子数据组合数据项由多个基本数据组成记录记录是一组相关的数据项的集合,用于描述一个对象在某方面的属性文件文件是指创建者所定义的一组相关信息的集合,原创 2020-05-23 22:41:49 · 515 阅读 · 0 评论 -
操作系统——虚拟内存管理
操作系统——虚拟内存管理虚拟内存传统存储管理方式传统管理方式特征传统存储管理方式具有一次性和驻留性的特点,一次性指的是作业必须一次性装入内存后才可以开始运行,驻留性指的是作业被装入内存后,就一直驻留在内存中,其任何一部分都不会被换出,直至作业运行结束问题程序通常具有异常错误条件的代码,而这些错误很少发生,所以这些代码几乎从不执行数组、链表等所分配的内存量通常多于实际需要值程序的某些选项和功能很少使用当作业很大而不能全部被装入内存时,该作业无法运行大量作业要求运行时,由于内存不足以容原创 2020-05-23 16:57:56 · 742 阅读 · 0 评论 -
操作系统——进程调度
操作系统——进程调度进程调度概念多道程序的目标是时钟允许某个进程运行以最大化PCU利用率,当一个进程等待时,操作系统应该从该进程接管CPU控制,并将CPU交给另一进程,这样的方式不断重复,当一个进程需要等待时,操作系统将会调度另一个进程来使用CPU,进程调度是操作系统的基本功能,CPU是最重要的计算机资源之一,故CPU调度是操作系统设计的重要组成部分调度方式非剥夺调度方式又称为非抢占的(nonpreemptive)或协作的(cooperative)方式,指的是当一个进程正在使用CPU时,即使有更为原创 2020-05-20 22:47:48 · 865 阅读 · 0 评论 -
Linux系统多线程读写锁
Linux系统读写锁实现代码/*author : eclipseemail : [email protected] : Sat May 9 16:57:24 CST 2020*/#include<bits/stdc++.h>#include<unistd.h>#include<pthread.h>using namespace std;pthread_rwlock_t rwlock;const int READER_NUM = 5;原创 2020-05-09 17:53:36 · 320 阅读 · 0 评论 -
Linux系统信号量实现生产者-消费者问题
Linux系统信号量实现生产者-消费者问题实现代码#include<bits/stdc++.h>#include<unistd.h>#include<pthread.h>#include<semaphore.h>using namespace std;const int BUFFER_SIZE = 1024;const int WA...原创 2020-05-08 09:56:15 · 3661 阅读 · 2 评论 -
操作系统——银行家算法
操作系统——银行家算法概念银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。算法思路背景将操作系统视为银行家,操作系统管理的资源视为银行家管理的资金,进程向操作系统申请资源视为客户向银行家贷款,客户...原创 2020-04-26 22:12:01 · 828 阅读 · 2 评论