资源简介
一个操作系统原型系统的实现
(实现操作系统的3个主要功能:进程管理、内存(存储)管理、文件管理)
代码片段和文件信息
#define HAVE_STRUCT_TIMESPEC
#include
#include
#include
#include
#include
#include
#include
#include “memory.h“
#include “file_system.h“
#include “memory_buddy.h“
sem_t block_sum file_sum pro_sumone pro_sumtwo block_sumtwo;
#pragma warning(disable: 4996)
#pragma comment(lib “pthreadVC2.lib“)
int pid;
int r_time;
int priority;
int lock = 1;
int flag = 0;
int process_choice = 0;
#define block 0 //阻塞
#define ready 1 //就绪
#define running 2 //运行
#define finish 3 //完成
#define time_slice_1 100
#define time_slice_2 500
int input_lock = 0;
int Pid_count = 0;
int memory_choice; //选择内存的参数
int memory_pid[3]; //连接内存的参数
clock_t Current_time start_time end_time;
FILE* fp;
//进程结构的定义,以及链表指针的定义
struct process {
int Pid;
int Time;
int state;
int Priority;
int memory_needs;
int memory_state = 0; //判断内存是否足够
int device1; //所需设备
int device2;
int device3;
int device4;
struct FileCB *FCB;
struct node *memory;
struct process* next;
struct process* pre;
};
process *R_first = NULL *R_last = NULL *R_current = NULL *R_temp = NULL;
process *B_first = NULL *B_last = NULL *B_current = NULL *B_temp = NULL;
process *RR1_first = NULL *RR1_last = NULL;
process *RR2_first = NULL *RR2_last = NULL;
process *RR3_first = NULL *RR3_last = NULL *RR_temp;
process *file_first = NULL *file_last = NULL;
process *file_temp = NULL;
FileCB *file *F_temp;
void Clear_queue1()
{
RR1_first = R_first;
RR1_last = R_last;
R_first = NULL;
R_last = NULL;
}
void Clear_queue2()
{
R_temp = RR1_first;
while (R_temp != NULL)
{
if (R_first = NULL)
{
R_first = R_temp;
R_last = R_temp;
R_temp->next = NULL;
R_temp->pre = NULL;
}
else
{
R_temp->pre = R_last;
R_temp->next = NULL;
R_last->next = R_temp;
R_last = R_temp;
}
}
R_temp = RR2_first;
while (R_temp != NULL)
{
if (R_first = NULL)
{
R_first = R_temp;
R_last = R_temp;
R_temp->next = NULL;
R_temp->pre = NULL;
}
else
{
R_temp->pre = R_last;
R_temp->next = NULL;
R_last->next = R_temp;
R_last = R_temp;
}
}
R_temp = RR3_first;
while (R_temp != NULL)
{
if (R_first = NULL)
{
R_first = R_temp;
R_last = R_temp;
R_temp->next = NULL;
R_temp->pre = NULL;
}
else
{
R_temp->pre = R_last;
R_temp->next = NULL;
R_last->next = R_temp;
R_last = R_temp;
}
}
RR1_first = NULL;
RR1_last = NULL;
RR2_first = NULL;
RR2_last = NULL;
RR3_first = NULL;
RR3_last = NULL;
}
//设备
struct device {
int number;
};
device device_one device_two device_three device_four;
//初始化函数
void init_devices()
{
device_one.number = 1;
device_two.number = 2;
device_three.number = 3;
device_four.number = 4;
sem_init(&block_sum 0 1);
sem_init(&file_sum 0 1);
sem_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-15 18:40 os\
目录 0 2018-05-15 17:44 os\.vs\
目录 0 2018-05-15 17:44 os\.vs\os\
目录 0 2018-05-15 19:28 os\.vs\os\v15\
文件 40448 2018-05-15 19:28 os\.vs\os\v15\.suo
文件 34275328 2018-05-15 19:28 os\.vs\os\v15\Browse.VC.db
目录 0 2018-05-15 17:46 os\.vs\os\v15\ipch\
目录 0 2018-05-15 19:26 os\.vs\os\v15\ipch\AutoPCH\
目录 0 2018-05-15 19:26 os\.vs\os\v15\ipch\AutoPCH\714071ffc632f29e\
文件 44433408 2018-05-15 19:26 os\.vs\os\v15\ipch\AutoPCH\714071ffc632f29e\源.ipch
目录 0 2018-05-15 18:07 os\Debug\
文件 101376 2018-05-15 18:58 os\Debug\os.exe
文件 611172 2018-05-15 18:58 os\Debug\os.ilk
文件 1003520 2018-05-15 18:58 os\Debug\os.pdb
目录 0 2018-05-15 19:28 os\os\
目录 0 2018-05-15 18:58 os\os\Debug\
文件 3839 2018-05-15 18:58 os\os\Debug\os.log
目录 0 2018-05-15 18:58 os\os\Debug\os.tlog\
文件 770 2018-05-15 18:58 os\os\Debug\os.tlog\CL.command.1.tlog
文件 28204 2018-05-15 18:58 os\os\Debug\os.tlog\CL.read.1.tlog
文件 456 2018-05-15 18:58 os\os\Debug\os.tlog\CL.write.1.tlog
文件 1014 2018-05-15 18:58 os\os\Debug\os.tlog\li
文件 3664 2018-05-15 18:58 os\os\Debug\os.tlog\li
文件 344 2018-05-15 18:58 os\os\Debug\os.tlog\li
文件 203 2018-05-15 18:58 os\os\Debug\os.tlog\os.lastbuildstate
文件 265216 2018-05-15 18:58 os\os\Debug\vc141.idb
文件 159744 2018-05-15 18:58 os\os\Debug\vc141.pdb
文件 180322 2018-05-15 18:58 os\os\Debug\源.obj
文件 163 2018-05-15 19:11 os\os\FCBba
文件 24244 2018-05-15 18:58 os\os\file_system.h
文件 8843 2018-05-15 19:20 os\os\fun.txt
............此处省略10个文件信息
相关资源
- tcp ip sockets编程 c语言实现 第2版 中文
- 单片机C语言编程与(PDF高清版)
- 数据结构(C语言)严蔚敏第三版(
- 课件 数据结构C语言版朱昌杰 肖建于
- c语言实现的,基于深搜和广搜,有界
- linuxc.pdf
- 二级C语言复习资料打包
- C语言深度解剖(第2版)159294
- 嵌入式系统高级C语言编程.凌明(带详
- 数据文件随机加密和解密
- SoAndChan心电图ECG的R波侦测算法的C语言
- C语言编程思想
- 明解C语言pdf高清版
- C语言程序设计第3版,何钦铭,颜晖主
- C语言解析教程 原书第4版 C by Dissect
- C语言程序设计谭浩强版最全配套)
- C语言解析精粹第二版pdf()
- 纯C语言——电子相册
- C语言四大圣经
- 数据结构与算法分析:C语言描述(原
- 猴博士课件C语言、大学物理电磁学、
- C程序设计语言第二版,中英文版 习题
- 徐士良C常用算法程序集第二版
- DSP2812的C语言例程及开发板相关资料
- 最新研究生入学考试复习资料谭浩强
- picc8.05编译器+注册机完全版+PIC C语言
- [MPI与OpenMP并行程序设计:C语言版].(
- 测试驱动嵌入式C语言开发中英文合集
- 零基础学TMS320F281x DSP C语言开发.pdf
- 啊哈c语言.pdf
评论
共有 条评论