Operating System
The realization of OS‘s algorithm and OS‘s learning notes.
柃歌
夏天的海边有冰淇淋口味的海风
展开
-
操作系统简答题复习
1. 进程的三种主要状态是什么?它们之间是如何转换的?就绪态、运行态、阻塞态。(1)就绪态→运行态:处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成运行状态;(2)运行态→就绪态:处于运行状态的进程在其运行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从运行状态转变成就绪状态;(3)运行态→阻塞态:正在运行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态;(4)阻塞态→就绪态:处于阻塞状态的进程,若其等待的事件已经发生,则进程由阻塞原创 2021-12-02 13:56:43 · 985 阅读 · 0 评论 -
模拟实现页面置换算法(OPT、FIFO、LRU)C++代码
一、C++代码实现#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <unordered_set>#include <ctime>using namespace std;typedef pair<int, int> PII;const int N = 1010;//执行序列最大长度const原创 2021-11-13 11:31:40 · 3093 阅读 · 0 评论 -
首次适应算法模拟内存分配与回收C++代码
一、C++代码实现#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <vector>using namespace std;const int MAX_PAGE = 512;//最大页面长度const int MAX_PARTITION = 10;//最大分区数量class VirtualMemory{pri原创 2021-11-13 11:26:59 · 2215 阅读 · 1 评论 -
银行家算法Python代码实现(多线程)
# -*- coding: UTF-8 -*-from copy import deepcopyimport threadingimport timeimport random工作组 = []线程组 = []资源 = {"A":5,"B":4,"C":3}等候队列 = []运行队列 = []资源访问 = threading.Semaphore(1)等候队列访问 = threading.Semaphore(1)运行队列访问 = threading.Semaphore(1)输出 = t原创 2021-10-15 15:34:39 · 464 阅读 · 0 评论 -
银行家算法C++代码实现
#include <iostream>#include <cstring>using namespace std;const int MAX_PROCESS = 10;//最大进程数const int MAX_SOURCE = 50;//最大每种资源数const int MAX_TYPE = 5;//最大资源类型数class Banker{private : int available[MAX_TYPE];//可用资源向量 int maxx[MAX_PROCE原创 2021-10-16 09:56:42 · 449 阅读 · 1 评论 -
SJF短作业优先(非抢占式)算法C++代码实现
#include <iostream>#include <algorithm>#include <deque>using namespace std;const int MAX_PROCESS = 20;//进程最大数量int processnum;//进程数量bool isArrived[MAX_PROCESS];//标记是否到达struct Process{ int hour, minute;//到达时间(8:00) int arrive,原创 2021-10-16 11:26:38 · 1561 阅读 · 0 评论