搜档网
当前位置:搜档网 › 自己动手写操作系统之开发环境的搭建

自己动手写操作系统之开发环境的搭建

自己动手写操作系统之开发环境的搭建
自己动手写操作系统之开发环境的搭建

一、准备的开发工具环境

我使用的工具:

1、VMware Workstation 10.0.1 build-1370776

2、Linux系统镜像CentOS-6.3-i386-bin-DVD1.iso

3、Bochs源码包bochs-2.6.2.tar.gz

二、VMware Workstation 10的安装

三、新建虚拟机并安装Linux

Step1:在一个有着至少10GB(最好空闲20GB以上)空闲的盘中,新建一个文件夹存放我们稍后要建的虚拟机,以“mylinux”为例,如图1所示:

图1 新建mylinux文件夹

Step2:安装好后VMware Workstation 10 后启动如下界面,单击“创建新的虚

拟机”图标,如图2所示:

我们很明显看到当前打开的是“主页”选项卡,如果您的虚拟机没有呈现该页面,可从菜单栏的“选项卡”里找到;

图2 开始新建虚拟机

Step3:单击“创建新的虚拟机”后,出现如下图3界面,选择“典型(推荐)”选项,然后点击“下一步”;

图3 新建虚拟机1

Step4:图4所示是让我们选择要安装系统的路径,我们看到有三个选项:1、安

装程序光盘:用于您所要安装的系统使用的不是镜像文件,而是使用光盘。这样的话,你就可以把系统盘放到您的光驱中然后选择此项。2、安装程序光盘映像文件(iso),顾名思义,就是我们现在使用的方式。如图4,我的系统镜像放在我电脑G盘根目录下,单击右侧的“浏览…”按钮,选择该镜像,此时会看到提示:已检测到CentOS。单击“下一步”操作。

图4 新建虚拟机2

Step5:图5让设置一个普通用户和密码。需要注意最下面的一行字“用户帐户

和根账户均使用此密码”,就是说你装好系统后,root用户的密码也是你现在设置的密码。单击“下一步”按钮;

图5 新建虚拟机3

Step6:接下来,选择虚拟机的位置,当然是Step1中新建的那个文件夹,单击

“浏览…”按钮,选择E:\mylinux路径。如图6所示,至于虚拟机名称,起一个你喜欢这里我们就不动了。单击“下一步”。

图6 新建虚拟机4

Step7:此后选择默认配置即可,最后单击“完成”即可。如图7和图8所示。

图7 新建虚拟机5 图8 新建虚拟机6

Step8:最后单击“完成”,VMware会自动按照您的设置创建虚拟机,并安

装上操作系统,这个过程需要较长时间,我的机器花费了40分钟左右。

Waiting,waiting……

直到出现图9界面。单击“mylinux”(实际就是user)用户,输入刚才设定的密码,进入图10所示界面,并打开终端(terminal),验证当前用户名,如图11所示,这是我们以后的主要工作目录。

图9 初次启动

图10 登录成功打开终端

图11 查看当前用户

Step9:从图10的右上角我们看到,网络是不可用的。这一步我们就要开启网络

服务,因为我们要在线安装一些软件。

首先,右击本机桌面“计算机”或“我的电脑”,选择“管理”选项,进入如图12所示界面。并在左侧窗口中,依次选择“服务和应用程序”,“服务”菜单项,在右侧栏中下拉,寻找图示两项服务,分别选中并“启动此服务”。

图12 开启网络服务

此时,可测试一下网络,既可以在终端下使用ping命令,也可直接打开浏览器测试,如图13,网络使用正常。

图13 网络成功开启

Step10:现在关掉操作系统。在如图14界面单击“编辑虚拟机设置”,弹出

图15对话框。

第一项修改:如果您的电脑内存是2G,那么建议您修改一下分配给虚拟机的内存,在“硬件”选项卡下,将内存修改为700M(建议)。如果是4G的内存就不要动了。

第二项是添加主机和虚拟机的通信渠道,首先在虚拟机文件夹下创建share 文件夹,即E:\mylinux\share;然后如图16所示,在“选项”选项卡下,按照图示序号创建共享文件夹。数字标号只说明在此图中的操作先后顺序,期间还会有一些对话框弹出,但一看就知道是什么意思。

图14 选择设置虚拟机

图15 修改分配的内存

图16 创建共享文件夹

到此,创建新的虚拟机和安装操作系统已经完成,并且为下一步安装应用软件做好了准备。虚拟机的使用,需要了解一点,当要与虚拟机交互时,先用鼠标点击其工作区域,此时鼠标会被“捕获”,表示你接下来的所有操作是针对虚拟机。当需要与主机交互时,可以按ctr+alt 键释放鼠标,或直接移出工作区域后点击主机区域。

四、 安装GCC 和Bochs

Step1:开启虚拟机以root 登录,因为只有root 可以安装程序。如图17所示,单击“other ……”,username: root password: 与user 一样。打开终端。

图17 登录root

1 3 4 5 6

7

Step2:安装GCC编译器,在联网的情况下,只需一行命令,

# yum install –y gcc

安装完成后,可以简单的测试一下,新建一个hello.c,写上两行字符串,一行是:“#include ”一行是:“void main() {printf(“Hello, World\n”);}”。然后,编译运行一下,如图15,说明安装成功。

图18 安装GCC成功

Step3:Bochs的安装不像GCC安装那么容易,能用一行命令搞定。最起码

我的这一发行版不行。所以我们需要源码包,自行编译安装。具体步骤如下:1)先安装四个类库,用如下命令:

#yum install –y libX11-devel

#yum install –y gtk2-devel

#yum install –y glibc-headers

#yum install –y gcc-c++

2)将主机上的Bochs源码包拷贝至共享文件夹E:\mylinux\share中,再从该目录移动至虚拟机中Linux系统的/root目录,这时候就要找一下,那个共享文件夹在Linux中的路径是什么。

执行如下命令,如图19所示,找到共享目录是/mnt/hgfs/share,记住它,以后可能要用。

图19 共享目录

3)回到主目录后,执行命令解压,然后进入到解压出来的Bochs目录下。

#tar –vxzf bochs-2.6.2.tar.gz

#cd bochs-2.6.2

4)修改Makefile.in文件

将86行CC = @CC@ 修改为CC = @CC@ -pthread

将87行CXX = @CXX@ 修改为CXX = @CXX@ -pthread

5)进行配置,之后编译,安装,分别执行如下命令:

#./configure --enable-debugger --enable-disasm --with-x11

#make

#make install

6)完成后,就要测验是否装成功。回到主目录,新建一个名为bochsrc 的文件。

#cd

#vim bochsrc

输入如下文字。

然后执行bochs命令,得到如下效果图20,说明安装成功。

图20 Bochs安装成功

Step4:还差最后一步准备工作,执行#visudo命令;在打开文件的末尾处中,找

到下面一行文字;

root ALL=(ALL) ALL

在这行文字下面添加:

user ALL=(ALL) NOPASSWD: ALL

然后保存文件退出即可。

五、问题说明

1、搭建环境的最终目的是什么?

答:搭建环境的最终目的是让Bochs运行起来。其它都是为这个目的做准备。假如你本机上装了其他的虚拟机,并且你了解如何使用它,那好,请忽略VMware 的安装,直接装Linux系统;假如您本机已装有Linux系统,那好,请直接装上Bochs,注意不同的平台,安装过程和命令可能不一样。

博学的您想必知道Bochs也有Windows版本,是呀,直接下载一个Windows 平台的使用不省事吗?!如果您想这样,我完全同意,但有一点请您注意,我们编写的操作系统到一定阶段是要导入C语言的,而不同的平台生成的可执行文件的格式是不同的,如Windows主要使用的exe格式文件,Linux主要采用ELF格式。二者分别由一套机制保证这些文件的正确装载和执行,但是我们写的是操作系统,在裸机上运行,根本不可能自动执行这些格式的文件,所以我们就要对这些文件格式进行分析,提取出可执行的代码部分。所以您一定坚持用Windows 开发,请您确保自己能通过这个坎儿或这些坎儿。

俯瞰一下我们搭建的环境,Windows上装个VMware虚拟机,VMware虚拟机上装个Linux操作系统,再在这Linux操作系统上在安装一个Bochs虚拟机,是不是有一种“画蛇添足”的感觉。为什么要这么大费周折,直接用VMware不得了吗?原因除了上述的平台原因外,还有就是我们写程序是需要调试的,并且我们调试的不是一般的程序,而是操作系统,最起码在导入C语言之前不能随便的添加printf语句通过打印某几个变量的值来验证程序的正确性,而是直接与cpu内部的寄存器,和内存打交道,所有变量名都不可使用,取而代之的全是16进制的地址。因为这种需求,就需要特殊的调试器。Bochs强大的调试功能,正式我们需要的。在后续的开发过程中,相信您会更深刻的体会到这一点,笔者也会将Bochs调试的方式和技巧分享给大家。

2、为什么要建立主机和虚拟机的共享目录share?

答:主要有三个原因:第一,把自己辛辛苦苦写的程序转到主机备份出来;第二,在开发过程中,随着代码量的加大,你会遇到这样一种情况:明明这个程序是原原本本从作者提供的源程序里抄过来的,编译没问题,可就是运行出错,一遍一遍检验还是不行,这时候你便会开始怀疑是不是作者的源程序就是有错误,好吧,通过这个目录方便的传进来,编译运行验证一下。第三,写程序时,我们会有很多宏定义,有些属于同一类的宏定义数量很多,一个一个敲着实费劲,在充分理解的基础上,把那个头文件弄进来直接用或复制一部分。

3、Bochs是什么?我要怎么让它工作?

答:上面我们称它为虚拟机,更好的解释是Bochs是一个x86平台的模拟器。

再说的直白一些,它就是用软件的方式作了一台“裸机”。而我们接下来要做的工作就给这台电脑开发一个操作系统。

如果是一台物理机器,我们按下电源键,它就开了。可这个Bochs呢,哪有电源键可按。其实,它的电源键就是Bochs指令,这样,他就接通电源了。同时常识告诉我们,一个主机箱启动了,有意义吗?我们要给它插上内存条,键盘,安装上软驱、硬盘什么的。怎么安装呢,聪明的你一定想到了,通过那个bochsrc 文件。对,这个文件叫配置文件,当执行bochs指令后,Bochs被启动,它首先会读取当前目录下的配置文件,Linux下Bochs默认的配置文件名有三个:.bochsrc

bochsrc

bochsrc.txt

执行bochs指令后,Bochs就按照上述次序寻找配置文件,找不到,就会出错终止。现在你肯定会问,我就不能用其他的文件名吗?哈哈,当然可以,只不过要告诉Bochs,比如使用mybochs.txt,那bochs指令要写成

#bochs –f mybochs.txt

好吧,我承认了,上述单独使用的bochs指令,相当于bochs –f bochsrc,只不过系统会自动寻找那个文件名而可以省略不写罢了,二者本质上没区别。

下面我们就来说一下这个配置文件。请回头看看我们当初验证Bochs是否正确安装时写过的一个bochsrc文件,每一项是什么意思,注释已经指出,我再次没必要全部重复一遍,我只说第一项:

megs: 32

此项的意思是分配的内存是32M,相当于往主板上插了个内存条。

romimage: file=/usr/local/share/bochs/BIOS-bochs-latest

vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest

这两项相当于主板上的BIOS和支持VGA的显卡。上述的路径在不同的Linux 上可能不同,怎么着路径呢,想想我们的share文件夹的路径是怎么找到的。

floppya: 1_44=boot.img, status=inserted

此项相当于安装了软驱,并且插入了一张软盘,当然这张软盘不是真的软盘,而是用软件实现的img映像。

boot:a

开机启动项a盘,对应着floppya中的a。因为我们只用一个软驱,直接写成boot:floppy也可以。

log: bochsout.txt

记录你操作Bochs的日志,一般没必要看。

mouse:enable=0

显然是禁用鼠标的意思,因为我们接下来开发的操作系统暂不打算支持鼠标。keybord_mapping: enable=1,map=/usr/local/share/bochs/keymaps/x11-pc-us.map 显然是对键盘的设置,打开上述目录会看到不知一种键盘映像文件,我们选择目前最流行的这一种。

在此,就说这么多,请务必查看一下/root/bochs-2.6.2/.bochsrc文档(就是当时解压Bochs时生成的目录里),里面详细说明了这台“裸机”的配置。这里面,你可以找到刚才说的那几项,并且每一项都有详细的注释。

软件开发实习自我鉴定三篇

软件开发实习自我鉴定三篇 时间过的真快,在这过去一个20多天时间里,我在浙江绍兴肯美信息技术有限公司实习从事软件开发的工作。浙江绍兴肯美信息技术有限公司主要产品服务有计算机软件硬件产品的研制开发,销售、安装计算机集成,网络工程设计、安装、服务,计算机技术咨询、服务,销售:电子产品、机电产品、通信设备、办公自动化设备及用品。 在公司实习的这段时间,我主要和其他的实习生一起负责熟悉公司刚开发的剧毒化学品管理系统,该系统在今年暑假的时候由于我也参加了系统的开发,所以对该系统还是比较了解,熟悉起来很快,公司要求我们根据系统的功能写出用户手册,并让我们仔细阅读软件代码,掌握软件开发的架构和技术,熟悉软件开发业务的一般流程,以便未将来的项目开发鉴定基础。 在这短短的20多天时间里,在用两天的时间熟悉了该系统的功能模块和业务流程之后,我运用软件工程所学的知识,和同事用了两天的时间很顺利的编写出了系统的用户手册。使我对以后编写用户手册和技术类文档有很大的帮助。在次,通过仔细阅读后台代码和整个系统的架构,使我对用三层架构与设计模式思想部署企业级数据库业务系统开发有了一定的了解,典型的三层结构分为表示层,业务层,和

数据访问层,又根据我自己的理解,我对此做了更详细的分层,界面外观层、界面规则层、业务接口层、业务逻辑层、实体层、数据访问层、数据存储层共七层,三层架构它主要是为程序员为了实现部署、开发、维护企业级数据库系统而服务的。如果我们在中间层实现了对表示层和数据库层的完全脱离,其部署、开发、维护系统的费用和时间至少降低到原来的一半,甚至更多。 在这三周的时间,在同事和项目经理的帮助之下,成功完成了本次的生产实习的任务。 以下是我这些天的工作总结: 1.在职业道德方面,敬业爱岗,具有强烈的责任感和事业心,和积极主动的学习专业知识,工作态度端正,认真负责。 2. 在专业知识,工作能力方面,在这3周的实习时间里,我努力的学习软件开发的技术和架构知识,阅读大量资料,对软件开发技术有了一定的了解,可以独立开发小型的管理系统等软件,工作能力也有了很大的提高,使自己能够在激烈的竞争中保持自己的优势。 3.工作态度和勤奋敬业方面,热爱自己的本职工作,能够正确认真的对待没一项工作,工作投入,热心为大家服务,保证按时出勤,保证工作能够按时完成。 4.工作质量成绩,效益和贡献方面,在开展工作前做好

实验一mini2440裸板驱动开发环境搭建.

实验一mini2440裸板驱动开发环境搭建 讲师:杨行 【实验目的】 1、了解minicom配置串口通信参数的过程,掌握利用minicom进行传输文件方法 2、了解网络文件系统nfs的配置,掌握利用nfs进行文件的传输和异地运行目标板程序 3、掌握tftp的使用方法 【实验原理】 一、安装编译器 1. mkdir /usr/local/arm 2. tar xjvf arm-linux-gcc-4.4. 3.tar.bz2 –C /usr/local/arm 3. vim /etc/profile + PATH=/usr/local/arm/4.4.3/bin:$PA TH 4. source /etc/profile 5. arm-linux-gcc -v 注意:1 Ubuntu 14.04 64位系统无法运行32位可执行文件,需要安装一个32位兼容库lib32z1 2Ubuntu 12.04 64位系统安装ia32-libs 3sudo apt-get install libstdc++6 4sudo apt-get install lib32stdc++6 二、minicom的使用 1. 安装:sudo apt-get install minicom 2. 配置:minicom -s 3. 使用: 命令: ctrl a + q quit ctrl a + w lineWrap ctrl a + z help 1、串口通信参数的设置 确认USB转串口工具是否已经连接到电脑上,如果连接到电脑上,则: ls /dev/ttyUSB0

如果已经确认了ttyUSB0已经存在,则: 首先运行minicom,由于minicom是通过串口来工作的,所以要通过minicom程序来对串口通信参数进行设置。启动minicom的设置窗口:在linux的终端中输入“minicom –s”,然后,按下回车键。 spring@spring-virtual-machine:~$ sudo minicom -s “-s”选项调出配置信息。下面显示的就是配置的菜单。

计算机操作系统安全实训心得总结

计算机操作系统安全实 训心得总结 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。在实训中我学到了许多新的知识。是一个让我把书本上的理论知识运用于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。 网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。当时遇到我以前从未遇到的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对这个错误有了一定的了解,并且能够用相应的办法来解决。 这次的实训给了自己好大的提升,无论是学习中、还是同学的交流中。每一次的交流和谈话都会使我对某个问题有一个新的认识。始终把学习作为获得新知、掌握方法、提高能力、解决问题的一条重要途径和方法,切实做到用理论武装头脑、指导实践、推动工作。思想上积极进取,积极的把自己现有的知识用于社会实践中,在实践中也才能检验知识的有用性。所以在这次的实习工作中给我最大的感触就是我们在学校学到了很多的理论知识,但很少用于社会实践中,这样理论和实践就大

CMake之初级教程

CMake之初级教程 (VTK)的过程中所产生的衍生品。后来经过发展,最终形成体系,在2001年成为一个独立的开放源代码项目。其*****是https://www.sodocs.net/doc/cb4887422.html,,可以通过访问*****来获得更多关于cmake 的信息,而且目前官方的英文文档比以前有了很大的改进,可以作为实践中的参考手册。 cmake的流行离不开KDE4的选择。KDE开发者在使用autotools近10年之后,终于决定为KDE4项目选择一个新的工程构建工具。之所以如此,用KDE开发者们自己话来说,就是:只有少数几个“编译专家”能够掌握KDE现在的构建体系。在经历了unsermake,scons 以及cmake的选型和尝试之后,KDE4最终决定使用cmake作为自己的构建系统。在迁移过程中,进展一场的顺利,并获得了cmake开发者的支持。所以,目前的KDE4开发版本已经完全使用cmake来进行构建。 随着cmake 在KDE4项目中的成功,越来越多的项目正在使用cmake作为其构建工具,这也使得cmake正在成为一个主流的构建体系。 一、为何要使用项目构建工具? 为何要使用cmake和autotools之类的项目构建工具?我想,这恐怕是刚刚接触软件项目的人最应该问的问题之一了。 “Hello, world!“这个最经典的程序相信我们每个人都写过。无论在什么平台下,编译和运行这个程序都仅需要非常简单的操作。但事实上,hello,world最多只能算是一个实例程序,根本算不上一个真正的软件项目。 任何一个软件项目,除了写代码之外,还有一个更为重要的任务,就是如何组织和管理这些代码,使项目代码层次结构清晰易读,这对以后的维护工作大有裨益。使想一下,如果把一个像KDE4那么大的项目像hello world那样,把全部代码都放到一个main.cpp 文件中,那将会是多么恐怖的一件事情。别说KDE4,就是我们随便一个几千行代码的小项目,也不会有人干这种蠢事。

windows驱动开发和调试环境搭建

Windows驱动开发和环境搭建 【文章标题】: Windows驱动开发和调试的环境设置 【文章作者】: haikerenwu 【使用工具】: VC6.0,VMware6.0.3,Windbg 【电脑配置】: 惠普笔记本xp sp3 (一)VMWare安装篇 VMWare的安装一路Next即可,关于其序列号,百度一下就能找到,虚拟机安装完成之后,需要安装操作系统,我在虚拟机中安装的是windows xp sp2系统。 点击“文件”----“新建”----“虚拟机” 进入新建虚拟机的向导,配置虚拟系统参数

选择虚拟系统文件的兼容格式(新手推荐选择默认选项) 按照默认设置继续点击下一步,选择好您需要的操作系统,此处我选择的是Windows XP Prefessional。 设置虚拟机名称和虚拟操作系统安装路径,我单独空出来一个F 盘,将虚拟机和虚拟操作系统全部装在该盘。

配置网络模式(推荐选择NA T,一般主机不用做任何的设置虚拟机就可以利用主机上网)。 配置虚拟磁盘的容量。在这里可以直接单击完成,来完成基本操作设置,磁盘默认空间是8GB,用户可以根据自己的实际使用情况来调整大小,也可以自定义分区。

操作完成之后,在“VM”菜单下有个“setting。。。”菜单,点击此菜单,在CD-ROM中选择合适的选项,我使用的是Use ISO image 选项,将我的xp sp2操作系统的ISO映像路径设置好,安装操作系统。点击ok之后,启动虚拟机,即开始安装操作系统,安装过程跟普通装机过程相同。安装完成之后,启动操作系统,然后在VM菜单下点击“Install VMWare Tools”,把虚拟操作系统的驱动装好。 (二)VMWare设置篇

一个硬盘上安装双操作系统(步骤)

1421 一个硬盘上安装双操作系统或多操作系统的方法 先在你用的系统里准备好二个以上的主分区,注意是主分区,不是逻辑分区,一个硬盘上最多只能有4个主分区,这是系统决定的。 创建主分区有多种方法,一种是WINDOWS自带的,另一种是用第三方软件,比如分区大师PQMagic等等。 如果你已经把硬盘全部容量作为一个分区来使用了,那只能用分区大师之类的软件了,它们的一个重要功能就是可以在不破坏原有数据的情况下改变分区的大小。 运行软件,创建新的主分区后退出软件,注意只有主分区,才可以改变成为活动分区,也即为开机时的引导分区。这时你还不能马上重启电脑, 因为你重启电脑还是进入你原先的系统。先要右击桌面上的我的电脑,选管理,点击磁盘管理,这时你可以看到新创建的主分区,右击该分区,点击将磁盘分区标为活动的,这时会弹出一个提示对话框, 提醒你如果分区上没有有效的系统文件,更改磁盘上的活动分区将使磁盘无法使用,按“是”,这时可以重启电脑了。 你的电脑开机引导如果是光驱在硬盘前,就可以进行你第二个系统安装了,如果不是光驱引导在先,需要进入BIOS里改一下,保存修改后再重启,就可以顺利安装新的操作系统了。完成后在你的电脑里有两个系统, 当你开机时如果没有让你选择的菜单,你要在C盘的boot.ini中加一条内容,你可以复制前一条, 注意把新加的一条multi(0)disk(0)rdisk(0)partition(1)\中的“1”改为“2”, 这个数字对应你的新的磁盘分区在磁盘管理中的从左到右的位置顺序,从1到4,逻辑分区没有对应的数字,因为不能标为活动分区的原因。在“\”之后的“WINDOWS=”这样的标识符, 一定要与你的操作系统的安装主目录的名称一致,这一点十分重要, 否则会因为找不到这个主目录而致使引导失败。一个物理磁盘可以创建四个主分区,因此一般来说可以安装四个操作系统,可以是相同的,也可以是不同的。

苏州大学操作系统实验1

实验一Linux系统 实验目的: (1)熟悉Linux操作系统,并尝试在Linux环境下编程。 (2)使用vi编辑器,了解用C语言编写文本处理程序的具体过程。 实验要求: (1)根据报告册上的提示进行操作,创建自己的目录,以及输入编译和执行C 程序。 (2)使用C语言编写一个词频(限英文文章)统计程序,使之能够给出各个单词在输入文件中的出现次数。 (3)使用C语言编写一个反向打印程序,使之能够按与输入文件中文本行相反的次序来打印(即后出现的文本行先打印)。 问题分析: 1.1实验没有具体要求英语文章是从文件中读出,还是直接由用户从屏幕上输入一篇,因此要根据自己的情况确定读取方式。 1.2统计每个单词出现的次数及频率。 1.3将结果输出到屏幕上,要解决如何不重复输出相同单词出现的频率。 1.4如何把用户输入的文本行以相反的顺序输到屏幕上的算法。 实验程序清单: #include #include void main() { char str[500][26]; //定义一个二维字符数组存放单词

const char str1[4]="000"; //定义一个const变量,用于停止输入 const char str2=' '; //定义一个const变量,用于初始化二维数组 int num[500]; //定义一个整型数组,用于单词出现频率的计数 int mark[500]; //定义一个整型数组,用来标记已出现过的单词 int i,j,m,x; int len; double q[500]; //定义一个浮点型数组,用来存放出现频率的数值again: m=0;j=0;i=0;x=0; //对m,j,i,x进行初始化 for(m=0;m<500;m++) //对num,mark,q数组初始化 { num[m]=0; mark[m]=0; q[m]=0; } for(m=0;m<500;m++) //对二维数组str进行初始化 { strcpy(str[m],&str2); } printf("请输入英文文章(单词数限制在500以内,每个单词不大于25个字符)\n"); //对用户的引导语句 printf("输入“000”代表文章输入终止!\n"); //对用户的引导语句 for(m=0;m<500;m++) //使用for循环,将用户输入的单词依次放入二维数组{ scanf("%s",str[m]); if(strcmp(str[m],str1)==0)//直到用户输入000,结束输入 break; } for(i=0;ii) //当j大于i时 { mark[i]=1; //标记此时的mark } num[i]++; //当两个单词相同,num[i]加1 } } q[i]=(double)num[i]/m; //获得单词出现的频率 } for(i=0;i

软件开发实验报告doc

软件开发实验报告 篇一:软件开发实验报告 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点:专业班级: 指导教师: XX年10月22日 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计实验地点:致远楼B303指导教师:崔秀娟XX年9月28日 篇二:软件开发平台实验报告 课程设计报告 课程名称: 软件开发平台与工具任课教师: 姓名: 学号: 1. 引言 1.1. 课程设计项目 1.2. 背景简介从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,

由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S 架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。对于web开发平台,我的个人理解是: 1.以web 2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA 等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。

Windows驱动开发培训

Windows驱动开发培训 培训流程: 一、基础知识 在开始驱动开发之前,您应该知道操作系统原理以及驱动程序是如何在操作系统中进行工作的,了解这些基本原理将有助于您做出正确的设计决策并简化您的开发过程。 1、了解Windows操作系统构造\\ 可以链接进去 2、安装WDK,参考相关文档,熟悉WDK的内容\\ 可以链接进去 二、Windows驱动开发\\ 可以链接进去 一、基础知识 在开始驱动开发之前,您应该知道操作系统原理以及驱动程序是如何在操作系统中进行工作的,了解这些基本原理将有助于您做出正确的设计决策并简化您的开发过程。 1、了解Windows操作系统构造 (1)培训目标 深入了解Windows操作系统的系统结构以及工作原理 (2)培训内容 阅读书籍《深入解析Windows操作系统》的第3、4、6、7、9章,重点关注第九章“I/O系统” (3)培训任务 ①掌握Windows操作系统的系统结构 ②理解ISR、IRP、IRQL、DCP等概念的含义 ③了解注册表的用法,掌握注册表数据的查看和修改方法 ④了解进程和线程的内部机理以及线程的调度策略 ⑤了解I/O系统的内容,理解I/O请求以及I/O处理过程 注:以上相关内容,请在一周内完成。

2、安装WDK,参考相关文档,熟悉WDK的内容 (1)培训目标 了解WDK的安装过程,熟悉WDK的编译环境,掌握如何使用WDK的相关帮助文档;了解WDM驱动程序的基本结构 (2)培训内容 ①.阅读文档\\10.151.131.12\book\windows\MSWDM.chm,掌握WDM驱动程序的基本结构以及基本的编程技术。 ②.参考WDK的帮助文档:WDK documentation ,了解WDK的基本内容 (3)培训任务 ①理解分层驱动结构的含义,掌握设备和驱动程序的层次结构 ②理解“驱动对象”和“设备对象”的概念 ③理解2个基本例程:DriverEntry 和addDevice ④了解IRP的结构以及IRP处理的流程 ⑤初步了解I/O的控制操作 注:以上相关内容,请在一周内完成。 二、Windows驱动开发 学习如何基于WDK进行驱动程序的开发 1、培训目标 (1)学会根据WDK开发一个基本的Windows驱动程序和测试程序 (2)学会利用不同的IOCTL方式在内核模式和用户模式之间进行通讯 (3)学会如何在内核模式下和用户模式下访问注册表 (4)利用WinDbg跟踪程序,学会使用WinDbg进行调试 2、培训内容 (1)阅读\src\general\ioctl中的示例代码 (2)build并运行应用程序和驱动程序

操作系统安装心得

操作系统安装心得 操作系统是最重要的计算机系统软件,发展极为迅速。目前,比较流行的操作系统有Windows、UNIX、以及Linux几大类。 1、Windows操作系统 Windows是目前使用最为广泛、普遍的操作系统。Windows系统,客观的来说,windows系统下的应用软件是最丰富的。windows软件的安装一般来说是很简单的,按照提示一步一步的往下进行就是了,难点是找到适合的软件,现在网上有绿色版,破解版,免注册版等等很多。Windows的优点:图形界面良好,拥有良好的集成开发环境,操作简单。缺点是:不是免费的软件,采用二进制代码,不易修改操作系统本身,漏洞比较多。微软的Windows在主机服务器里流行,是因为它支持大量功能以及友好的用户界面。不像以往的系统写DOS命令来执行任务,Windows是通过图形化的点击来完成。那些需要ASP (Active Server Pages)技术或MS SQL Server数据库应用的一般需要Windows。我一直用的都是Win7系统,直接用系统盘安装的,按照提示操作,很轻松地就安装好了。Win7有五个设计重点:1)针对笔记本电脑的特有设计;2)基于应用的设计;3)用户的个性化;4)视听娱乐的优化;5)用户易用性的新引擎。使用了这么长时间的Win7系统,最大的感觉是界面非常的清晰漂亮,虽说兼容性没有XP好,但我还是相对的喜欢它。可以说Windows具有一个全新的、时髦的用户界面外观和许多的新功能,但是它仍然保留Windows的感觉。归纳

Win7的特点如下:1更易用(如快速最大化,窗口半屏显示,跳跃刘表······);2更快速,更简单,更安全;3更好的成本,更好的链接;4迄今为止最华丽但节能的Windows,拥有绚丽透明的窗口(窗口的界面十分美观,支持更多、更丰富的缩略图动画效果。);5支持非微软的音频格式,网络音乐、蓝牙音频;6拥有多功能任务栏,丰富的桌面小工具。Win7的缺点:兼容性不好,要求配置高,有些机器运行不了······Windows性能优越,操作简单,对硬件的需求合理,界面简洁,大部分的应用程序都是兼容的,价格适中,受到很多个人用户的青睐,发展趋势很好。 2、Linux操作系统 Linux的兴起可以说是interne创造的一个奇迹。这是一个稳定可靠、功能完善、安全的操作系统。我是在网上下载了一个ubunto 解压后安装就成功了,操作十分简单,就像是安装一个软件那么容易。也许是习惯了使用Windows的系统,初次使用Linux时感觉好奇怪,使用很不方便,原先安装在Windows上的应用软件都使用不了,打开完全就是二进制的代码,只能从先下载一些应用软件。该系统具有六大特性:启动速度极快,拥有社交网站和IM工具在系统中,整合了网络通讯录、邮件功能、在线音乐商店、云存储,其邮件客户端Evolution可以从MS Exchange Server上直接收取邮件。系统采用五个桌面分区,使得用户可以同时处理更多的任务,使得任务更加有序与增强用户使用的方便性。Linux系统的安全性高,在使用过程中

做软件开发项目实习的心得

做软件开发项目实习的心得 实习结束了,为我将来的就业打下了良好的基础,也提高了我的软件开发的水平,以下就是整理的做软件开发项目实习的心得,一起来看看吧! 篇一:做软件开发项目实习的心得 时间过的好快啊,为期三个礼拜的实习生活即将结束了,短短的三个礼拜让我们收获很大,专业知识、编程水平都有很大的提高。刚开始三天的高强度的课程安排让我们受益匪浅;接下来的上机实习又让我们可以巩固了课程。这让我觉得实习生活充实而有意义。辅导老师配好了环境之后,我们开始了项目的制作,这次项目实习算是自己小学期间主要完成的项目。最后,自己的努力还是有收获的,看着电脑上记录得满满的代码,看着自己的项目最终能够运行成功,就觉得很有成就感。 在本次的实习中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。除此以外,我还学会了如何更

好地与别人沟通,如何更好地去陈述自己的观点,如何 说服别人认同自己的观点。这次所学知识与实际的应用,理论与实际的相结合,让我大开眼界。也是对以前所学 知识的一个初审吧!这次实习对于我以后学习、找工作也真是受益菲浅,在短短的一个星期中让我初步从理性回 到感性的重新认识,也让我初步的认识这个社会,对于 以后做人所应把握的方向也有所启发!相信这些宝贵的经验会成为我今后成功的重要的基石。 在此,我非常感谢学院领导和指导老师对这次实习 的大力支持。 篇二:做软件开发项目实习的心得 我们是20xx年3月7号进入宏天实习公司参加软件开发实习的,在此次实习中,除了让我明白工作中需要 能力,素质,知识之外,更重要的是学会了如何去完成 一个任务,懂得了享受工作。当遇到问题,冷静,想办 法一点一点的排除障碍,到最后获取成功,一种自信心 就由然而生,这应该就是工作的乐趣。有时候不懂的就 需要问别人了,虚心请教,从别人的身上真的能学到自 己没有的东西,每一次的挫折都会使我更接近成功。还 有学会了在工作中与人的合作与交流,同乐同累,合作 互助,这是团体的精神,也是必须学习的东西。 经过之前的在校学习,对程序设计有了一定的认识

驱动SYS开发总结 - stretch的专栏 - CSDNBlog

驱动SYS开发总结 1.驱动简介 1.1.驱动是什么 计算机的外部设备需要和计算机进行数据交换,生产外部设备的厂家如何使计算机和自己的设备交换数据呢,就是通过驱动程序,从设备中读入到计算机中,早期的Win3.1,Win9x设备驱动是vxd,Win NT是kdm, Win2k 统一发展成wdm模式。 1.2.sys文件 sys文件是驱动程序的可执行代码,其扩展名为.sys,驱动程序安装后保存在windows/system32/drivers目录中。 对于PnP设备,在设备插入后,sys文件会被windows装载到内存中,系统线程调用sys中的函数来和设备进行通信。 1.3.inf文件 inf文件是安装设备驱动程序时必须使用的文件,其扩展名为 .inf,驱动程序安装后保存在windows/inf目录中。 系统使用一个扩展名为INF的文本文件来控制与安装驱动程序相关的大部分活动。INF文件应该由驱动程序开发人员随驱动程序一起提供。通过INF文件可以告诉操作系统哪一个文件需要复制到用户硬盘上,应该增加或修改哪一个注册表项,如此等等。 inf中提供产品设备的产品id,以及对应的sys文件名,驱动class名, class guid, https://www.sodocs.net/doc/cb4887422.html,b-client driver HOST 与DEVICE, ENDPOINT与PIPE 我们进行的USB驱动开发大多数是usb-client driver,系统厂商大多数都已经把USB类驱动做好,我们则是在类驱动之上开发针对自己设备的驱动,习惯上称做usb-client driver,其在整个软件构架中地位如下:UHCD--USBD--USB CLIENT DRIVER--DLL OR APP usb-client driver仍然遵守WDM模型,是WDM驱动。因为要支持PnP,所以要很小心的处理自己的资源以及IRP, 随时准备处理拔出或者插入设备的情况; 电源处理不当也会使系统无法唤醒。 需要了解的知识:wdm,usbdi,our usedevice, wdm: 目标: a, 能提供接口函数, b, 能实现pnp,电源消息处理,wmi,i/o等处理, usbdi: urb,irp,等时,中断,控制,批传输的概念

最小的Linux操作系统制作过程详解

最小的Linux操作系统制作过程详解 一,什么是BabyLinux BabyLinux不是一个完整的发行版,他是利用原有的一套完整的linux系统的内核原代码和编译工具,利用busybox内建的强大功能,在一张软盘上做的一个很小的linux系统。他具备一个linux系统的基本特征,支持linux系统最常用的一百多个命令,支持多种文件系统,支持网络等等,你可以把他当做一张linux 起动盘和修复盘来用,你也可以把他当做一个静态路由的路由器软件,当然,你也可以把他当做一个linux玩具,向你的朋友炫耀linux可以做的多么小。我把他叫做BabyLinux因为他很小巧,小的很可爱,像一个刚刚出生的小baby。 二.为什么要作这样一个linux 先说说我一开始的想法,当我一开始接触linux的时候,看到书上说,linux 通常安装只需要60M左右的空间,但是我发现装在我硬盘上的Redhat 6.0确要占据好几百M的空间。为什么我的linux这么大呢? 后来我发现,装在我机器上的那么多东西只有不到30%是我平时常用的,还有30%是我极少用到的,另外的40%基本上是不用的。于是,我和大多数初学者一样,开始抱怨,为什么linux 不能做的精简一点呢?于是,我萌发了自己裁减系统的想法。可惜那个时候我还没有听说过有LFS和Debain。等到我积累了足够的linux知识后,我开始制作这样一个小系统。 制作这样一个小系统最大的意义在于,你可以通过制作系统了解linux的启动过程,学会ramdisk的使用,让你在短时间内学到更多的linux知识。当然,你会得到很大的乐趣。这个项目只是做一个具有基本特征的linux系统,如果你想自己做一个具有完整功能的linux,请阅读Linux From Scratch (LFS)文档。 三,什么人适合读这篇文档 如果你是一个linux爱好者,并且很想了解linux的启动过程和系统的基本结构,而且是一个喜欢动手研究小玩意的人,那么这个文档可以满足你的需求。如果你仅仅是用linux来做一些普通的日常工作,而不在乎你的linux到底怎么工作,那么这份文档也许不太适合你。另外,如果你是linux爱好者,但是目前还是一个刚刚入门的newbi,我建议你先把linux命令学好。不过我想我会尽可能的把这份文档写详细一些,如果你有足够的毅力,或许一个newbi也能成功做一个babylinux。或者,你遇到一件很不巧的事情,比如你的老婆来例假了,你的这个周末就泡汤了,那么阅读这篇文档并做一个linux小玩具可以打发你的时间。 四,应该具备的知识 在做一个babylinux之前,你应当已经会应用linux最常用的命令。并且至少有一次成功编译并安装系统内核的经历,会通过编译源代码来安装软件。如果你具备了这些条件,那么做这样一个小系统会很顺利,如果你还没有掌握这些知识,你可能会遇到一些困难。但是只要有毅力,也可以成功。你不需要具备编程的知识,因为我的目标是:让具有中等以上linux水平的爱好者可以通过阅读文档轻松完成这个项目。关于一张软盘上的linux还有一个很著名的linux叫LOAP

第1章 软件开发过程

软件开发案例分析 1

2 前言 ?本课程在讲解过程中会结合一个具体项目案例,通过案例 分析介绍软件开发的设计及开发方法、规范,力图提高学员的分析,设计能力,为从事软件开发和设计奠定基础。 ?课程目的:指导学员进行项目实践,讲解为辅,大家动手 实现为主。 ?本课件结合自己多年的开发和管理经验,并以计算机以及 软件工程基本理论为基础,概要阐述软件开发的每个过程并结合具体案例进行分析,主要内容包括软件开发过程简介、需求分析、系统设计、概要设计、详细设计等章节,重点讲解设计部分

第1章 软件开发过程目标: 本章旨在向学员介绍: 1.1 东软实训简介 1.2 软件开发基本流程1.3 软件开发模型时间:1学时 教学方法:讲授PPT+ 案例分析 3

4 案例: 实训项目整体开发流程 东软睿道实训项目(高质量、高标准) 个人总结项目总结项目答辩资源复用归档文件项目改进评审记录个人日报 会议记录工程过程文档 项目周报 项目裁剪表项目任务书项目开发计划配置管理计划裁剪后的需求评审计划裁剪指南项目功能结构项目管理过程 工程管理过程 需求规约角色概要 3.项目总结关键词:复用/改进 2.项目监控关键词:监控/质量 1.项目策划关键词:裁剪/目标0.项目必备条件项目要求书

5 技术能力 工 程能力职业素质能力 技术能力:从知识到技能的转变 工程能力:软件开发流程的全过程 职业素质能力:沟通、主动性、团队等 目标:多维度能力提升 实训目标

6 编码 系统测试单元测试 项目启动 项目监控 项目总结 需求理解 概要设 计 详细设计 我要求软件怎么做? 我要求计算机怎 么做? 计算机做的对 吗? 用户要的是什 么? 项目管理过程工程管理过程 两个过程相辅相成实训流程

Windows驱动开发入门

接触windows驱动开发有一个月了,感觉Windows驱动编程并不像传说中的那么神秘。为了更好地为以后的学习打下基础,记录下来这些学习心得,也为像跟我一样致力于驱动开发却苦于没有门路的菜鸟朋友们抛个砖,引个玉。 我的开发环境:Windows xp 主机+ VMW ARE虚拟机(windows 2003 server系统)。编译环境:WinDDK6001.18002。代码编辑工具:SourceInsight。IDE:VS2005/VC6.0。调试工具:WinDBG,DbgView.exe, SRVINSTW.EXE 上面所有工具均来自互联网。 对于初学者,DbgView.exe和SRVINSTW.EXE是非常简单有用的两个工具,一定要装上。前者用于查看日志信息,后者用于加载驱动。 下面从最简单的helloworld说起吧。Follow me。 驱动程序的入口函数叫做DriverEntry(PDRIVER_OBJECT pDriverObj,PUNICODE_STRING pRegisgryString)。两个参数,一个是驱动对象,代表该驱动程序;另一个跟注册表相关,是驱动程序在注册表中的服务名,暂时不用管它。DriverEntry 类似于C语言中的main函数。它跟main的差别就是,main完全按照顺序调用的方法执行,所有东西都按照程序员预先设定的顺序依次发生;而DriverEntry则有它自己的规则,程序员只需要填写各个子例程,至于何时调用,谁先调,由操作系统决定。我想这主要是因为驱动偏底层,而底层与硬件打交道,硬件很多都是通过中断来与操作系统通信,中断的话就比较随机了。但到了上层应用程序,我们是看不到中断的影子的。说到中断,驱动程序中可以人为添加软中断,__asm int 3或者Int_3();前者是32位操作系统用的,后者是64位用的。64位驱动不允许内嵌汇编。下面是我的一个helloworld的源码:

自己动手做一个迷你型Linux操作系统

自己动手做一个迷你型Linux操作系统 本文要构建的这个迷你型的Linux 系统只能在一台特定的单机上运行,如果读者朋友们有兴趣的话,在这个系统的基础上加以改良,是可以构建出通用的、可以在大多数常规PC 机上即插即用的系统来的。但是这已经不在本文的话题之内了,读者朋友们如果有兴趣,可以通过我的电子邮件和我讨论其中的细节疑问。我们的目标Linux 系统运行在一台普通的Intel 386 PC 机上,可以有硬盘,也可以不要硬盘,而用Flash Disk 来代替。如果是用Flash 盘的话,须要能够支持从Flash 盘启动,而且Flash 盘的大小要在16M 字节或者以上。我们希望用户一开机启动,就直接进入X Window 图形界面,运行事先指定好的程序。不须要用户输入用户名和密码执行登录。我们设定的这个目标有点像一个X Terminal 终端工作站。稍加改良,还可以做成干脆无盘的形式,也就是说,连16M 的Flash 盘也不要了。不过,这也超出了本文的话题了。读者朋友们如果有兴趣,可以来信和我执行讨论。系统启动因为我们要考虑从Flash 盘执行启动,所以我们选择用LILO 作为我们的Boot Loader,而不选用GRUB。这是考虑到GRUB 有较强的对硬盘和文件系统的识别能力,而Flash 盘到底不是标准的硬盘,并且我们选用的文件系统GRUB 又不一定认识,搞不好的话GRUB 反会弄巧成拙。而LILO 就基本的多了,它在硬盘开始的MBR 写入一个小程序,这个小程序不经过文件系统,直接从硬盘扇区号,读出Kernel Image 装入内存。这样,保险系数就大大添加。并且也给了我们自由选用文件系统的余地。那么,我们要如何安装LILO 呢?首先,我们要找一块普通的800M 左右的IDE 硬盘,连在目标机器的IDE 线上。这样在我们的目标机器上,IDE1 上挂的是Flash 盘,IDE2 上挂的是一块工作硬盘。我们用标准的步骤在IDE2 的标准硬盘上装上一个Debian GNU/Linux 系统。当然,如果读者朋友们手头没有Debian,也可以装Red Hat 系统。装好工作系统之后,要首先做一些裁减工作,把不必要的Service 和X Window 等等东西都删掉。这样做的目的是增进系统启动速度,因为我们在后面的工作中,肯定要不停的重新启动机器,所以启动速度对我们的工作效率是很关键的。装好工作系统之后,在Falsh 盘上做一个Ext2 文件系统,这个用mke2fs 这个命令就可以完成。由于Flash 盘是接在IDE1 上的,所以在Linux 里面,它的身份是/dev/hda。本文作者在操作的时候,把整个Flash 盘划分了一个整个的分区,所以,调用mke2fs 的时候,处理的是/dev/hda1。读者朋友们应该可以直接在/dev/hda 上做一个Ext2 文件系统,而不用事先分区。在Flash 盘上做好了文件系统之后,就可以把一个编译好的内核映像文件vmlinuz copy 到Flash 盘上了。留心,必须要先把这个vmlinuz 映像文件copy到Flash 盘上,然后才能在Flash 盘上安装LILO。不然的

实验2--操作系统环境

2.1 操作系统的计算环境 2.1.1 操作系统计算环境的背景 本实验帮助回顾Windows 2000/XP 、UNIX 和Linux 的计算环境术语,加深理解 有关操作系统的基础概念。学生还将调查在学校或其他机构中Windows 、UNIX 和Linux 的使用情况,看哪些机构在使用Windows 、UNIX 或者Linux 系统;研究Web 站点,看哪些因特网网站 (尤其是简体中文网站) 分别支持着Windows 、UNIX 和Linux 操作系统的应用。 2.1.2 练习与实验 本节“练习与实验”的目的是: 通过实验,加深对以下内容的理解: 1) 基本的计算机硬件组件; 2) 计算机操作系统; 3) Windows 的发展和版本 4) UNIX 和Linux 的历史和版本; 5) Windows XP 、UNIX 或Linux 操作环境。 调查在机构、学校和学生中Windows 、UNIX 和Linux 操作系统的使用情况。 实验 2 操作系统环境

26 操作系统原理实验(第二版) 分别研究支持Windows和Linux的Web站点。 1. 工具/准备工作 在开始本实验之前,请回顾教科书的相关内容。 请联系指导老师或者熟识网络技术的人士,如学校或企业信息技术部门的职员,了解你所在的学校 (或者其他机构) 中使用了哪些服务器和网络操作系统,找出是否在用Windows 2000/XP、UNIX和Linux以及在哪里使用这些操作系统。 需要准备一台带有浏览器,能够访问因特网的计算机。 2. 实验内容与步骤 (1) 识别一台计算机的4个主要硬件组成部分。 1) __运算器___ 2) ___控制器 3) 存储器 4) 输入输出设备 (2) 在空格中,填写3个概念中的一个:内核、shell或者文件系统。 1) shell_____________ 表现为用户界面,把用户的需求翻译为系统活动。 2) 文件系统____________ 在用户之间管理和分配资源。 3) 内核______________ 提供命令解释。 4) 文件系统____________ 以层次化的结构组织和存储数据。 5) 内核___________ 进行内存管理。 6) 文件系统________ 组成部分是文件和目录。 7) shell_________ 管理硬盘、磁带机、打印机、终端、通信线路和其他设备。 (3) Windows XP操作系统的主要优点是什么? 1) 兼容性好,软件资源最丰富。 2) 速度快 3)占用资源较少 4) 用户操作无障碍,绝大部分会用电脑的人都能比较自如的使用XP (4) UNIX操作系统的主要优点是什么? 1)具有简单强大统一的I接口,将所有设备用文件表示。 2) 可靠性高 3)伸缩性较强

软件开发设计文档模板(同名10138)

软件开发设计文档

文档管理信息表 文档变更纪录

目录 1开发规划 0 1.1开发人员 0 1.2开发计划 .................................................................................................. 错误!未定义书签。 1.3开发环境和工具 (2) 1.4开发规范 .................................................................................................. 错误!未定义书签。2总体设计 (3) 2.1概念术语描述 (3) 2.1.1术语1 (3) 2.1.2术语2 (3) 2.3主要界面流程描述 (5) 2.3.1功能1界面流程 (5) 2.3.2功能2界面流程 (7) 2.4模块列表 (7) 3数据结构 (8) 4接口规范........................................................................................................... 错误!未定义书签。 4.1<模块1API> ............................................................................................. 错误!未定义书签。 4.1.1Interface1 .........................................................................................错误!未定义书签。 4.1.2Interface2 .........................................................................................错误!未定义书签。 4.2<模块2API> ............................................................................................. 错误!未定义书签。 4.3<模块3API> ............................................................................................. 错误!未定义书签。 4.4<数据库API> ........................................................................................... 错误!未定义书签。5模块设计........................................................................................................... 错误!未定义书签。 5.1M ODULE1设计.......................................................................................... 错误!未定义书签。 5.1.1模块设计描述..................................................................................错误!未定义书签。 5.1.2模块界面描述..................................................................................错误!未定义书签。 5.2M ODULE2设计.......................................................................................... 错误!未定义书签。6附录 (12) 6.1第三方组件 (12) 6.2参考资料 (13) 6.3附加文档 .................................................................................................. 错误!未定义书签。

相关主题