操作系统的命令接口设计

操作系统的命令接口设计
操作系统的命令接口设计

课程设计说明书设计名称:计算机操作系统课程设计

题目:操作系统命令接口设计

学生姓名:张协鎏

专业:计算机科学与技术

班级: 13计算机科学与技术2班

学号:2013314209

指导教师:任朝晖、曾凡智、黄营、周燕

日期:2015年 9 月 20 日

计算机科学与技术专业 2013 年级 2 班张协鎏

一、设计题目

操作系统命令接口设计

二、目的和要求

(1)本设计的目的是通过设计一些简单的操作系统的命令接口,使学生掌握操作系统接口的设计方法。

(2)要求学生在熟悉操作系统的命令接口及程序接口的基础上,利用C语言设计简单的命令接口。命令接口基于DOS的命令行接口。

三、设计内容

利用C语言、DOS中断中21H与屏幕显示相关的中断调用完成设计,具体包括:

1.命令解释器

2.列目录命令

3.显示时间命令

4.显示日期命令

5.回显字符串命令

6.创建目录命令

7.删除目录命令

8.更改路径命令

9.显示当前工作目录命令

10.删除文件命令

11.打印文本命令

12.文件重新命名

13.显示文本命令

14.显示版本命令

15.显示目录结构命令

16.清除当前显示内容命令

上述内容中,所有命令通过命令解释器能够执行,即启动命令解释器以后,输入相应命令,按照输入指令执行相应功能,并在屏幕上显示相应结果。

四、进度安排

依照教学计划,课程设计时间为:2周。

1.要求讲解、资料查找、系统分析,概要设计(2天)

2.系统详细设计、功能设计(2天)

3.算法实现、编程调试(5天)

4.功能演示、资料整理、课程设计说明书编写。(1天)

五、完成后应上交的资料

课程设计的总结报告,主要包括以下内容:

1.课程设计的题目、系统的总功能和各子模块的功能;

2.源程序代码;

3.课程设计中遇到的主要问题和解决方法;

4.设计中存在的不足及改进的设想;

5.本次课程设计的感想和心得体会。

六、总评成绩

指导教师签名日期年月日

系主任审核日期年月日

操作系统命令接口设计

一、概念原理

中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执

行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU 暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。

中断是一种发生了一个外部的事件时调用相应的处理程序的过程,通常,程序中断是由外部设备通过CPU的中断请求线向CPU提出的。在一定条件下,CPU响应中断后,暂停源程序的执行,转至为外设服务的中断处理程序。中断处理程序可以按照所要完成的任务编写与过程类似的程序段。在程序段最后执行一条中断返回指令返回主程序,继续按原顺序执行。

操作系统命令接口:通过在用户和操作系统之间提供高级通信来控制程序运行,用户通过输入设备发出一系列命令告诉操作系统执行所需功能,它包括了键盘操作命令和作业控制命令,称为作业一级的用户接口。命令接口的两种最普遍和主要的方式是直接命令方式(命令行)和间接命令方式(命令文件)。

二、程序设计实现过程

程序通过选择开关switch...case将用dos,bios调用编写的函数组合起来供用户做出选择。在对应处理用户的选择编写的函数中,主要的核心是dos功能中断调用函数的编写,其中包括中断类型号,中断功能调用号等的设置,以及响应用户选择后中断服务程序的编写。

1、程序主要函数

void menu():用户功能选择菜单;

void time():显示时间功能,输出当前电脑设置时间,能精确到毫秒;

void day():显示日期功能,输出当前电脑设置日期,输出格式为2015.9.20,week:0;

void dos():显示电脑DOS版本号功能,输出DOS版本号,格式为5.0.16.0.0;

void DeleteFile(char filename[80]):删除文件功能,调用DOS中断21H的41H的删除文件命令;

void Createfile(char filename[80]):创建目录功能,调用DOS中断21H的39H的创建目录命令;

void Deletefile(char filename[80]):删除目录功能,调用DOS中断21H的3AH的删除目录命令;

void file(char filename1[80],char filename2[80]):文件重新命名功能,调用DOS中断21H 的56H的文件改名命名命令;

void showlist():显示当前工作目录功能,调用DOS中断21H的47H的显示当前工作目录命令;

void rewords():键盘输入字符并回显字符功能,调用DOS中断21H的09回显字符串的命令;

clrscr():清除当前显示内容功能。

2、程序调试运行结果分析

开始运行功能选择界面

输入功能号1显示当前系统时间,

输入功能号2输出当前系统日期,

输入功能号3输出当前系统DOS版本,

输入功能号5创建目录,

工作目录成功创建文件夹FILE

输入功能号7文件改名,改名为NEWFILE,

工作目录成功改名NEWFILE,

输入功能号6删除NEWFILE文件夹成功,

运行调试结果满足实验要求,退出程序,完成设计内容。

三、程序设计总结体会

通过连续两个星期的上机编程,我体会了从事C语言课程设计工作需要特别谨慎认真地态度和作风,一点都不能马虎。每个细微的细节都必须十分注意,如果不认真思考,就会出现或大或小的错误。如果把早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会推倒很多前面做的工作。有时候,我自己觉得我写的程序非常正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙才向老师同学请教。

在开始编写程序的时候,我还不清楚DOS中断的知识,刚开始就在上网百度学习有关程序接口和中断调用相关知识,慢慢的开始知道怎么去调用DOS21H的功能号。回顾此次课程设计,至今我仍然很多感想,的确,自从拿到题目到完成整个编程,从理论到实践,这些日子里,可以学到很多很多的东西,同时不仅可以巩固以前所学的知识,而且学到了很多在书本上所没学到的知识,通过在这次课程设计使我懂得了理论知识与实践动手能力组合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

通过一段时间的课程设计,我明白了程序一定要要亲手做过,不管它是否有结果。你要学的是知识,是解决问题的方法和思想,要端正学习态度,一时的成败不足以论英雄,每一次突破都是一种收获,就是在这样的过程中我们才能不断提高。在从开始接到课程设计,再到报告的完成,每走一步都渗透着努力和汗水。在收获知识的同时收获快乐。

对给过我帮助的所有同学和各位指导老师再次表示衷心的感谢!

四、源代码<在Turbo C 3.0环境>

#include

#include

#include

#include

#include

#define INTER 0x21

void menu()

{

printf("0.Exit\n1.Display currrent time\n2.Display currrent day\n");

printf("3.Display currrent Mos-dos\n4.Deletefile\n5.Createcontents\n");

printf("6.Deletecontents\n7.Filename\n8.Display currrent list\n");

printf("9.Echo string\n10.ReadingFile\n11.Clear screen\n");

}

void time()

{

union REGS inregs,outregs;//定义中断信息结构体

struct SREGS segregs;

inregs.h.ah=0x2C;

int86x(INTER,&inregs,&outregs,&segregs);

printf("Now the time is:%d:%d,%d:%d\n",outregs.h.ch,outregs.h.cl,outregs.h.dh,outregs.h.dl);

getchar();

}

void day()

{

union REGS inregs,outregs;//定义中断信息结构体

struct SREGS segregs;

inregs.h.ah=0x2a;

int86x(INTER,&inregs,&outregs,&segregs);

printf("Now the day is:%d,%d,%d,Week:%d\n",outregs.x.cx,outregs.h.dh,outregs.h.dl,outregs.h.al);

getchar();

}

void dos()

{

union REGS inregs,outregs;//定义中断信息结构体

struct SREGS segregs;

inregs.h.ah=0x30;

int86x(INTER,&inregs,&outregs,&segregs);

printf("The DOS version of this machine is:%d,%d,%d,%d:%d\n",outregs.h.al,outregs.h.ah,outregs.h.bh,outregs.h.ah,outregs.x.cx);

getchar();

}

void DeleteFile(char filename[80])

{

union REGS inregs,outregs;

struct SREGS segregs;

inregs.h.ah=0x41;//DOS中断号41是删除文件

inregs.x.dx=FP_OFF(filename);

segregs.ds=FP_SEG(filename);

int86x(INTER,&inregs,&outregs,&segregs);

if(02==outregs.x.ax)//02表示文件未找到

{

printf("\nFILE %s is not exist!\n",filename);

}

printf("\nThe File: %s has been delete successfully\n",filename); }

void Createfile(char filename[80])

{

union REGS inregs,outregs;

struct SREGS segregs;

inregs.h.ah=0x39;

inregs.x.dx=FP_OFF(filename);

segregs.ds=FP_SEG(filename);

int86x(INTER,&inregs,&outregs,&segregs);

if(02==outregs.x.ax)//02表示文件为找到

{

printf("\nFILE %s is not exist!\n",filename);

}

printf("success!\n");

}

void Deletefile(char filename[80])

{

union REGS inregs,outregs;

struct SREGS segregs;

inregs.h.ah=0x3A;

inregs.x.dx=FP_OFF(filename);

segregs.ds=FP_SEG(filename);

int86x(INTER,&inregs,&outregs,&segregs);

if(02==outregs.x.ax)//02表示文件为找到

{

printf("\nFILE %s is not exist!\n",filename);

}

printf("success!\n");

}

void file(char filename1[80],char filename2[80])

{

union REGS inregs,outregs;

struct SREGS segregs;

inregs.h.ah=0x56;//DOS中断号56是重命名文件

inregs.x.dx=FP_OFF(filename1);

segregs.ds=FP_SEG(filename1);

inregs.x.di=FP_OFF(filename2);

segregs.es=FP_SEG(filename2);

int86x(INTER,&inregs,&outregs,&segregs);

if(outregs.x.ax==02)

{

printf("\nFILE %s is not exist!\n",filename1);

}

printf("success!\n");

}

void showlist()

{

char list[80];

union REGS reg;

struct SREGS segreg;

reg.h.ah = 0x47;

reg.h.dl = 0;

reg.x.si = FP_OFF(list);

segreg.ds = FP_SEG(list);

intdosx(®, ®, &segreg);

printf("The current working directory is:%s\n", list); }

void rewords()

{

union REGS reg,reg1;

struct SREGS sreg;

char word[200];

for(int i=0;i<200;i++)

word[i]='$';

scanf("%s",&word);

reg1.x.dx = FP_OFF(word);

sreg.ds = FP_SEG(word);

reg1.h.ah=0x09;

int86x(INTER,®1,®1,&sreg);

printf("\n");

}

void ReadFromFile(char filename[80])

{

union REGS inregs,outregs;

struct SREGS segregs;

int result;

char ReadContents[20];

inregs.h.ah=0x3D;

inregs.x.dx=FP_OFF(filename);

segregs.ds=FP_SEG(filename);

inregs.h.al=2;

intdosx(&inregs,&outregs,&segregs);

result = outregs.x.ax;

if(2==result)

{

printf("\nCan not read contents from file: %s ! The file may not exist\n",filename);

}

else

{

inregs.x.bx=result;

inregs.h.ah=0x3F;

inregs.x.dx=FP_OFF(ReadContents);

segregs.ds=FP_SEG(ReadContents);

inregs.x.cx=20;

intdosx(&inregs,&outregs,&segregs);

printf("%s file byte number: %d\n",filename,outregs.x.ax);

printf("%s contents is:",filename);

for(int i=0;i

{

printf("%c",ReadContents[i]);

}

printf("\n");

}

}

int main()

{

char DeleteFileName[80];

char ReadingFileName[80];

char file1[80],file2[80];

int a;

do

{

menu();

scanf("%d",&a);

switch(a)

{

case 1:

time();

break;

case 2:

day();

break;

case 3:

dos();

break;

case 4:

printf("\nInput the name of existing file to delete: ");

scanf("%s",&DeleteFileName);

DeleteFile(DeleteFileName);

break;

case 5:

printf("\nInput createfile: ");

scanf("%s",&DeleteFileName);

Createfile(DeleteFileName);

break;

case 6:

printf("\nInput deletefile: ");

scanf("%s",&DeleteFileName);

Deletefile(DeleteFileName);

break;

case 7:

printf("name:");

scanf("%s",&file1);

printf("new name:");

scanf("%s",&file2);

file(file1,file2);

break;

case 8:

showlist();

break;

case 9:

rewords();

break;

case 10:

printf("\nInput the name of existing file to ReadingFileName: ");

scanf("%s",&DeleteFileName);

ReadFromFile(ReadingFileName);

break;

case 11:

clrscr();

break;

default:

break;

}

}

while(a!=0);

return 0;

}

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

第七章-操作系统的用户接口

第七章操作系统的用户接口 概述 ?OS是计算机的资源管理器和用户接口; ?OS的用户接口负责接收用户向OS提出的服务请求,传递有关信息,并将服务的结果返回给用户; ?OS用户接口有两类:联机用户接口(有命令行界面和图形界面两种形式),程序接口(主要是系统调用)。 另外,在Internet中还有一种网络用户接口。 第一节联机命令接口 一、什么是联机命令接口 ?是用户从键盘上输入的OS命令。通过输入键盘命令,用户可以取得OS 的服务,控制自己的程序执行; ?OS的联机命令接口包括:一组联机命令、命令解释程序(命令解释器)和终端处理程序; ?联机命令接口的工作过程: (1) 用户在终端上(通过键盘)输入所需命令; (2) 终端处理程序接收该命令,并在屏幕上显示(回显)命令; (3) 一条命令输入完毕,由命令解释程序对命令进行分析,然后执行对应的命令处理程序,完成任务。 二、联机命令 1、为了能向用户提供多方面的服务,通常,OS都向用户提供了几十条甚至上百条的联机命令。这批命令分为内部命令和外部命令两类。

另外,用户建立的每个可执行程序也是一条联机命令(外部命令)。 根据这些命令所完成功能的不同,可把它们分成以下几类:①系统访问类;②磁盘操作类;③文件操作类;④目录操作类;⑤通信类;⑥其他命令。 2、各类命令举例 ?系统访问类: Login;用户注册命令 ?磁盘操作命令: Diskcopy;整盘复制命令 Format;磁盘格式化命令 Diskcomp;软盘比较命令 Backup,Restore;硬盘备份与恢复命令 ?文件操作命令: Type;文件内容显示命令 Copy;文件复制命令 Comp;文件比较命令 Rename;文件重命名命令 Erase,Dele;文件删除命令 关于文件名中的*和?的意义。 ?目录操作命令: Mkdir,Md;建立一个子目录 Dir;显示目录表的内容

应用系统设计与开发

南昌航空大学实验报告 二0一二年六月五日 课程名称:数据库原理实验名称:数据库应用系统设计与开发 班级:10202225 姓名:仇鑫同组人: 指导教师评定:签名: 一、实验环境 1.Windows2000或以上版本; 2.SQLServer2000或2005。 二、实验目的 掌握数据库设计的基本方法;了解C/S与B/S结构应用系统的特点与适用场合;了解C/S与B/S结构应用系统的不同开发环境与开发设计方法;综合运用前面实验掌握的数据库知识和技术开发小型数据库应用系统。 三、实验步骤及参考源代码 题目:企业人事管理系统 1、开发环境与开发工具 系统开发环境为局域网或广域网网络环境,网络中有一台服务器上安装了SQL Server2005,本子系统采用Java语言设计实现,使用jdk1.6及Eclipse SDK V ersion 3.3.2为开发工具,服务器操作系统为Window7。 2、系统需求分析 企业可以通过人事管理系统实现对企业人员信息及相关信息的管理,简化的企业人事管理系统具有如下功能。 系统的维护管理:包括用户的添加、删除,密码修改、权限设置等。 人事信息管理:包括企业人员基本信息的查询、添加、修改、删除等。 人事变动管理:包括企业新进员工登记、离职员工登记、变更记录等。

考勤加班出差管理:包括企业人员考勤加班出差信息的查询、添加、修改、删除等。 考核奖惩管理:包括企业人员考核奖惩信息的查询、添加、修改、删除等。 员工培训管理:包括员工培训计划的查询、添加、修改、删除等。 部门信息管理:包括部门查询、添加、修改、删除等。 3、功能需求分析 (1)系统功能的描述 企业人事管理系统按如上所设置,管理功能是比较简单的,主要实现对企业人员、部门的变动、考勤加班出差、考核奖惩、培训等的管理,具体管理功能有添加、修改、删除、查询、统计等。系统功能布局见系统功能模块图。 (2)系统功能模块图 “信息管理”模块中的每一个功能管理项都包括查看、添加、修改、删除等功能。

(完整版)操作系统毕业课程设计说明书-基于Linux的模拟文件系统的设计与实现

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:徐春花学号: 设计题目:基于Linux的模拟文件系统的设计与实现 起迄日 期: 2014年6月14日- 2014年6月26日指导教薛海丽

师: 2014 年 6月 26 日 前言 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS2

等商品化操作系统来说是无法做到的。 Linux具有:稳定、可靠、安全的优点,并且有强大的网络功能。其中有对读、 写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。在相关软 件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器 使用,利用IPCHAINSIPTABLE网络治理工具可构建NAT及功能全面的防火墙。 Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系 统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑 器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形 用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系 统进行操作。 目录 1需求分析 (3) 1.1 功能介绍 (3) 1.2 目的及意义 (5) 1.2.1 目的 (5) 1.2.2 意义 (6) 1.3 设计成果 (7) 2总体设计 (8) 2.1功能介绍 (8) 2.2模块关联 (9) 3详细设计 (12)

操作系统第二章习题答案

第2章操作系统用户界面 Page 36 2.1 什么是作业?什么是作业步? 答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。作业由不同的顺序相连的作业步组成。 作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。 2.2 作业由哪几部分组成?各有什么功能? 答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。 2.3 作业的输入方式有哪几种?各有什么特点? 答:作业的输入方式有5种: (1)联机输入方式:用户和系统通过交互式会话来输入作业。

(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储 器连接到高速外围设备上和主机相连,从而在较短的时 间内完成作业的输入工作。 (3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱 机输入中那种依靠人工干预来传递后援存储器的过程。(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA 器件和主机与外存连接起来。作业的输入输出过程由主 机中的操作系统控制。 (5)网络输入方式:网络输入方式以上述几种输入方式为基础。当用户需要把在计算机网络中某一台主机上输入的 信息传送到同一网中另一台主机上进行操作或执行时, 就构成了网络输入方式 2.4 试述 SPOOLING 系统的工作原理。 答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程, 负责把缓冲区的信息送到外存输入井中。

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统命令接口设计

贵州工程应用技术学院操作系统课程设计 题目: 操作系统命令接口设计 学号: 姓名: 学院: 专业班级: 指导教师: 完成时间:2016年4月14日 信息工程学院计算机系制

操作系统命令接口设计 一、实验目的 通过设计一些简单的操作系统的命令接口,使学生掌握操作系统接口的设计方法。在熟悉操作系统的命令接口及程序接口的基础上,利用C语言设计简单的命令接口。命令接口基于DOS的命令行接口 二、实验功能 利用C语言、DOS中断中21H与屏幕显示相关的中断调用完成设计,如下: ●命令解释器 ●列目录命令 ●显示时间命令 ●显示日期命令 ●回显字符串命令 ●创建目录命令 ●删除目录命令 ●更改路径命令 ●显示当前工作目录命令 ●删除文件命令 ●打印文本命令 ●文件重新命名 ●显示文本命令 ●显示版本命令 ●显示目录结构命令 ●清除当前显示内容命令 三、实验流程图

四、函数功能模块: 函数1:显示系统当前的时间 函数:void _TIME(void) 函数2:显示系统当前的日期 函数:void _DATA(void) 函数3:在当前目录下创建一个新的目录 函数:void _CTREAT(void) 函数4:删除当前目录中的一个目录 函数:void _DELDIR(void) 函数5:更改当前目录的路径 函数:void _ROUTE_C(void) 函数6:显示当前的目录 函数:void _DIR(void) 函数7:删除当前目录中的文件 函数:void _DELETE(void) 函数8:打印目录中的文本 函数:void _PRINT(void) 函数9:给当前目录中的文件重新命名

操作系统简单文件系统设计及实现

简单文件系统的设计及实现 一、实验目的: 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二、实验内容: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作 4、算法与框图 ?因系统小,文件目录的检索使用了简单的线性搜索。 ?文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ?程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD); 打开文件目录( AFD)(即运行文件目录) 文件系统算法的流程图如下

三、工具/准备工作: 在开始本实验之前,请回顾教科书的相关内容。并做以下准备: 1) 一台运行Windows 2000 Professional或Windows 2000 Server的操作系统的计算机。 2) 计算机中需安装Visual C++ 6.0专业版或企业版 四、实验要求: (1)按照学校关于实验报告格式的要求,编写实验报告(含流程图); (2)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

操作系统课程设计指导书

操作系统课程设计 指导书

操作系统课程设计指导书 李晓东编 电子与信息工程学院计算机系 -9

一、课程设计的目的和意义 本课程设计是学生在学完了《操作系统》课程后,培养学生程序设计能力的一个重要教学环节。课程设计为学生提供了一个动手、动脑并独立实践的机会,有助于学生将教材的理论知识和实践相结合,从而锻炼学生分析问题、解决问题的能力,提高学生实际编写程序的能力,为学生学习计算机专业的后续课程打下良好基础。 本课程设计要求对操作系统的分析以加深对计算机硬件结构和系统软件的认识,初步掌握操作系统组成模块和应用接口的使用方法,提高进行工程设计和系统分析的能力,为毕业设计和以后的工程实践打下良好的基础。 本课程设计的主要目的: 1.熟悉并巩固《操作系统》的基本概念和基本理论,加强对操作系统有关原理的理解; 2.培养学生自主学习、独立思考的能力,学会查找资料并善于分析资料的能力; 3.培养学生严谨的工作作风,提倡互相学习培养团队精神; 4.提高学生独立设计、独立调试程序的能力; 5.初步养成良好的系统软件分析和设计能力,形成良好的编程风格。 二、本课程设计有关要求

基本要求: 1、巩固和加深对操作系统原理的理解,提高综合运用本课程 所学知识的能力。 2、培养学生选用参考书,查阅手册及文献资料的能力。培养 独立思考、深入研究、分析问题、解决问题以及团队协作能力。 3、经过实际操作系统的分析设计、编程调试,掌握系统软件 的分析方法和工程设计方法。 4、能够按要求编写课程设计报告书,能正确阐述设计和实验 结果、正确绘制系统和程序框图。 5、经过课程设计,培养学生严谨的科学态度,严肃认真的工 作作风,和团队协作精神。 具体要求: 1.认真阅读本课程设计指导书,明确课程设计的目的、意义和要求; 2.根据要求完成课程设计的系统开发和调试任务,提供可运行的课程设计系统,参加上机面试答辩。 3.根据学校有关格式要求,完成本课程设计的课程设计说明书。(必须绘制系统工作原理图及算法流程图) 重点: 本设计的重点是要求根据任务要求,确定操作系统有关算法并加以实现,注重实际应用能力的培养。

操作系统实验5-命令行接口实验

实验五 命令行接口实验 一:实验目的 了解命令行接口的使用 二:实验内容 用C语言编写一个模拟的命令解释程序。要求自己设计一个OS命令接口,包含若干条命令,然后编写一个命令解释程序,要求对用户输入的字符串进行分析 ,命令得出结果输出到文本文件。 譬如输入dir ,显示出当前目录下所有的目录和文件。 提示调用system()函数,来实现命令解释。 三:实验类别 命令行接口实验 四:实验类型 模拟实验 五:主要仪器 计算机 六:结果与问题总结 1.对老师的题目要求理解有点模糊,编写的程序比较简单,不知道写得对不对........ 2.对字符与字符串的使用有点混淆 运行结果 查找成功的: 查找不成功的:

七:程序 #include #include #include void system(char n[10])//查找函数 { if(strcmp(n,"login")==0||strcmp(n,"passward")==0||strcmp(n,"format")==0 ||strcmp(n,"diskcopy")==0||strcmp(n,"diskcomp")==0||strcmp(n,"backup")==0||strcmp(n ,"restore")==0 ||strcmp(n,"type")==0||strcmp(n,"copy")==0||strcmp(n,"comp")==0||strcmp(n,"rename") ==0||strcmp(n,"erase")==0 ||strcmp(n,"mkdir")==0||strcmp(n,"dir")==0||strcmp(n,"rmdir")==0||strcmp(n,"tree")==0| |strcmp(n,"chdir")==0) { printf("在本系统中可以查找到您所输入的命令!!\n");//可以查找到 printf("您所输入命令的意思是:\n");//输出命令的含义 if(strcmp(n,"login")==0) { printf("用户键入自己的注册名\n"); } else if(strcmp(n,"passward")==0) { printf("用户键入自己的口令\n");

操作系统原理与实践教程(第二版)第2章习题答案

第2章操作系统的界面 (1) 请说明系统生成和系统引导的过程。 解: 系统的生成过程:当裸机启动后,会运行一个特殊的程序来自动进行系统的生成(安装),生成系统之前需要先对硬件平台状况进行检查,或者从指定文件处读取硬件系统的配置信息,以便根据硬件选择合适的操作系统模块组,比较重要的信息通常有:CPU类型、内存大小、当前关联设备的类型和数量以及操作系统的重要功能选项和参数。按照这些信息的指示,系统生成程序就可以正确地生成所需的操作系统。 系统引导的过程:系统引导指的是将操作系统内核装入内存并启动系统的过程。主要包括初始引导、内核初始化、全系统初始化。初始引导工作由BIOS完成,主要完成上电自检,初始化基本输入输出设备,载入操作系统内核代码等工作。内核被载入内存后,引导程序将CPU控制权交给内核,内核将首先完成初始化功能,包括对硬件、电路逻辑等的初始化,以及对内核数据结构的初始化,如页表(段表)等。全系统初始化阶段要做的就是启动用户接口程序,对系统进行必要的初始化,使系统处于等待命令输入状态。 (2) 操作系统具有哪些接口?这些接口的作用是什么? 解: 操作系统为用户提供的接口有图形接口、命令接口和程序接口几种形式。 操作系统包括三种类型的用户接口:命令接口(具体又可分为联机命令接口与脱机命令接口)、程序接口及图形化用户接口。其中,命令接口和图形化用户接口支持用户直接通过终端来使用计算机系统,而程序接口则提供给用户在编制程序时使用。 (3) 请说明操作系统具有的共性服务有哪些不同类别,这些类别分别用于完成什么功能? 解:所有的操作系统都通过一些基本服务来帮助用户简单便捷地使用计算机各类资源,它们包括以下几个类别: 1.控制程序运行:系统通过服务将用户程序装入内存并运行该程序,并且要控制程序 在规定时间内结束。 2.进行I/O操作:用户是不能直接控制设备的,只能通过操作系统与外部设备进行交 互,由系统调用将结果显示在屏幕上或交给用户。 3.操作文件系统:为了保证实现“按名存取”,文件系统应该为用户提供根据文件名 来创建、访问、修改、删除文件的方法,以确保文件数据的安全可靠以及正确存取。 4.实现通信:操作系统需要提供多个程序之间进行通讯的机制,来控制程序的执行顺 序。 5.错误处理:操作系统通过错误处理机制,以便及时发现错误并采取正确的处理步骤, 避免损害系统的正确性和统一性。 (4) 系统调用的用途是什么? 解: 通常,在操作系统内核设置有一组用于实现各种系统功能的子程序(过程),并将它们提供给用户程序调用。每当用户在程序中需要操作系统提供某种服务时,便可利用一条系统调用命令,去调用所需的系统过程。这即所谓的系统调用。系统调用的主要类型包括: 1.进程控制类,主要用于进程的创建和终止、对子进程结束的等待、进程映像的替换、 进程数据段大小的改变以及关于进程标识符或指定进程属性的获得等; 2.文件操纵类,主要用于文件的创建、打开、关闭、读/写及文件读写指针的移动和

操作系统习题与答案

一、操作系统概论 (A)1、操作系统负责为用户程序完成()的工作。 A、应用无关和硬件相关 B、应用无关和硬件无关 C、应用相关和硬件相关 D、应用相关和硬件无关 (C )2、操作系统是对()进行管理的软件。 A、硬件 B、软件 C、计算机资源 D、应用程序 (C )3、用户通过()来调用操作系统。 A、跳转指令 B、子程序调用指令 C、系统调用指令 D、以上3种方始都可 (A)4、所谓()是指将一个以上的作业放到主存,这些作业共享计算机资源,且同时处于运行开始与运行结束之间。 A、多道 B、批处理 C、分时 D、实时 (B )5、以下下()不是分时系统的特征。 A、交互性 B、同时性 C、及时性 D、同时性 (D )6、计算机操作系统的功能是()。 A、把源代码转换成目标代码 B、提供硬件与软件之间的转换 C、提供各种中断处理程序 D、管理计算机资源并提供用户接口 ( A)7操作系统的特征是()共享、虚拟以及异步 A、并发 B、多道 C、中断 D、实时 (B )8、处理器将操作系统程序执行的状态与用户程序执行状态称为? A 屏蔽中断状态和开放中断状态 B 用户态与核心态 C 关闭状态与开放状态 ( D )9、下列什么不是OS关心的主要问题 A、管理计算机裸机 B、设计用户程序与计算机硬件系统的界面 C、管理计算机系统资源 D、高级程序设计语言的编译器 ()10、允许多个用户交互方式使用计算机的OS称为(B );允许多个用户将作业计算机集中处理的计算机称为(A);计算机系统及时处理过程控制数据并作出响应的OS称为(D )。 A、批处理OS B、分时OS C、多处理器OS D、实时OS E、网络OS ()11、linux的设计模式属于(A),windows的设计模式属于(BCD)。 A 单核设计模式 B 微核设计模式 C 面向对象的设计模式 D、C/S模式 1、操作系统提供(命令接口)和(程序接 口)两种用户接口。 2、负责解释操作系统命令的程序叫(命令解释程序)。Linux的这个程序叫 (Shell )。 3、系统调用是通过(中断)来实现的。当发生系统调用,处理器的状态会从 (用户)态变为(系统)态。 4、输出重定向的符号是( > )。 5、后台执行命令是指(执行命令的进程在低优先级上运行)。 二.进程管理

操作系统的命令接口设计说明

课程设计说明书 设计名称:计算机操作系统课程设计 题目:操作系统命令接口设计 学生姓名:张协鎏 专业:计算机科学与技术 班级:13计算机科学与技术2班 学号:2013314209 指导教师:任朝晖、曾凡智、黄营、周燕

日期:2015年9 月20 日 计算机科学与技术专业2013 年级 2 班张协鎏 一、设计题目 操作系统命令接口设计 二、目的和要求 (1)本设计的目的是通过设计一些简单的操作系统的命令接口,使学生掌握操作系统接口的设计方法。 (2)要求学生在熟悉操作系统的命令接口及程序接口的基础上,利用C语言设计简单的命令接口。命令接口基于DOS的命令行接口。 三、设计内容 利用C语言、DOS中断中21H与屏幕显示相关的中断调用完成设计,具体包括: 1.命令解释器 2.列目录命令 3.显示时间命令

4.显示日期命令 5.回显字符串命令 6.创建目录命令 7.删除目录命令 8.更改路径命令 9.显示当前工作目录命令 10.删除文件命令 11.打印文本命令 12.文件重新命名 13.显示文本命令 14.显示版本命令 15.显示目录结构命令 16.清除当前显示内容命令 上述内容中,所有命令通过命令解释器能够执行,即启动命令解释器以后,输入相应命令,按照输入指令执行相应功能,并在屏幕上显示相应结果。 四、进度安排 依照教学计划,课程设计时间为:2周。 1.要求讲解、资料查找、系统分析,概要设计(2天) 2.系统详细设计、功能设计(2天) 3.算法实现、编程调试(5天)

4.功能演示、资料整理、课程设计说明书编写。(1天) 五、完成后应上交的资料 课程设计的总结报告,主要包括以下内容: 1.课程设计的题目、系统的总功能和各子模块的功能; 2.源程序代码; 3.课程设计中遇到的主要问题和解决方法; 4.设计中存在的不足及改进的设想; 5.本次课程设计的感想和心得体会。 六、总评成绩 指导教师签名日期年月日 系主任审核日期年月日

软件系统设计与实现毕业设计

软件系统设计与实现毕业设计 目录 1简介.................................................. 错误!未定义书签。 1.1背景与意义 (1) 1.2研究内容与思路 (1) 2现有迷宫算法简述 (3) 2.1迷宫的数字模型表征 (3) 2.2迷宫问题的搜寻准则 (4) 2.3迷宫问题的搜寻策略 (5) 3硬件系统分析 (6) 3.1实验平台与设计工具 (6) 3.2硬件控制模块分析 (6) 3.3电机选择与分析 (7) 3.3.1电机比较 (8) 3.3.2电机选择 (8) 3.4传感器模块分析 (9) 3.5测试赛道 (10) 4软件系统设计与实现 (12) 4.1路径决策功能的实现 (12) 4.1.1迷宫探测算法 (13) 4.1.2路径决策功能程序及分析 (14) 4.2驱动控制功能的实现 (17) 5验证结果与改进方案 (31) 5.1实验验证结果 (31) 5.2改进方向与研究方案 (32) 5.2.1迷宫墙壁信息的记录 (32) 5.2.2迷宫路口信息的记录 (33) 6结论 (33) 6.1结论 (33) 附录 (35)

1简介 1.1 背景与意义 电脑鼠(Micro-Mouse)是指采用嵌入式微处理器、传感器、机械电子运动部件为一体的微型智能移动机器人[1],可实现探测、分析、行走等基本功能控制,且集合传感、机械移动等设计功用[2]。国际电气和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛,而对应的赛事要求、设计成果等内容业已成为参与电脑鼠研究的关注点[3]。目前电脑鼠迷宫竞赛就参与程度、设计水平、发展程度而言,主要集中在美国、日本、英国、新加坡等,例如APEC(美国)、ALL JAPAN MICROMOUSE CONTEST (日本)、Singapore Inter-School Micromouse Competition(新加坡)、Euromouse maze contest(英国)[4]。我国于2007年开始举办“IEEE 标准电脑鼠走迷宫”邀请赛,而比赛发展至今,比赛规模和参赛质量上均取得了显著的进步[5]。 目前电脑鼠迷宫边塞规定,电脑鼠在按下启动键后将自行选取搜寻法则,并且在迷宫行进过程中实现前行、转弯、往返、记忆迷宫墙壁资料、计算最优路径、探测障碍物、寻找目标终点等功能内容[6]。 1.2 研究内容与思路 本文以“IEEE 标准电脑鼠走迷宫”竞赛规则为研究背景,选取电脑鼠MicromouseV3.2作为研究对象和实验工具,以STM32F103R8T6增强型系列微控制器[8]作为电脑鼠主控制器,具体依据课题设计要求分别完成规定部分,包括三个独立部分:(1)往返运动:电脑鼠从起始点A处出发,运行到挡板B处,并原路返回至起始点A处,如图1.1所示。 图1.1“往返运动”示意图 (2)连续转弯:电脑鼠从A点出发,先后经B,C,D点之后,到达A处;之后掉头原路返回,如图1.2所示。

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

计算机操作系统习题及答案(1)

第1章绪论 1)选择题 (1)在计算机系统中,操作系统是__ B _。 A. 一般应用软件 B. 核心系统软件 C. 用户应用软件 D. 硬件 (2)实时操作系统必须在_ B _内处理来自外部的事件。 A. 一个机器周期 B. 被控制对象规定时间 C. 周转时间 D. 时间片 (3)操作系统提供给编程人员的接口是__C___。 A. 库函数 B. 高级语言 C. 系统调用 D. 子程序 (4)操作系统中最基本的两个特征是__ B___。 A. 并发和不确定 B. 并发和共享 C. 共享和虚拟 D. 虚拟和不确定 (5)下述关于并发性的叙述中正确的是_C____。 A. 并发性是指若干事件在同一时刻发生 B. 并发性是指若干事件在不同时刻发生 C. 并发性是指若干事件在同一时间间隔内发生 D. 并发性是指若干事件在不同时间间隔内发生 (6)一个多道批处理系统,提高了计算机系统的资源利用率,同时__B___。 A. 减少各个作业的执行时间 B. 增加了单位时间内作业的吞吐量 C. 减少了部分作业的执行时间 D. 减少单位时间内作业的吞吐量 (7)分时系统追求的目标是_ B___。 A. 充分利用I/O设备 B. 快速响应用户 C. 提供系统吞吐率 D. 充分利用内存 (8)批处理系统的主要缺点是__D___。 A. 系统吞吐量小 B. CPU利用率不高 C. 资源利用率低 D. 无交互能力 (9)从用户的观点看,操作系统是_A_。 A. 用户与计算机之间的接口 B. 控制和管理计算机资源的软件 C. 由若干层次的程序按一定的结构组成的有机体 D. 合理地组织计算机工作流程的软件 (10)所谓__B__是指将一个以上的作业放入内存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等资源。

计算机软件的设计与实现

龙源期刊网 https://www.360docs.net/doc/ca16440972.html, 计算机软件的设计与实现 作者:刘亦 来源:《电子技术与软件工程》2015年第23期 摘要随着我国经济的发展,人们生活水平得到显著提高,计算机的发展已经得到人们的 普遍关注,给人们的生活与工作带来了各种便利。因为计算机涉及的领域非常广,知识面也很复杂,所以计算机软件的开发需要随着时代趋势发展。目前,我国不同种类的计算机软件相继推出,为计算机软件产业的发展做出了巨大贡献。本文主要从几个方面来介绍计算机软件设计的现状,以及计算机软件的设计与实现的原则和方法。 【关键词】计算机软件设计规划 随着我国科技水平的不断进步,特别是我们现在处于信息时代,计算机软件的快速发展,既提高了软件的运行水平,也满足了人们对软件设计的各种需求,所以,人们对计算机软件设计越来越关注。 1 计算机软件的设计现状 1.1 计算机软件的组成 计算机软件技术主要是在计算机中对软件进行应用的一项技术。这项技术在研发过程中需要掌握两点,一个是如何对相应的支撑体系进行优化,另一个是用相对应的方法进行开发研究。计算机软件系统在运营过程中形成了模型体系,这种模型体系主要分为应用软件、支撑软件与系统软件。 1.2 计算机软件的规划 计算机软件的发展速度越来越快,每个国家对计算机软件的设计都有不同程度的关注,并相继出台一系列相关政策鼓励计算机软件的开发。在计算机软件开发上,很多国家还是比较关注计算机软件的开发方法,我国在软件开发上,更是将信息产业放在了及其重要的位置,对计算机软件的设计进行大力的研发。 1.3 计算机软件的研发现状 计算机系统软件不是单一的系统软件,它有很多不同的种类,下面我们来具体分析一下不同种类的软件系统的现状。 1.3.1 操作系统的研发现状

操作系统课程设计题目

操作系统课程设计 一、课程设计题目 实现一个模拟操作系统。 二、课程设计的目的 通过模拟操作系统原理的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 三、小组人数 建议3~4人一组共同完成模拟系统的实现。 四、编程语言 建议使用VC、VB、C#、Java等Windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。 五、课程设计内容 模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 六、课程设计具体要求和内容 1.文件管理和用户接口 文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括文件的逻辑结构、物理结构、目录、磁盘分配回收、文件的保护和用户接口的实现。 ⑴文件的逻辑结构 文件的逻辑结构采用流式结构; 文件的内容均采用文本文件; 系统中有两种文件,一种是存放任意字符的文件,一种是可执行文件。可执行文件的内容就是模拟系统内进程的程序体。 文件中要有一种特定命令的“可执行”文件,该文件中的命令有: x=?; 给x赋值一位数 x++; x加1 x--; x减1 !??;第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成); end. 表示文件结束,同时将结果写入文件out,其中包括文件路径名和x的值。 ⑵磁盘模拟 用一个文件disk1模拟磁盘c,用一个文件disk2模拟磁盘d。两个磁盘一样大小,磁盘的每个盘块64字节,模拟磁盘共有128块。第0、1块存放文件分配表,第2块存放根目录,其余存放子目录和文件。 ⑶目录结构 目录结构采用树型目录结构。 ①目录项内容(8个字节): 目录名、文件名:3个字节; 扩展名:2个字节(可执行文件扩展名为ex,目录没有扩展名); 目录、文件属性:1字节(1位标识是文件还是目录,1位标识只读还是非只读,1位是隐藏属性,标识显示还是不显示); 起始盘块号:1个字节; 文件长度:1字节(目录没有长度)。

操作系统设计与实现 上册 (Andrew S.Tanenbaum 著) 电子工业出版社

课后答案网 您最真诚的朋友 https://www.360docs.net/doc/ca16440972.html, 网团队竭诚为学生服务,免费提供各门课后答案,不用积分,甚至不用注 册,旨在为广大学生提供自主学习的平台! 课后答案网:https://www.360docs.net/doc/ca16440972.html, 视频教程网:https://www.360docs.net/doc/ca16440972.html, PPT 课件网:https://www.360docs.net/doc/ca16440972.html, 课 后 答 案 网 : w w w . h a c k s h p .c n

第一章引言 1.操作系统的两个主要功能是什么?答:底层硬件的扩展机和硬件资源管理器 2.内核态和用户态的区别是什么?对于一个操作系统来说,这种区别为什么很重要? 答:核心态下进程可以执行特权指令,而用户态下不行。内核态下运行的程序,收到硬件保护,用户不能随便去篡改它的内容,一般是操作系统的组成部分。用户态程序,因为不是操作系统的组成部分,是操作系统上独立的程序,可以很容易被其它程序代替。因为这种区别可以很好的保护操作系统,防止用户修改, 所以对操作系统很重要。3.什么是多道程序? 答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行。它将内存划分为几个分区,每个分区存放不同的作业。当一个作业正在等待I/O 操作完成时,另一个作业就可以去使用CPU 。按照这个思路,如果在内存中存放足够多的作业,那么CPU 的利用率就可以接近100%。 多道程序运行的特征是:1多道:即计算机内存中同时存放几道相互独立的程序。2宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。3微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机。 4.什么是假脱机?你认为将来的高档个人计算机会将假脱机作为标准特性吗? 答:当一张卡片被拿到机房后,能够很快把其中的作业读入磁盘。这样,当一个作业运行结束后,操作系 统就能将一个新作业从磁盘中读出,并装入刚刚空出来的内存分区去运行。这种技术称为假脱机技术。将来的高档个人计算机中也需要这种特性,因为计算机的CPU 和内存,内存和硬盘,硬盘和数据录入之间数 据读取速度都差几个数量级,如用户录入数据时,可以通过扫描,将数据很快读入磁盘。或者通过人工录入数据,这种方法是效率是很低的。这样会严重浪费计算机的内存和CPU 资源,如果利用假脱机技术,能够弥补这方面的缺陷。 5.在早期的计算机中,每一个字节数据的读写都是由CPU 直接进行处理的(那时候没有DMA ,即直接存 储器访问)。这种组织结构对多道程序技术有什么影响? 答:多道程序计数目的在于当一个作业在等待I/O 操作时,另一个作业能够使用CPU 。如果每个字节数据 的读写都由CPU 直接进行处理,那么在作业进行I/O 操作时,CPU 不是空闲的,无法被另一个作业使用。 因此达不到多道程序并行运行的效果。6.为什么分时系统未被第二代计算机广泛采用? 答:第一代:真空管和插接板;第二代:晶体管和批处理系统;第三代:集成电路和多道程序;第四代:个人计算机 因为第二代计算机的设计没有采用所需要的硬件保护机制,不能很好的保护内存中的各个作业,使它们不会相互妨碍攻击。 7.下列哪种指令只能在内核态下执行?(1)屏蔽所有中断(2)读时钟日期 课 后 答 案 网 : w w w . h a c k s h p .c n

相关文档
最新文档