文档库 最新最全的文档下载
当前位置:文档库 › 30天自制操作系统第8天

30天自制操作系统第8天

30天自制操作系统第8天
30天自制操作系统第8天

操作系统实验日志

一、实验主要内容

1. 鼠标解读(1)

已经能从鼠标取得数据了,紧接着的问题是要解读这些数据,调查鼠标是怎么移动的,然后结合鼠标的动作,让鼠标指针相应地动起来。

首先对bootpack.c中的HariMain进行一些修改:

for (;;) {

io_cli();

if (fifo8_status(&keyfifo) + fifo8_status(&mousefifo) == 0) {

io_stihlt();

} else {

if (fifo8_status(&keyfifo) != 0) {

i = fifo8_get(&keyfifo);

io_sti();

sprintf(s, "%02X", i);

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, 0, 16, 15, 31);

putfonts8_asc(binfo->vram, binfo->scrnx, 0, 16, COL8_FFFFFF, s);

} else if (fifo8_status(&mousefifo) != 0) {

i = fifo8_get(&mousefifo);

io_sti();

if (mouse_phase == 0) /*等待鼠标的0xfa的状态*/

{

if (i == 0xfa)

{

mouse_phase = 1;

}

} else if (mouse_phase == 1) {

/*等待鼠标的第一字节*/

mouse_dbuf[0] = i;

mouse_phase = 2;

} else if (mouse_phase == 2) {

/* 等待鼠标的第二字节*/

mouse_dbuf[1] = i;

mouse_phase = 3;

} else if (mouse_phase == 3) {

mouse_dbuf[2] = i;

mouse_phase = 1;

/*鼠标的三个字节都齐了,显示出来*/

sprintf(s, "%02X %02X %02X", mouse_dbuf[0], mouse_dbuf[1], mouse_dbuf[2]);

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, 32, 16, 32 + 8 * 8 - 1, 31);

putfonts8_asc(binfo->vram, binfo->scrnx, 32, 16, COL8_FFFFFF, s);

}

}

}

}

实际上是将HariMain中for循环部分进行修改,首先把最初读到的0xfa舍弃掉。之后,每次从鼠标那里送过来的数据都应该是3个字节一组的,所以每当数据累积到3个字节,就把他显示在屏幕上。

变量mouse_phase用来记住接受鼠标数据的工作进展到了什么阶段(phase)。接受到的数据放在mouse_dbuf[0~2]内。

if (mouse_phase == 0) /*等待鼠标的0xfa的状态*/

{

各种处理;

} else if (mouse_phase == 1) {

/*等待鼠标的第一字节*/

各种处理;

} else if (mouse_phase == 2) {

/* 等待鼠标的第二字节*/

各种处理;

} else if (mouse_phase == 3) {

/*鼠标的三个字节都齐了,显示出来*/

各种处理;

}

这部分就是对于不同的mouse_phase值,相应地做各种不同的处理。显示结果如下(鼠标移动过):

屏幕上除了括号内的还有三字节数字,即mouse_dbuf[0],mouse_dbuf[1],mouse_dbuf[2]里的数据。“08”部分0会在0~3的范围内变化,这里鼠标左移时显示1,下移时显示2,这是演讲的同学提出的,湛林莉她观察还真是厉害,不仅将上下左右,还把右下、坐下等也看了出来。“8”只有在点击鼠标时才会有变化,值在8~F之间。第二个字节与鼠标的左右移动有关,第三个字节与鼠标的上下移动有关。这里的信息方便下面为鼠标的动作做出判断。

2. 整理

在HariMain函数中出现的unsigned char mouse_dbuf[3], mouse_phase;声明可以放到函数前的结构体里:

struct MOUSE_DEC {

unsigned char buf[3], phase;

};123

并在这句话修改为:

struct MOUSE_DEC mdec;1

创建的这个结构体MOUSE_DEC,DEC是decode的缩写,用这个结构日把鼠标所需要的变量都归总到一块儿。然后将鼠标的解读从函数HariMain的接受信息处理中剥离出来,放到了mouse_decode函数。

3. 鼠标解读(2)

struct MOUSE_DEC {

unsigned char buf[3], phase;

int x, y ,btn;

};

int mouse_decode(struct MOUSE_DEC *mdec, unsigned char dat)

{

if (mdec->phase == 0) {

/* 等待鼠标的0xfa的阶段*/

if (dat == 0xfa) {

mdec->phase = 1;

}

return 0;

}

if (mdec->phase == 1) {

/* 等待鼠标第一字节的阶段*/

if ((dat & 0xc8) == 0x08) {

/*如果第一字节正确*/

mdec->buf[0] = dat;

mdec->phase = 2;

}

return 0;

}

if (mdec->phase == 2) {

/* 等待鼠标第二字节的阶段*/

mdec->buf[1] = dat;

mdec->phase = 3;

return 0;

}

if (mdec->phase == 3) {

/* 等待鼠标第三字节的阶段*/

mdec->buf[2] = dat;

mdec->phase = 1;

mdec->btn = mdec->buf[0] & 0x07;

mdec->x = mdec->buf[1];

mdec->y = mdec->buf[2];

if ((mdec->buf[0] & 0x10) != 0)

{

mdec->x |= 0xffffff00;

}

if ((mdec->buf[0] & 0x20) != 0){

mdec->y |= 0xffffff00;

}

mdec->y = - mdec->y; /*鼠标的y方向与画面符号相反*/

return 1;

}

return -1; /* 应该不可能到这里来*/

}

结构体里增加的几个变量用于存放解读结果,这几个变量是x、y和btn,分别用于存放移动信息和鼠标按键状态。if (mdec->phase == 1)这个语句用于判断第一字节对移动有反应的部分是否在0~3的范围内;同时还要判断第一字节对点击有反应的部分是否在8~F的范围内,如果不在以上数据范围内就被舍去。这样做是因为鼠标连线可能会由接触不良,这样产生的数据就有错位,不能顺利解读。if (mdec->phase == 3)语句是解读处理的核心。鼠标键的状态放在buf[0]的低3位,我们只取出这3位。十六进制的0x07相当于二进制的0000 0111,通过与运算(&)取出低3位。x,y基本上直接使用buf[1]和buf[2],但是需要使用第一字节中对鼠标移动有反应的几位,将x和y的第8位及第8位以后全部都设成1,或全部都保留为0,就能正确解读x 和y。解读最后对y符号进行了取反操作是因为鼠标与屏幕的y方向正好相反,为了配合画面方向,就对y符号进行了取反操作。

鼠标数据解读完成之后接下来修改显示部分:

else if (fifo8_status(&mousefifo) != 0) {

i = fifo8_get(&mousefifo);

io_sti();

if (mouse_decode(&mdec, i) != 0) /*3字节都凑齐了,所以把它们显示出来*/

{

sprintf(s, "[lcr %4d %4d]", mdec.x, mdec.y);

if ((mdec.btn & 0x01) != 0) {

s[1] = 'L';

}

if ((mdec.btn & 0x02) != 0) {

s[3] = 'R';

}

if ((mdec.btn & 0x04) != 0) {

s[2] = 'C';

}

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, 32, 16, 32 + 15 * 8 - 1, 31);

putfonts8_asc(binfo->vram, binfo->scrnx, 32, 16, COL8_FFFFFF, s);

}

}

4. 移动鼠标指针

现在就是让鼠标指针在屏幕上动起来啦,感觉好激动,终于能动了(白眼)。

else if (fifo8_status(&mousefifo) != 0) {

i = fifo8_get(&mousefifo);

io_sti();

if (mouse_decode(&mdec, i) != 0) /*3字节都凑齐了,所以把它们显示出来*/

{

sprintf(s, "[lcr %4d %4d]", mdec.x, mdec.y);

if ((mdec.btn & 0x01) != 0) {

s[1] = 'L';

}

if ((mdec.btn & 0x02) != 0) {

s[3] = 'R';

}

if ((mdec.btn & 0x04) != 0) {

s[2] = 'C';

}

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, 32, 16, 32 + 15 * 8 - 1, 31);

putfonts8_asc(binfo->vram, binfo->scrnx, 32, 16, COL8_FFFFFF, s);

/*鼠标指针的移动*/

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, mx, my, mx + 15 * 8 - 1, my + 15); /*隐藏鼠标*/

mx += mdec.x;

my += mdec.y;

if (mx < x)

{

mx = 0;

}

if (my < 0)

{

my = 0;

}

if (mx > binfo->scrnx - 16)

{

mx = binfo->scrnx - 16;

}

if (my > binfo->scrny - 16)

{

my = binfo->scrny - 16;

}

sprintf(s, "(%sd, %3d)", mx, my);

boxfill8(binfo->vram, binfo->scrnx, COL8_008484, 0, 0, 79, 15); /*隐藏坐标*/

putfonts8_asc(binfo->vram, binfo->scrnx, 0, 0, COL8_FFFFFF, s); /*显示坐标*/

putfonts8_8(binfo->vram, binfo->scrnx, 16, 16, mx, my, mcursor, 16); /*描画鼠标*/

}

先隐藏到鼠标指针,然后根据取得的鼠标数据解读得到的位移量,让鼠标显示在屏幕上。mx += mdec.x;

my += mdec.y;

是为了防止鼠标指针跑到屏幕外进行的调整。

5. 通往32位模式之路

这里讲解了asmhead.nas中的程序。

; PIC关闭一切中断

; 根据AT兼容机的规格,如果要初始化PIC,

; 必须在CLI之前进行,否则有时会挂起,

; 随后进行PIC的初始化

MOV AL,0xff

OUT 0x21,AL

NOP ; 如果连续执行OUT指令,有些机种会无法正常运行

OUT 0xa1,AL

CLI ; 禁止CPU级别的中断

这段程序等同于一下内容的C程序。

io_out8(PIC0_IMR, 0xff ); /* 禁止主PIC的全部中断*/

io_out8(PIC1_IMR, 0xff ); /* 禁止从PIC的全部中断*/

Io_cli(); /*禁止CPU级别的中断*/

为了让CPU能够访问1MB以上的内存空间,设定A20GATE

CALL waitkbdout

MOV AL,0xd1

OUT 0x64,AL

CALL waitkbdout

MOV AL,0xdf ; enable A20

OUT 0x60,AL

CALL waitkbdout1234567

这里的waitbdout等同于wait_KBC_sendread,等同于C语言中的:

#define KEYCMD_WRITE_OUTPORT 0xd1

#define KBC_OUTPORT_A20G_ENABLE 0xdf

/* A20GATE的设定*/

Wait_KBC_sendready();

Io_out8(PORT_KEYCMD, KEYCMD_WRITE_OUTPORT);

Waite_KBC_sendready();

Io_out8(PORT_KEYDATA, KBC_OUTPORT_A20G_ENABLE);

Waite_KBC_sendready(); /*这句话是为了等待完成执行指令*/

程序的基本结构与init_keyboard完全相同,功能仅仅是往键盘控制电路发送指令。这里发送的指令,是指令键盘控制电路的附属端口输出0xdf。这个附属端口,连接着主板上的很多地方,通过这个端口发送不同的指令,就可以实现各种各样的控制功能。

这次输出0xdf所要完成的功能,是让A20GATE信号线变成ON的状态。这条信号线的作用是使内存的1MB以上的部分变成可使用状态。Waite_KBC_sendready();是多余的,在此之后,虽然不会往键盘送命令,但仍然要等到下一个命令能够送来为止。这是为了等待A20GATE的处理切实完成。

; 切换到保护模式

[INSTRSET "i486p"] ; “想要使用486指令”的叙述

LGDT [GDTR0] ; 设定临时GDT

MOV EAX,CR0

AND EAX,0x7fffffff ; 设bit31为0(为了禁止颁)

OR EAX,0x00000001 ; 设bit0为1(为了切换到保护模式)

MOV CR0,EAX

JMP pipelineflush

pipelineflush:

MOV AX,1*8 ; 可读写的段32bit

MOV DS,AX

MOV ES,AX

MOV FS,AX

MOV GS,AX

MOV SS,AX

INSTRSET指令,是为了能够使用386以后的LGDT,EAX,CR0等关键字。LGDT指令将暂定的GDT读进来。然后将CR0这一特殊的32寄存器的值带入EAX,并将最高位置为0,最低位置为1,再将这个值返回给CR0寄存器。这样就完成了模式转换,进入到不用颁的保护模式。CR0,也就是control register 0,是一个非常重要的寄存器,只有操作系统才能操作它。

保护模式是指操作系统受到CPU的保护,应用程序既不能随便改变段的设定,又不能使用操

作系统专用的段。通过带入CR0而切换到保护模式时,要马上执行JMP指令。因为变成保护模式后,机器语言的解释要发生变化。CPU为了加快指令的执行速度而使用了管道(piprline)这一机制。也就是说,前一条指令还在执行的时候就开始解释下一条甚至再下一条指令。因为模式变了,就要重新解释一遍,所以加入了JMP指令。并且在进入保湿模式以后,段寄存器的意思也变了(不再是乘以16后再加算的意思了),除了CS以外所有段寄存器的值都从0x0000变成了0x0008.CS保持原状是因为如果CS也变了,会造成混乱,所以只有CS要放到后面再处理。0x0008,相当于“gdt+1”的段。

; bootpack的传送

MOV ESI,bootpack ; 传送源

MOV EDI,BOTPAK ; 传送目的地

MOV ECX,512*1024/4

CALL memcpy

; 磁盘数据最终转送到它本来的位置去

; 首先从启动扇区开始

MOV ESI,0x7c00 ; 传送源

MOV EDI,DSKCAC ; 传送目的地

MOV ECX,512/4

CALL memcpy

; 所有剩下的

MOV ESI,DSKCAC0+512 ; 传送源

MOV EDI,DSKCAC+512 ; 传送目的地

MOV ECX,0

MOV CL,BYTE [CYLS]

IMUL ECX,512*18*2/4 ; 从柱面数变换为字节数/4

SUB ECX,512/4 ; 减去IPL

CALL memcpy

这部分程序只是在调用memcpy函数,同样可以理解成C语言形式(写法可能不正确,但中心思想是类似的):

memcpy(bootpack, BOTPAK, 512*1024/4);

memcpy(0x7c00, DSKCAC, 512/4 );

memcpy(DSKCAC0+512, DSKCAC+512, cyls*512*18*2/4 - 512/4);

函数mencpy是赋值内存的函数,语法如下:

memcpy(转送源地址, 转送目的地址, 转送数据的大小);

转送数据大小是以双字节位单位的,所以数据大小用字节数除以4来指定。

memcpy(0x7c00, DSKCAC, 512/4);

DSKCAC是0x00100000,所以上面这句话就是从0x7c00复制512字节到0x00100000。这正好是将启动扇区复制到1MB以后的内存去。

memcpy(DSKCAC0+512, DSKCAC+512, cyls*512*18*2/4 - 512/4);

它的意思是将始于0x00008200的磁盘内容,复制到0x00100200那里。

上文中“转送数据大小”的计算有点复杂,因为它是以柱面数来计算的,所以需要减去启动区的那一部分长苏。IMUL是乘法运算,SUB是减法运算。

bootpack是asmhead,nas的最后一个标签,haribote.hrb连接起来而生成的,所以asmhead结束的地方,紧接着串联着bootpack.hrb最前面的部分。

memcpy(bootpack, BOTPAK, 512*1024/4);

→从bootpack的地址开始的512KB内容复制到0x00280000号地址去

; 必须有asmhead来完成的工作,至此全部完毕

; 以后就变由bootpack来完成

; bootpack的启动

MOV EBX,BOTPAK

MOV ECX,[EBX+16]

ADD ECX,3 ; ECX += 3;

SHR ECX,2 ; ECX /= 4;

JZ skip ; 没有要转送的东西时

MOV ESI,[EBX+20] ; 转送源

ADD ESI,EBX

MOV EDI,[EBX+12] ; 转送目的地

CALL memcpy

skip:

MOV ESP,[EBX+12] ; 栈初始值

JMP DWORD 2*8: 0x0000001b

这里仍然是在做memcpy,它对bootpack.hrb的header进行解析,将执行必需的数据传送过去。EBX里带入的是BOTPAK,所以值如下:

[EBX + 16]……bootpack.hrb之后的第16号地址。值是0x11a8

[EBX + 20]……bootpack.hrb之后的第20号地址。值是0x10c8

[EBX + 12]……bootpack.hrb之后的第12号地址。值是0x00310000

上面这些值是通过二进制编辑器,打开harib05d的bootpack.hrb后确认的。这些值因harib的版本不同而有所变化。SHA指令是向右移位指令,相当于“ECX>>=2;”,JZ时条件转移指令,来自英文jump if zero,根据前一个计算结果是否为0来决定是否跳转。最终这个memcpy的作用是将bootpack.hrb第0x10c8字节开始的0x11a8字节复制到0x00310000号地址去。最后将0x310000代入到ESP里,然后用一个特别的JMP指令,将2*8代入到CS里,同时移动到0x1b 号。这里的0x1b号地址是指第2个段的0x1b号地址。第2个段的基地址是0x280000,所以实际上是从0x28001b开始执行的。也就是bootpack.hrb的0x1b号地址。

然后是这个我们制作的这个“纸娃娃系统”的内存分布图:

0x00000000 - 0x000fffff : 虽然在启动中会多次使用,但之后就变空。(1MB)

0x00100000 - 0x00267fff : 用于保存软盘的内容。(1440KB)

0x00268000 - 0x0026f7ff : 空(30KB)

0x0026f800 - 0x0026ffff : IDT(64KB)

0x00270000 - 0x0027ffff : GDT(64KB)

0x00280000 - 0x002fffff : bootpack.hrb(512KB)

0x00300000 - 0x003ffff : 栈及其他(1MB)

0x00400000 - : 空

waitkbdout:

IN AL,0x64

AND AL,0x02

IN AL,0x60 ; 空读(为了清空数据接收缓冲区中的垃圾数据)

JNZ waitkbdout ; AND的结果如果不是0,就跳到waitkbdout

RET

waitbdout与wait_KBC_sendready相同,但也添加了部分处理,就是从0x60号设备进行IN的处理。如果控制器里有键盘代码,或者已经积累了鼠标数据,就顺便把它们读取出来。JNC与JZ相反,意思是“jump if not zero”

memcpy:

MOV EAX,[ESI]

ADD ESI,4

MOV [EDI],EAX

ADD EDI,4

SUB ECX,1

JNZ memcpy ; 减法运算的结果如果不是0,就跳转到memcpy

RET

复制内存的程序。

ALIGNB 16

GDT0:

RESB 8 ; NULL selector

DW 0xffff,0x0000,0x9200,0x00cf ; 可以读写的段(segment)32bit

DW 0xffff,0x0000,0x9a28,0x0047 ; 可以执行的段(segment)32bit(bootpack用)

DW 0

GDTR0:

DW 8*3-1

DD GDT0

ALIGNB 16

bootpack:

ALIGNB指令的意思是一直添加DBO,直到时机合适的时候为止,即最初的地址能被16整除。如果标签GDT0的地址不是8的整数倍,想段寄存器复制的MOV指令就会慢一些。所以插入了ALIGNB指令。

GDT0也是一种特定的GDT,0号是空区域(null sector),不能够在那里定义段。1号和2号分别由下式设定:

Set_segmdesc(gdt + 1, 0xffffffff, 0x00000000, AR_DATA32_RW);

Set_segmdesc(gdt + 2, LIMIT_BOTPAK, ADR_BOTPAK, AR_CODE32_ER);12

GDTR0时LGDT指令,意思是通知GDT0说“有了GDT哟”。在GDT0里,写入了16位的段上限,和32位的段起始地址。最初状态时,GDT在asmhead.nas里,并不在0x00270000~0x0027ffff 的范围里。IDT连设定都没设定,所以扔处于中断禁止的状态。应当趁着硬件上积累过多数据而产生误动作之前,尽快开放终端,接收数据。因此,在bootpack.c的HariMain里,应该在进行调色板(palette)的初始化以及画面的准备之前,先赶紧重新创建GDT和IDT,初始化PIC,并执行”io_sti();”。

二、遇到的问题及解决方法

填写说明:分条目列出本次的实验过程中遇到的问题和解决方法(可注明是哪位同学帮忙解决问题),描述问题时应配上相关的截图和标记,描述解决方法时应先分析出现该问题的原因再

讲解决方法,尽量详细。

1、鼠标指针“吃掉”任务栏是为啥?

因为每次鼠标移动前都要先清除掉目前的鼠标,而作者的做法是让背景色即008484覆盖指针,所以在上面看起来鼠标移动正常,但移动到任务栏时,任务栏像素显存也被修改为008484,再加上鼠标本身背景色(bc)也是008484,所以,鼠标到的地方16*16范围内背景也会变为008484.

2、Ipl.bin,asmhead.bin,bootpack.hrb三个文件在软盘中的储存地址。

打开软盘文件和asmhead.bin文件可以看出lpl.bin地址为000-1ff, asmhead.bin地址为0x4200-0x432f,又因为bootpack紧接在asmhead.bin后,则其地址为0x4330-0x6b83

3、2中文件加载在内存的初始地址和复制后地址。

启动区lpl地址应为0x7c00-0x7dff, asmhead.bin地址应为0xc200-c32f, bootpack.hrb加载在内存地址为:0xc330-0xeb83

复制后的地址分别为:0x00100000-0x001001ff, asmhead.bin地址应为0x00104200-0x0010432f, bootpack.hrb复制后应该有两个?我看是复制了两次(没看到诶),一个应该在asmhead.bin后,地址为0x00104330-0x00106b83.另外开辟了一个512kb的内存,地址为0x00280000-0x002fffff;

三、程序设计创新点

1.实现鼠标移动的同时不会“吃掉”背景;

具体实现步骤:

A,开辟一个大小为256的整形数组,用来保存鼠标下一次显示位置的显存信息;

B,给数组初始化为当前鼠标该有背景色,这里为008484,256个像素全部初始化;

C,恢复当前鼠标位置背景,即将数组数据赋给当前鼠标像素;

D,将下一次鼠标显示位置的显存信息保存在数组里,覆盖原来的值。(这里在mx,my改变后,鼠标显示前进行,就可以利用mx,my取到相关信息);

E,显示鼠标下一步的位置(这里稍作修改,只显示光标,背景bc不显示,就好办多了);

F,重复步骤C,D,E。

效果图如下:

如何用U盘安装安装deepin版的XP操作系统(详细图解)

如何用U盘安装安装deepin版的XP操作系统(详细图解) 在笔记本电脑早已普及到会议室的这个年代,商务人士拿笔记本来演示PPT以及做电子版的会议记录;在笔记本电脑已经普及到教室的这个年代,学生们甚至在用笔记本翻阅资料进行开卷考试。 随着笔记本电脑正在成为人们生活中不可或缺的一部分,新的问题来了,盲目的追求性价比导致的是机身重量肆无忌惮的在力压人们的肩膀,也就是“扁担效应”。有笔记本常识的人都知道,性价比和便携性是笔记本领域的正反命题,它们之间永远对立而不可能和谐相处,即使国家在努力提倡和谐社会。 很多对移动性有要求的用户,在吃了第一个笔记本的性价比甜头的同时却都在忍受着“扁担效应”的副作用。因此他们开始选择只为便携而存在的第二台机器,而这种机器大多有一个特点,就是无光驱设计!在市场里放眼望去,不带光驱的笔记本通常都是轻便型机器的代表,它们的重量很轻,性能却不马虎,虽然售价高高在上,但依然获得了很多受不了“扁担效应”,追求移动性强的笔记本用户的青睐。 笔者就有不少朋友在使用不带光驱的笔记本,但是问题也来了,需要重装系统的时候,没有光驱,该怎么办?也许你会说可以在dos下硬盘安装,但有几个人会用dos? 其实不仅仅不带光驱的笔记本用户愁怎么装系统,那些没有光驱的台式机用户也愁。为了给这类用户提供方便,笔者今天就来讲解一下,在没有光驱的情况下,如何方便快速的安装操作系统。 ● 装系统前的准备 一个能启动电脑的U盘和一个系统的光盘镜像 在安装系统前,需要准备好一些东西。一个是操作系统的镜像,另一个就是能启动的U 盘。下面我们就来讲解怎么安装deepin版的XP系统。 注:读懂本文需要了解安装操作系统的一些基础知识。 ● 首先是制作一个能启动电脑的带WindowsPE的启动U盘 先到网上去下载一个叫“老毛桃WinPE”的工具到硬盘里,再把U盘接在电脑上,然后按下面的步骤一步步来就可以制作一个能启动的U盘了。

Win7系统镜像制作DIY

Win7系统封装制作 一、封装前准备工作。 1、启用Administrator管理员用户帐户和禁用当前使用的管理员用户帐户。 ①右键“计算机”,点击“管理”,系统会弹出“计算机管理”界面。在“计算机管理”界面左边窗格在双击“本地用户和组”,再点击“用户”,“计算机管理”界面中间窗格就会显示计算机里的所有用户帐户,其中名称与安装系统时输入用户名相同就是当前使用的管理员用户帐户。 ②右键Administrator用户图标,点击“属性”,在弹出的Administrator属性对话框内把“帐户已禁用”前面勾去除,再点“确定”就可以启用Administrator 用户帐户了。 ③接下来,右键当前正在使用的管理员用户图标,点击“属性”,在弹出的当前正在使用的管理员用户属性对话框内选上“帐户已禁用”,点击“确定”禁用当前正在使用的管理员用户帐户。 ④启用Administrator管理员用户帐户和禁用当前使用的管理员用户帐户后,重新启动计算机,系统会自动使用Administrator用户帐户进行登陆。 2、将原来对系统和应用程序的设置转换成对所有用户的默认设置(也就是说以后每建立1个新用户帐户,都可以直接使用刚被禁用的用户帐户对系统和应用程序所作的设置)。 ①打开“控制面板”,点击“外观和个性化”,找到并点击“文件夹选项”下方的“显示隐藏的文件和文件夹”,在弹出的“文件夹选项”对话框中,将“隐藏受保护的操作系统文件(推荐)”前面的勾去除,再选上“显示隐藏的文件和文件夹”,点击“确定”使计算机所有文件和文件夹都显示出来。 ②打开系统盘的用户文件夹C:Users,可以看到每个用户帐户对应的文件夹。 ③将刚被禁用用户帐户的文件夹(Maker)里面的“AppData”文件夹和NTUSER.DAT、ntuser.dat.LOG1 、ntuser.dat.LOG2 、 NTUSER.DAT{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.TM.blf、 NTUSER.DAT{xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx}.TMContainer00000000000000000001.regtrans-ms、 NTUSER.DAT{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.TMContainer0000000000000000 0002.regtrans-ms 、ntuser.ini(如果有SciTE.sessio、全局缩写.properties这2个文件的话,也要选上)复制到默认用户的文件夹(C:UsersDefault)内,复制过程中如果提示有文件或文件夹同名则点击“确定”覆盖或合并即可。 3、删除原来的用户帐户(即刚被禁用的用户帐户)及其配置文件夹。 ①右键“计算机”,点击“管理”,系统会弹出“计算机管理”界面。在“计算机管理”界面左边窗格在双击“本地用户和组”,再点击“用户”,在“计算机管理”界面中间窗格找到原来的用户帐户(即刚被禁用的用户帐户),右键该用户图标,然后点击“删除”。 ②退出“计算机管理”界面,右键“计算机”,点击“属性”,再点击“高级系统设置”,在弹出的“系统属性”对话框里切换到“高级”选项卡,点击“用户配置文件”框内的“设置”,系统会弹出的“用户配置文件”对话框,这里会看到有3个用户的配置文件(1个是Administrator的配置文件,1个默认配置文件,还有1个显示为未知的帐户),显示为未知的帐户就是刚刚删除的用户帐户,把它的配置文件删除即可:选择“未知的帐户”,点击“删除”,再点击“确定”退

移动终端操作系统架构概览解剖

现有的终端操作系统: Android、Windows Mobile、Symbian、iPhone、BlackBerry、Windows Phone 7、Beda Android操作系统 Android是Google公司基于Linux平台的开源智能移动终端操作系统。 历代Android 系统的名称,这真的是一份小吃的盛宴啊: Android 1.5 Cupcake(纸杯蛋糕) Android 1.6 Donut(甜甜圈) Android2.0/2.0.1/2.1 Eclair(松饼) Android 2.2/2.2.1 Froyo(冻酸奶) Android 2.3 Gingerbread(姜饼) Android 3.0/3.1/3.2 Honeycomb(蜂巢) Android 4.0 Ice Cream Sandwich(冰激凌三明治) Android 5.0 Jelly Bean(果冻豆) Android 6.0 Key Lime Pie(柠檬派) Android是一个针对移动设备的程序集, 其中包括一个操作系统, 一个中间件和一些关键性应用. 特性 ?程序程序框架可重用及可复写组件组成 ?针对移动设备优化过的Dalvik虚拟机 ?整合浏览器, 该浏览器基于开源的WebKit引擎开发 ?提供了优化过得图形系统, 该系统由一个自定义的2D图形库; 一个遵循OpenGL ES 1.0标准(硬件加速)的3D图形库组成 ?使用SQLite来实现结构化数据的存储 ?媒体方面对一些通用的audio, video, 和图片格式提供支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ?GSM技术(依赖硬件) ?蓝牙, EDGE, 3G和WiFi(依赖硬件) ?Camera, GPS, 指南针, 和加速计(依赖硬件) ?非常丰富的开发环境, 包括一个设备模拟器, 调适工具, 内存和效率调优工具和一个Eclipse的插件ADT Android平台的整体架构分为4层:①Linux内核层、②系统运行库、③应用程序框架层、④应用程序层Android采用层次化系统架构。其软件层次结构包括操作系统(OS)、中间件(MiddleWare)和应用程序(Application)。

十二款操作系统安装全程图解1

十二款操作系统安装全程图解 Windows 98篇: 一、准备工作: 1.首先当然是要准备好Windows 98的系统安装光盘。 2.在可能的情况下,可以在运行安装程序之前用磁盘扫描程序将所有硬盘扫描一遍,检查硬盘错误并进行修复,否则安装程序运行时如果检查到有硬盘错误就会很麻烦。 3.如果安装过程中需要用产品密匙(安装序列号)的,用纸张记录安装文件的产品密匙(安装序列号)。 4.安装之前可以用驱动程序备份工具(如:驱动精灵)将Windows 98下的所有驱动程序备份到硬盘上(如∶Frive)。最好能上网下载本机的网卡驱动和调制解调器等的驱动程序,如果你用宽带连接请下载并保存宽带拨号软件Enternet300,能上网就能找到大部分所要的软件。 5.如果你想在安装过程中格式化C盘(建议安装过程中格式化C盘),请备份C盘有用的数据。 6.必须有FAT或FAT32文件系统格式的分区,因为Windows 98只能安装在FAT或FAT32文件系统格式的分区,推荐分区空间大于2G。 二、用光盘启动系统: (如果你已经知道方法请转到下一步),将98安装光盘放入光驱,重新启动系统并把光驱设为第一启动盘,保存设置并重启,如无意外即可见到安装界面。 三、安装Windows 98 光盘自启动后,如无意外即可见到启动界面,将出现如下图所示,如光盘不能自启动,可用98启动软盘启动(设软驱为第一启动盘)。 如果你想格式化C盘,即选第二项进入DOS下,在提示符“A:>_”下输入“format c:”后回车,再输入“y”后回车即开如格式化C盘! 在这里我已经格式化C盘了,所以选第一项(从光盘安装98)后直接回车,很快出现如下图所示,(如果不选择在30秒后会自动启动第一项)。

30天自制操作系统日志第5天

操作系统实验日志 一、实验主要内容 1、接收启动信息和结构体 在上一章中,xsize和ysize的值都是直接赋值为320*200,但实际上我们需要从asmhead.nas 先前保存下来的值中去。即: 不然的话,当画面模式改变时系统就不能正确运行。所以试着用指针取得图像模式:void HariMain(void) { char *vram; int xsize, ysize; short *binfo_scrnx, *binfo_scrny; int *binfo_vram; init_palette(); /*设定调色板*/ binfo_scrnx = (short *) 0x0ff4;

binfo_scrny = (short *) 0x0ff6; binfo_vram = (int *) 0x0ff8; xsize = *binfo_scrnx; ysize = *binfo_scrny; vram = (char *) *binfo_vram; for(;;) { io_hlt(); /*執行naskfunc里的_io_hlt*/ } } 诶这样是不是说就可以改变画面模式了?于是天真的我: 保存运行一下,以为画面会显示坐标在左上角的320*200,结果发现画面显示错误,forget about it。诶然后发现结构体里这个在汇编里没有定义,可能作者以后讲? 哦先说结构体 可以看做结构体是将一堆变量集中声明,然后作为新的变量用于其他场合。 结构体的运用: (1)先声明结构体: 如上图 (2)后定义结构体变量:struct BOOTINFO abc; 或者定义结构体指针变量:struct BOOTINFO *binfo; 这里binfo表示指针变量后应该首先给指针赋值,可写成:Binfo = (struct

安装操作系统教程

操作系统安装流程 YZF2(001B) —·杨昭飞·— —·Zhophy Young·— 一、启动盘制作。 常用的启动盘有两种:1.刻录盘;2.系统盘。 制作启动盘所用到的软件:UltraISO、电脑电、大白菜、老毛桃等,我用的是电脑店。 1.刻录盘 刻录盘是通过UltraISO软件制作的一种在U盘只有系统文件的启动盘,刻录盘一旦制作完成就不能再随便拷入或删减U盘内的文件,也不能再拷入和删减系统无关的文件,以确保文件的完整性。 2.系统盘 系统盘是把大白菜或者老毛桃软件小系统win PE安装在U盘,使U盘内的小系统具有独立显示的功能。这种启动盘的优点是在不挪用镜像文件的情况下可以随意拷入和删减其他文件,不影响文件的安装。只要存储空间足够,可以当做一般U盘使用。 二、刻录镜像文件。 Ultra软件制作刻录盘流程: (1)(System\启动盘\刻录盘\UltraISO 绿色免费版)解压,双击打开UltraISO_9.6.2.3059.exe,默认或者修改安装路径。安装完成输入注册码激活UltraISO软件。 (2)这里以安装win8系统为例,先制作win8刻录盘。 打开UltraISO软件,然后点击文件---打开---选择win8系统镜像文件(System\系统\win8\cn_windows_8_x86_dvd_915414),确认打开后就能在软件的界面内看到整个镜像文件的信息了。数据无价,先确认文件无误再继续下边的步骤。 接下来开始制作系统安装盘,点击启动---写入硬盘映像。

进入刻录界面后,在硬盘驱动器部分选择要写入的最小4G的U盘,确认无误后点击写入,等待一段时间就行了。

DIY电脑系统

日志 [转]献给不会装系统的孩纸,好好学习! 自己有电脑,而且不会自己装系统的啊,每次系统坏了都要花钱找别人弄的啊!赶紧过学习下,电脑都用这么久了,还不会做这些,别人会笑话的!!哈哈哈。。。开始介绍吧!!给电脑装系统一般有4种办法: 1. 傻瓜式装系统: 可装Win7或WinXP,主要的操作如下: 需要准备的东西: 现有的电脑操作系统,(例如你的电脑系统还能用,但是很不给力!你想重装一下系统,或者换个系统等情况); 到网上去下载一个GHO格式的镜像文件的系统;(百度一搜一大堆!记住你下载是什么类型的系统,就能装什么类型的系统,比如WinXP,Win7,或者64位的系统); 还有一个最重要的东西,那就是Ghost备份还原工具,是EXE格式的应用程序;(百度搜“Ghost备份还原工具”,就有)具体如下图 好!准备工作好了,下面开始装系统,第一步:打开Ghost备份还原工具,界面如下:

看好!第一行选还原系统,第二行选择你下载那个GHO格式的系统 【特此声明,如果你发现你选择好的GHO文件后,然后下面选择C盘后发现最底下的“确认”按钮还是灰色不能点击;则说明你下载的系统是错误的GHO和格式的系统,建议你去重新下载GHO格式的系统,当然上图的XP系统是假的,我用压缩包改造的!】 如果选中C盘后,那个确认按钮可以使用,就点击那个确认按钮,它会弹出一个对话框;问你真的要重新启动还原系统吗?你点击是,它会自动重启并为你重新安装系统,好了,重启时你就不用动电脑了,你可以一边玩去了,他是全自动的安装系统;过个几分钟就能装好系统了!这就是最简单的傻瓜式装系统!这样装系统的缺点就是:你装的系统是被别人搞过的!不是完全的纯净版,或者微软的原版系统,这种系统里面会自带一些你不喜欢的软件,或者说你根本用不到的软件!优点除了系统自己可以装好部分驱动,其他的我就不说了,你懂的! 2.可移动磁盘(USB Device) 需要准备东西: 能用的可移动磁盘(U盘,TF卡,SD卡,MP3等等随便,其中内存至少大于512MB);WindowsPE(ISO格式的镜像文件,可在网上搜索下载,文件大小在100MB~300MB左右,太大的不好用,启动慢); WindowsXP或Windows7(是你要安装在电脑上的系统,最好是ISO格式镜像文件,WinXP大约600MB左右,Win7 32位大约2.5GB,64位的大约3.2GB左右

五大移动终端操作系统比较

五大移动终端操作系统比较 摘要: 随着五大移动终端操作系统浮出水面,让我们来领略一下五大移动终端操作系统各自的优劣势。移动信息时代正在来临,在这样的情况下,移动终端的形式和功能也处在不断的开发和扩展中,因此,在对移动终端的研究的研究中我对五大操作系统进行比较,以便更好的发挥操作系统的优势。 关键词:操作系统Linux SymbianAndroidWindows webOS 正文: 1.Linux:是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux【1】以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU 公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括

了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT 一样,允许我们使用窗口、图标和菜单对系统进行操作。 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 Linux进入到移动终端操作系统近一年多时间,就以其开放源代码的优势吸引了越来越多的终端厂商和运营商对它的关注,包括摩托罗拉和NTT DoCoMo等知名的厂商。已经开发出的基于Linux的手机有摩托罗拉的A760、A768、CEC的e2800、三星的i519等。2004年6月在日本东京BIG SIGHT展览馆举办的“LinuxWorld Expo/Tokyo 2004”博览会上,日本手机大厂商NEC则展示了其采用Linux操作系统的手机。我国的大唐电信也于7月宣布将Linux 作为其TD-SCDMA 3G手机操作系统。 Linux与其它操作系统相比是个后来者,但Linux具有二个其它操作系统无法比拟的优势。其一,Linux具有开放的源代码,能够大大降低成本。其二,既满足了手机制造商根据实际情况有针对性地开发自己的Linux手机操作系统的要求,又吸引了众多软件开发商对内容应

linux操作系统安装手册

操作系统安装 服务器推荐配置: CPU: Intel Xeon 3.2G 或以上 内存: 1G 或以上 网卡:100M 或1000M(视系统规模) 硬盘:73.4G 以上(视存储规模) 说明:此文档是REDHAT企业版AS4.0为基准的,REDHAT 9.0的安装也可以参考,只是选择安装包是不相同的。) 使用REDHAT AS4 光盘(4 碟装)。光盘版本号为:2.6.9-5和2.6.9-34,上述版本可按照下面方式安装。 设制BIOS 中的启动顺序,使计算机优先从cd-rom 启动。 打开计算机,把CD1 放入光驱,安装启动画面有多种选择, 直接回车,到下图 用TAB键切换到Skip回车 点击Next, 选择语言,如下图。

点击Next,配置键盘(默认),如下图。 点击Next,开始配置鼠标(默认),如下。 点击Next,分区格式选Manually partition with disk druid,如下图。 点击Next,开始分区。如下图。

如果此机器有两块或两块以上硬盘的话,会在图8 中显示出来例如hda 和hdc,那么注意要给在某个硬盘上(举例 说明,比如硬盘hda)创建分区时,点击new,在下一图形界面中,会提示有两块硬盘,此时必须打勾只选中需 要在上面创建分区的那块硬盘(例子中应该是hda),也就是说把另一块硬盘(例子中应该是hdc)前面的钩去掉。 对于只有一块硬盘的安装过程来说,只需按正常步骤就可以。 我们假设这台计算机中只有一块硬盘。一般使用IDE 硬盘时设备名为/dev/had(如果我们使用的是一个SCSI 硬盘,它的设备文件名为/dev/sda) 请注意。安装Linux 系统只要一个交换分区(swap)和一个根分区(/),一般情况下,根分区为10G 左右,如果还有剩余空间,那么再创建新分区,映射为(/xfmdata)做为存储分区吧。 点击new 按钮创建一个swap 分区,swap 分区大小选本机内存大小的2 倍,但不要超过1024M. FileSystem Type 选swap,一般分为512M 左右,如下图。 点击OK,配置好SWAP 分区,如下图。

操作系统

一、选择题 1.操作系统是对()进行管理的系统软件。 A、软件 B、硬件 C、计算机资源 D、应用程序 2.订购机票系统处理各个终端的服务请求,处理后通过终端回答用户,所以它是一个()。 A、分时系统 B、多道批处理系统 C、计算机网络 D、实时信息处理系统 3.下面对线程的描述错误的是()。 A、线程是调度执行的单位 B、线程是资源分配的单位 C、同一进程中的线程可以共享该进程的主存空间 D、不同线程可以执行相同的程序 4.实现虚拟存储器的目的是()。 A、实现存储保护 B、实现程序浮动 C、扩充辅存容量 D、扩充内存容量 5.最差适应算法的空白区是()。 A、按大小递减顺序排列 B、按大小递增顺序排列 C、按地址由小到大排列 D、按地址由大到小排列 6.中断机构()扫描一次中断寄存器。 A、每隔一个时间片 B、每产生一次中断时 C、在进程释放CPU时 D、在每条指令执行周期的最后时刻 7.若P、V操作的信号量S初值为3,当前值为-2,则表示有()个等待进程。 A、0 B、1 C、2 D、3 8.用磁带作为文件存储介质时,文件只能组织成()。 A、顺序文件 B、链接文件 C、索引文件 D、目录文件 9.采用()不会产生内部碎片。 A、固定分区式存储管理 B、段页式存储管理 C、分页式存储管理 D、分段式存储管理 10.通道又称I/O处理器,它用于实现()之间的信息传输。 A、内存与外设 B、CPU与外设

C、内存与外存 D、CPU与外存 11.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()。 A、并行技术 B、覆盖技术 C、缓冲技术 D、虚存技术 12.为了实现随机存取,磁盘上的文件组织成()。 A、顺序文件 B、链接文件 C、串联文件 D、索引文件 13.资源的预先分配策略可以破坏()条件。 A、互斥使用资源 B、占有且等待资源 C、非抢夺资源 D、循环等待资源 14.下述()体现了原语的主要特点? A、并发性 B、异步性 C、动态性 D、不可分割性 15.为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用()。 A、约定的方法 B、多级目录 C、路径 D、索引 16.配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样 的计算机只是逻辑上的计算机,称为()计算机。 A、并行 B、真实 C、虚拟 D、共享 17.()操作系统允许在一台主机上同时联接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A、网络 B、分布式 C、分时 D、实时 18.操作系统通过()对线程进行管理。 A、JCB B、TCB C、PCB D、CHCT 19.用P、V操作管理临界区时,信号量的初值应定义为()。 A、-1 B、0 C、1 D、任意值 20.系统“抖动”现象的发生是由()引起的。 A、交换的信息量过大 B、置换算法选择不当 C、内存容量不足 D、请求页式管理方案 21.分配到必要的资源并获得处理机时的进程状态是()。 A、就绪状态 B、执行状态 C、阻塞状态 D、撤消状态 22.下列的进程状态变化中,()变化是不可能发生的。 A、运行→就绪 B、运行→等待 C、等待→运行 D、等待→就绪 23.一个运行的进程用完了分配给它的时间片后,它的状态变为()。 A、就绪 B、等待

三大移动终端操作系统比较

Symbian:目前全球最大的一个智能手机操作系统。Symbian提供三个主要的智能手机平台,分别是适用于单手操作的S60、双手操作的S80和以笔操作为主UIQ平台,其中S60的应用最多。今年上半年Symbian手机出货量为500万支,预计2008年或2009年前,Symbian手机销售量将达2亿支。Symbian手机目前包括诺基亚9300智能手机、索尼爱立信P910智能手机及诺基亚N-Gage等。 与其他移动终端操作系统相比,Symbian具有以下两个特点: 一是,专门研究移动终端操作系统的厂商由于Symbian OS起初为手机专用操作系统,因此其对移动通信协议如GSM、GPRS、WCDMA、蓝牙以及CDMA 2001X等的支持优于其他系统。在手机用户的接受程度、手机软件的易用性、运营商的合作等方面都有一定优势。 二是,Symbian由众多顶级传统手机厂商联合成立,公司的股东诺基亚和索尼爱立信等几家手机巨头的支持也是其他竞争对手不可企及的巨大优势。凭借这些手机厂商生产上的技术优势和市场经验,其智能手机在未来若干年的国际市场中都会占有很大份额。但同时,这些手机厂商之间存在竞争又有合作的关系,这也是限制Symbian发展的致命一点。企业内部存在着许多诸如专利、费用、地位等问题,这些势必导致各公司之间的分歧,影响技术发展。 现在Symbian正面临着来自Windows Mobile和Linux的强力挑战,内忧外患给Symbian带来了巨大的压力。但无论如何,具有多年的发展经验、众多顶级厂商的支持以及广泛的用户认识度,Symbian仍将在未来几年内保持优势地位,这一点是毋庸置疑的。 Windows Mobile:微软在移动终端操作系统上有三个系列,分别为Pocket PC、Pocket PC Phone Edition和Sm arp hone 统称为Windows Mobile ,最新推出的Windows Mobile操作系统底层采用Windows CE .net 4.2内核。 微软获得了包括AT&T无线、Cingular无线、Sprint PCS、Verizon无线以及T-Mobile等多家美国顶级移动运营商的支持。目前,在全世界范围内已经有28个国家的60多家移动运营商推出了基于Windows Mobile操作系统的手机产品。例如Sprint PCS 的Smart Device PPC-6601就应用了Windows Mobile 2003 Second Edition操作系统,这款设备集成了QWERTY键盘能方便输入,同时还支持1xRTT、Wi-Fi以及蓝牙等多种连接方式。 基于微软在用户中较高的认识度和其操作系统的易用性,微软将是Symbian最大的竞争对手,其市场份额在未来几年内将会增加,与Symbian的差距将逐渐缩小。 微软在智能手机市场上主要竞争优势包括:集成了用户熟悉的常用软件,如Mobile outlook和Windows Media Player等,用户能够通过Outlook收发电子邮件,拥有与PC同步的邮箱、联系人、任务、日历等,通过Word、Excel、PowerPoint等系列办公软件,实现移动办公。另外,由于微软在PC操作系统中的统治地位,在用户中广泛的品牌认知度,也非常有利于微软在移动终端操作系统中的推广。从话音业务发展起来的Symbian适合一般消费人群,而工作、生活都离不开电脑的人群,比如信息工作者,更容易适应从Windows发展过来的能与电脑无缝连接的Windows Mobile。

(完整版)1、XXX系统安装部署说明书

XXX系统安装部署说明书 修改记录

目录 目录 XXX系统安装部署说明书 (1) 修改记录 (1) 目录 (2) 1 引言 (3) 1.1 编写目的 (3) 1.2 系统背景及介绍 (3) 1.3 适应人群 (3) 1.4 定义 (4) 1.5 参考资料 (4) 2 硬件环境部署 (4) 2.1 硬件拓扑图 (4) 2.2 硬件配置说明 (4) 2.3 网络配置说明 (4) 3 软件环境部署 (5) 3.1 软件清单 (5) 3.2 软件部署顺序 (5) 3.3 操作系统安装 (5) 3.4 数据库安装 (5) 3.5 中间件产品安装 (6) 3.6 其它软件产品安装 (6) 4 应用系统安装配置 (6) 4.1 应用系统结构图 (6) 4.2 应用清单 (6) 4.3 安装准备 (7) 4.4 安装步骤 (7) 4.5 应用配置 (8)

5 系统初始化与确认 (8) 5.1 系统初始化 (8) 5.2 系统部署确认 (8) 6 系统变更记录 (8) 6.1 系统变更列表 (8) 6.2 系统变更记录 (9) 1 引言 1.1 编写目的 系统安装部署说明书主要用于详细描述整个系统的软硬件组成、系统架构,以及各组成部分的安装部署方法、配置方法等信息,通过本文档可以对整体系统进行全新部署,或者针对某个组成部分进行重新部署。 1.2 系统背景及介绍 【简单描述系统的建设背景和系统基本情况介绍。】 1.3 适应人群 本说明书适用于以下人群使用: ?系统建设负责人:组织新建系统/功能的安装部署,以及新建系统/功能的安装部署说明书完善。 ?系统维护负责人:了解系统架构和安装部署方法,负责或组织进行系统重新安装部署,在系统部署变更时及时更新说明书内容。 ?系统开发商:制定新建系统或新建功能的安装部署说明。

WinPE安装系统详细操作图解——硬盘版

WinPE是一个小巧的winxp操作系统,利用WinPE我们可以实现无光驱、无软驱,全新NTFS硬盘安装Win 98/Win2000/winxp/Win203等操作系统。窗口下鼠标操作要比DOS 下键盘操作方便很多。 下载地址WinPE 老毛桃修改扬州烟花三月纪念版BootCD_XP_070418.ISO https://www.wendangku.net/doc/9d4115115.html,/download/softinfo.as p?prod_id=prod20074218430571801 这里以WINXP为例介绍WinPE070418硬盘安装WINXP方法。无光驱、无软驱,全新NTFS 硬盘安装winxp的方法:内存必须大于128M,一般情况下现在的机器应该都可以。新版本WINPE请参阅WINPE 070911安装操作系统详细图解。 准备工作 1、下载WinPE,用WINRAR解压为ISO,利用虚拟光驱加载,也可以直接再解压,把ISO 里面的文件解压出来。 2、下载winxp的镜像文件,放在非系统盘一般不在C盘就可以。 安装WinPE 运行WINPE安装目录下的“安装.EXE”如图1。

图1 选择1,回车即开始安装WinPE,这种自动安装方式是默认在系统盘安装的,但关系不大。然后进入画面如图2

图2 设定外置程序存放在那个盘上,只输入字符,不是系统盘就行,然后进入如图3画面。

图3 复制文件,等待就是了。完成后如图4。

图4 按任意键退出安装程序。重新启动进入选择菜单如图5。

图5 使用上、下光标键选择“WinPE By :老毛桃”。然后进入画面如图6。

教大家制作WindowsXP sp3免激活原版操作系统

教大家制作WindowsXP sp3免激活原版操作系统 (我们把他放虚拟机上用) 只要按照下面的步骤做,你完全可能在最短的时间内,用最简便的工具、最节省的办法制作一张原汁原味的WindowsXP sp3安装光盘,并在电脑上成功安装、成功通过微软正版验证。 一、准备工作 1、下载原版WindowsXP pro的ISO镜像文件到D盘“WindowsXP pro原版”文件夹,并解压到D盘的99文件夹(文件夹名随便,但只能是数字和英文)。 下载地址请参考<<快线下载:Windows XP 505M原版>> 2、下载WindowsXP-KB936929-SP3-X86-CHS.exe存放在D盘。 微软官方下载地 址:https://www.wendangku.net/doc/9d4115115.html,/download/e/d/9/ed9b7861-4e43-4c62-a007-4e93aa10960 2/WindowsXP-KB936929-SP3-x86-CHS.exe 3、下载一个原版WindowsXP sp2操作系统(比如上海政府版、电脑疯子版)。 下载地址: https://www.wendangku.net/doc/9d4115115.html,/809/article_808784.html 4、下载UltraISO(软碟通)并安装。 UltraISO下载及简介详见《软碟通UltraISO V9.2.0简体中文版下载及注册码》 二、动手集成SP3 前提:必须保证目前电脑上安装的操作系统是微软正版,否则集成可能出现问题。 点开始,点运行,在打开的对话柜中输入:“D:WINDOWSXP-KB936929-SP3-X86-CHS.EXE -s:D:99”(注意:引号不要输入,-s前有半个空格)。然后,点确定,电脑就会自动集成SP3。说明:“WindowsXP-KB936929-SP3-X86-CHS.exe”是刚才下载的WindowsXP sp3补丁,“-s”是集成命令,“99”就是原版WindowsXP pro解压后全部文件所在的的文件夹。 三、准备引导文件 大家知道,要制作可引导的系统光盘,必须要有一个引导文件。但刚才集成的Windows XP SP3文件里并没有引导文件。 如何制作引导文件?如果用EasyBoot软件制作引导文件,操作起来很麻烦,而且容易出错。其实我们完全可以用UltraISO软件从镜像文件中直接提取引导文件。 1、打开UltraISO软件,在“文件”下拉菜单里点“打开”,直接打开刚才下载的原版WindowsXP sp2操作系统的镜像文件(比如电脑疯子版)。 2、在“启动光盘”下拉菜单里点“保存引导文件”,按弹出的对话的提示,把引导文件另存在桌面上(文件名随便)。当然,我们手中已有一张原版的WindowsXP sp2光盘也行,直接在“启动光盘”下拉菜单里点“从CD/DVD提取引导文件”,也能找到一个引导文件。 3、关闭UltraISO软件。 四、制作ISO镜像 1、打开UltraISO软件,在“文件”下拉菜单里点“新建”,在最下面的窗口“本地目录”里打开D 盘里99文件夹,显示有13个文件。这些文件就是刚才集成的文件。 2、选中这13个文件,全部拖到UltraISO最上面的窗口,比较下与下面窗口的文件是否一致。

操作系统安装的基本要求步骤

操作系统安装基本要求 关键字: 操作系统介质安装 一、安装前的准备 1、确认安装的服务器的硬件信息,包括机型型号、磁盘接口、系统BIOS、使用硬盘、处理器、内存、网卡。 2、检查主板BIOS到版本,如果供应商需要升级微码,然后再升级,一般新服务器不需要升级微码。 3、需要一张由信息技术部提供的有许可证的Windows 2003 Server光盘,一张由供应商提供的最新的引导盘,一个外接USB的DVD光驱。 4、根据根据内存大小和硬盘大小确定系统C盘的空间设置为内存大小加上32GB 。 5、安装操作系统的系统盘的RAID基本为RAID1。 6、操作系统口令规则提前向信息技术部确认好。 7、其他文件,包括特殊驱动文件和操作系统补丁文件等。 二、操作系统安装 1、将刻录好的引导盘放入光驱,连接到服务器上;等待机器启动后按“F12”

如下图: 2、选择从光驱启动CD/DVE ROM,如下图 3、选择语言为“English”如下图: 4、为默认选择“Next”如下图:

5、选中要安装的操作系统然后“Next”,如下图: 6、设置系统日期和时间,根据安装日期和时间设置,设置好选择“Next”如 下图:

7、这一步我们可以看到磁盘的阵列信息,此时做的是“Raid1”状态为(Good) 说明之前已经做好了;如果阵列没有做这里我们可以选择要做的阵列,如“RAID1”然后选择“Next”等待几分钟;建议安装系统前配置好RAID。这里我们直接选择“Next”如下图: 8、选择“Next”如下图:

9、这一步设置系统盘大小,设置方法为(内存大小+32G);设置好选择“Next”如下图: 10、正在创建分区等待两分钟如下图: 11、分区创建完成后选择“Next”如下图:

自己写最简单的操作系统

参看 《自己动手写操作系统》 《30天自制操作系统》 需要的软件 1.虚拟机VM/VirtualBox/bochs 2.映像编辑工具:FloppyWriter,EasyBoot,UltraISO 3.汇编工具:yasm/nasm/masm 基本思路:所谓开发操作系统,就是想办法制作一张“含有操作系统的能够自动启动的存储介质”。 步骤: 1.编写boot.asm汇编源文件 2.通过汇编器得到boot.bin二进制文件 3.通过映像读写工具将二进制文件写入存储介质。 //Boot.asm org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ax,BootMessage mov bp,ax mov cx,16 mov ax,01301h mov bx,000ch mov dl,0 int 10h ret BootMessage:db "Hello world!" times 510-($-$$) db 0 dw 0xaa55

真正开发操作系统 前面说过,所谓开发操作系统,就是想办法制作一张“含有操作系统的能够自动启动的存储介质”。【至少也是适用于某一介质的映像文件】 并且所有开发工作都是基于另一台已有的计算机。 编写只显示hello world!的操作系统就不再讲了。 接下来写真正的IPL(启动程序装载器) 首先来说一说安装系统和运行系统的区别。 我们是开发操作系统,即没有任何已有的可启动设备,我们现在要写的IPL就是装载真正的操作系统的,虽然它现在存在于软盘中,如何自定义安装路径是以后的问题了 注意我们的IPL和os是处在同一映像文件之中的。启动的时候,bios读取软盘(操作系统安装介质)的第0扇区到内存并执行,然后通过这一段程序装载真正的os。 完成IPL之后,我们就可以转用C语言开发os了 从实模式到保护模式。 保存bios 的一系列信息到BOOT_INFO 一些前期准备 调色板 字体 鼠标指针 GDT 中断(IDT) PIC FIFO缓存区 按键编码 激活鼠标控制 鼠标解读/显示鼠标动作 内存管理 叠加处理 窗口 PIT和定时器 多任务 ……

系统运行环境详细安装说明书

系统运行环境配置介绍 MySQL数据库默认用户名:root,密码:123 Tomcat端口号:8080 本光盘目录下的sjzujava文件夹就是所需的工程目录。 第1部分:系统运行环境介绍 操作系统:WindowsXP (未在Windows Vista上测试) 数据库服务器:MySQL 5.0 或MySQL 5.5 Web服务器:Tomcat 5.5 或Tomcat 6.0 Java库:JDK6.0 或JDK5.0 开发工具:MyEclipse7.0 或MyEclipse8.0(开发工具可不用) 第2部分:系统环境配置介绍 2.1 配置思路介绍 1、安装JDK。 一般默认安装在C:\Program Files\java下。 2、安装Tomcat。 同样是默认路径,一般安装在C:\Program Files\Tomcat 6.0下就可以。安装时中间的Apache公司名可不用。注意:Tomcat的端口号选择默认的8080就可,不用修改。若第一次未安装成功需要重新安装可改为其他端口,如8888。 3、安装MySQL。 选择默认安装。需要说明的是中间安装过程中字符集要选utf-8。密码设置为123 4、安装Navicat 8.2。 Navicat 8.2 for MySQL是MySQL的客户端软件,此软件可使MySQL脱离控制台,直接在客户端的可视化窗口中执行。光盘中提供了系统的数据库脚本:zeng_db.sql。启动Navicat 8.2用提供的注册号码注册成功后,可点击“连接”命令,连接数据库服务器localhost,之后在localhost上点击右键,建立新数据库,名为“zeng_db”,再在此数据库上点击右键选择“运行SQL文件”,在出现的页面上选择数据库脚本zeng_db.sql的存放路径,选中zeng_db.sql执行即可。数据库新生成的的表需要双击或刷新,以使其建立连接。 5、tomcat中虚拟目录的配置。 用文本编辑器打开tomcat安装目录下conf文件夹中server.xml文件,找到标签(在文件中比较靠下的地方),在其上边加入context标签: 其中,path写入虚拟目录名,即http://localhost:8080/xxx中的xxx;docBase内容为JSP系统所在的绝对地址。

30天自制操作系统日志第3天

一、实验主要内容 1、制作真正的IPL,即启动程序加载器,用来加载程序。 添加的代码关键部分如下: MOV AX,0x0820 MOV ES,AX MOV CH,0 ;柱面0 MOV DH,0 ;磁头0 MOV CL,2 MOV AH,0x02 ;AH=0x02:读盘 MOV AL,1 ;执行1个扇区 MOV BX,0 MOV DL,0x00 ; A驱动器(现在都只有一个驱动器了) INT 0x13 ;调用磁盘BIOS JC error 这里有JC指令,是一些特定指令中的一种,后面知识点收录有。JC就是jump if carry,如果进位标志位1的话,就跳转。就是成功调用0x13就会跳转到error处。 INT 0x13又是一个中断,这里AH是0x02的时候是读盘的意思,就是要把磁盘的内容写入到内存中。今天实验用到了4个软中断,都记在知识点里了。 至于CH\DH\CL\AL三个寄存器呢,就分别是柱面号、磁头号、扇区号、执行的扇区数。那么含有IPL的启动区位于:C0-H0-S1 (Cylinder, magnetic Head, Sector) 然后ES\BX和缓冲地址有关。 2、缓冲区地址0x0820 MOV AL,[ES:BX] ; ES*16+BX -> AL

说是原来16位的BX只能表示0~65535,后来就引入了一个段寄存器,用MOV AL,[ES:BX] ; ES*16+BX -> AL这样的方法就可以表示更大的地址,就够当时用了,可以指定1M内存地址了。那么这里我们就是将0X0820赋值给ES,BX为0,这样ES*16后就访问0X8200的地址,那么就是讲软盘数据转载到0X8200到0X83ff的地方。 3、试错以及读满10个柱面 MOV AX,0x0820 MOV ES,AX MOV CH,0 MOV DH,0 MOV CL,2 readloop: MOV SI,0 ; 记录失败的次数,SI达到5就停止 retry: MOV AH,0x02 MOV AL,1 MOV BX,0 MOV DL,0x00 INT 0x13 JNC next ; 没出错就跳到next ADD SI,1 ; SI加一 CMP SI,5 ; SI和5比较 JAE error ; SI >= 5 时跳转到error MOV AH,0x00 MOV DL,0x00 INT 0x13 ; 重置驱动器,看上面AH变为0X00和0X02功能不同 JMP retry next: MOV AX,ES ADD AX,0x0020

相关文档
相关文档 最新文档