东北大学操作系统实验报告 下载本文

计算机科学与工程学院

实验成绩 实

验报告

实验课程名称 专业 学号 计算机科学与技术 20154377 操作系统实验 班级 姓名 1507班 罗艺博 实验项目目录 指导教师签字 实验报告批改时间 1. 实验一 熟悉Linux系统 2. 实验二 进程状态 3. 实验三 进程同步和通信 4. 实验四 进程的管道通信 5. 实验五 页面置换算法 实验报告正文 实验一 熟悉Linux系统 一、 实验目的 熟悉和掌握Linux系统基本命令,熟悉Linux编程环境,为以后的实验打下基础。 二、 实验原理 基于linux系统的基础操作 三、 实验内容(源码、注释、基础内容、扩展点等) 启动、退出、ls(显示目录内容)、cp(文件或目录的复制)、mv(文件、目录更名或移动)、rm(删除文件或目录)、mkdir(创建目录)、rmdir(删除空目录)、cd(改变工作目录)… C语言编辑、编译 四、 ls mkdir: cd: rmdir: 实验二 进程状态 一、 实验目的 实验结果(截图) 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。 二、 实验原理 1. 2. 进程在内存中存在三种基本状态:就绪态、执行态、阻塞态 三种状态在满足某种条件时会发生转换: ①就绪——》运行:调度程序选择一个新的进程运行 ②运行——》就绪:运行进程用完了时间片 运行进程被中断,因为一高优先级进程处于就绪状态 ③运行——》阻塞:当一进程等待某一事件的发生时,如 请求系统服务; 初始化I/O 且必须等待结果; 无新工作可做; 等待某一进程提供输入 (IPC) ④阻塞——》就绪:当所等待的事件发生时 三、 实验内容(源码、注释、基础内容、扩展点等) #include #include #include #include //for %using namespace std; class Pro //process class { public: char name; string status; }; vector ru,re,bl; //ru->running,re->ready,bl->blocked //function declaration int helloUI(); int iniQ(); int showPCB(); int ruTOre(); int ruTObl(); int blTOre(); int neTOre(); int ruTOex(); int helloUI() //start UI { cout << \ cout << \ cout << endl; cout << endl; return 0; } int iniQ() //initialize the process { int i; cout << \ cout << endl; for(i=0; i<5; i++) //15 process a to o { Pro process; char nam;