文档视界 最新最全的文档下载
当前位置:文档视界 › 开发一个最简单的“操作系统”全过程

开发一个最简单的“操作系统”全过程

开发一个最简单的“操作系统”全过程
开发一个最简单的“操作系统”全过程

开发一个最简单的“操作系统”全过程

“FC简单”引导扇区初探v0.1

===========================

作者:Weichao Liu

[写在前面gaga]

写一个PC机的引导程序比我们想象的容易很多,事实上所需要了解的只是知道PC机

是怎样启动的。在网上看到不少类似的文章,说的很多,有的很麻烦,笔者觉得仅仅是写一个引导程序完全没有必要牵涉太多东西,知道足够的知识用于去实际地写一个出来看看是很多人最初的目的,那这篇文章就刚好适合你了。这篇文章的立足点就是短、简单、一看就懂,而又不会看完了什么都不知道就写出一个连自己都看不懂的代码。

另外,机器人天空重新改版,笔者兴奋的看到了一个真正的机器人网站,囊括了机器人科学与技术这样庞大的系统工程的各个方面,在此献上这篇文章给机器人天空的操作系统专栏,祝愿机器人天空越办越好,并能够为中国的机器人爱好者们带来更多更丰富的信息与资源,做更多的实事!同时,也希望广大的机器人爱好者和有识之士都能出一份力,为祖国更美好的明天共同努力!笔者与您共勉。

现在,让我们开始引导程序初探!

[什么?]

很多文章中把写一个引导程序称作是开发一个最简单的操作系统,其实这是非常片面的,引导程序算不上操作系统,虽然此程序可以运行在裸机上。所谓引导程序,直观的说就是在系统加电启动时BIOS第一个执行的程序。

引导程序要想发挥作用,让机器识别,就必须安置在一个特别的位置,这个位置就是磁盘的第一个扇区(0面0磁道1扇区,备注:没有0扇区),而一个包含引导程序的扇区

叫作引导扇区。

一个合法的引导扇区(1)通常包含512个字节(当然喽,一个扇区通常本来就是512个字节),(2)并且以0xAA55这样一个占用两个字节的数据结尾作为标志符。(备注:0x前缀说明这是一个十六进制数)。

也就是如果把引导扇区看成一个字符数组的BootSector[]话(因为一个字符,即char,刚好为一个字节),那么这个数组就拥有512个元素,如果用C语言申明的话即为

char BootSector[512];

接着,一个合法的引导扇区必须以0xAA55结束,即

BootSector[510] = 0x55;

BootSector[511] = 0xAA;

除了结束标志必须符合上面的要求之外,中间虽然还有510字节的空间,但执行代码可以少于510字节,用无意义字符(通常用0x0)填充剩余空间即可。

[过程!]

PC是通过BIOS来启动机器的,当PC机加电之后BIOS启动相应的程序完成机器的自检,然后就寻找可以引导的驱动器,即大家通常所说的启动盘。在BIOS中可以设置从哪个盘启动,但通常总要检查硬盘,所以当BIOS检查完前面的启动设备之后,如果没有发现任何引导程序,那么就会开始检查主硬盘,即C盘。如果此时在C盘上找到了合法的引导扇区,那么就会将引导扇区的内容(共512字节)装载到内存0x0000:07C00处。此时BIOS把控制权限交给这段引导程序。

那么,接下来,引导程序通常会简单的执行一些指令,比如输出一段文字,显示一个启动界面等等,但最重要的,引导程序将会启动一个更大的程序,然后把权限交给他,这通常就是我们所说的操作系统内核。额外补充一句,目前对操作系统的定义有不少,但笔者比较赞成的观点如下:

从形式上看,操作系统是:从计算机启动到结束的过程中始终在运行的程序。而这通常就是我们所说的操作系统内核。从功能上看,操作系统:管理和维护所有的硬件、软件、数据资源,并为上层应用或服务提供一个抽象的接口。从某种层面上看,第二中定义更接近于虚拟机。(闲话一段^_^)

[如何?]

现在,已经了解了这些基本的概念,那么,如何动手制作这样的引导扇区呢?这个过程十分简单,

(1)首先按照要求写一个合法的引导程序(通常用汇编,机器码也可以,呵呵);

(2)然后将其通过汇编程序,如NASM汇编成二进制文件;

(3)最后,将这个二进制文件写入到目标盘的第一个扇区。

[跟我做:-P]

上面说的很简单吧?那好,现在我们来写一个吧!

第一步:写代码

; 文件名:boot.asm

; 代码如下,注意,汇编中通常用“;”来表示注释内容

; 此段代码参考《自己动手写操作系统》(于渊)

;

; 初始化函数

org 07c00h ; 告诉编译器将此段程序加载

; 到内存0x0000:07C00处

mov ax, cs

mov ds, ax

mov es, ax

call PrintStr ; 调用屏幕打印函数

jmp $ ; 无限循环

PrintStr: ; 屏幕打印函数

mov ax, HelloWorld ; 将字符串拷贝到ax

mov bp, ax ; es:bp = 串地址

mov cx, 24 ; cx = 串长度

mov ax, 01301h ; ah = 13, al = 01h

mov bx, 000ch ; 页号为0(bh = 0)黑底红字(bl = 0ch,高亮)mov dl, 0

int 10h ; 10h号中断

ret

HelloWorld: db "Welcome to Lee's OS *_*" ; 字符串负值

times 510-($-$$) db 0 ; 用0x0填充剩余的空间使生成

; 的二进制代码刚好为512字节

dw 0xaa55 ; 结束标志

; 整个程序结束!很短吧

第二步:汇编

假设你已经安装了NASM程序,那么进入命令行模式,然后输入以下命令:

C:[PATH]\ nasm boot.asm -o boot.bin

其中“C:[PATH]\”为boot.asm代码文件所在位置。

现在如果不出意外的话,你已经拥有了boot.bin二进制文件,这个就是引导程序!

第三步:制作引导盘

由于不能随便更改硬盘,否则系统无法进入原来的操作系统,所以我们用软盘来试验。那么,我们准备一张软盘。

现在,我们要自己写一个程序将我们汇编得到的二进制文件写到软盘的第一个扇区。C语言程序代码如下:

/***************START***************/

#include

#include

int main(void)

{

FILE *in;

unsigned char buffer[520];

if((in = fopen("boot.bin", "rb"))==NULL)

{

printf("Error loading file\n");

exit(0);

}

fread(&buffer, 512, 1, in);

while(biosdisk(3, 0, 0, 0, 1, 1, buffer));

fclose(in);

return 0;

}

/****************END****************/

注意,这个程序必须同boot.bin文件在同一目录下,然后将软盘放进软驱,运行此程序。

第四步:GOGOGO

好了,现在你拥有了一张从头到尾完全自制的引导盘,由于有了她,你想运行你的电脑再也不需要微软插手了,而且这很可能是你第一次能在裸机上运行一个自己的程序哦,哈哈!重新启动你的机器,记得把软盘放进去,现在你看见什么了?

一行醒目的红字:

Welcome to Lee's OS *_*

打印在屏幕上!

[写在后面]

本文完整的讲述了编写引导程序的过程,其中肯定会有一些不足,欢迎指正。另外,对于有各种其他想法,如希望在虚拟PC上尝试的人,那么只需要查找相应方法就可以。这是本文的第一个版本,如果有必要,后面还可能继续更新:-)

(完整版)操作系统基础知识点详细概括

第一章: 1. 什么是操作系统?OS的基本特性是?主要功能是什么 OS是控制和管理计算机硬件和软件资源,合理组织计算机工作原理以及方程用户的功能的集合。特性是:具有并发,共享,虚拟,异步的功能,其中最基本的是并发和共享。主要功能:处理机管理,存储器管理,设备管理,文件管理,提供用户接口。 2. 操作系统的目标是什么?作用是什么? 目标是:有效性、方便性、可扩充性、开放性 作用是:提供用户和计算机硬件之间的接口,提供对计算机系统资源的管理,提供扩充机器 3. 什么是单道批处理系统?什么是多道批处理系统? 系统对作业的处理是成批的进行的,且在内存中始终保持一道作业称此系统为单道批处理系统。 用户所提交的作业都先存放在外存上并排成一个队列,然后,由作业调度程序按一定的算法从后备队列中选择若干个调入作业内存,使他们共享CPU和系统中的各种资源。 4 ?多道批处理系统的优缺点各是什么? 优点:资源利用率高,系统吞吐量大。缺点:平均周转时间长,无交互能力。 引入多道程序技术的前提条件之一是系统具有终端功能,只有有中断功能才能并发。 5. 什么是分时系统?特征是什么? 分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互的方式使用计算机,共享主机中的资源。 特征:多路性、独立性、及时性、交互性 *有交互性的一般是分时操作系用,成批处理无交互性是批处理操作系统,用于实时控制或实时信息服务的是实时操作系统,对于分布式操作系统与网络操作系统,如计算机之间无主次之分就是分布式操作系统,因为网络一般有客户-服务器之分。 6. 什么是实时操作系统? 实时系统:系统能及时响应外部事件的请求,在规定的时间内处理完。按照截止时间可以分为1硬实时任务(必须在截止时间内完成)2软实时任务(不太严格要求截止时间) 7用户与操作系统的接口有哪三种? 分为两大类:分别是用户接口、程序接口。 用户接口又分为:联机用户接口、脱机用户接口、图形用户接口。 8. 理解并发和并行?并行(同一时刻)并发(同一时间间隔) 9. 操作系统的结构设计 1 ?无结构操作系统,又称为整体系统结构,结构混乱难以一节,调试困难,难以维护 2?模块化os结构,将os按功能划分为一定独立性和大小的模块。是os容易设计,维护, 增强os的可适应性,加速开发工程 3?分层式os结构,分层次实现,每层都仅使用它的底层所提供的功能 4. 微内核os结构,所有非基本部分从内核中移走,将它们当做系统程序或用户程序来实现,剩下的部分是实现os核心功能的小内核,便于扩张操作系统,拥有很好的可移植性。 第二章: 1 ?什么叫程序?程序顺序执行时的特点是什么? 程序:为实现特殊目标或解决问题而用计算机语言编写的命令序列的集合特点:顺序性、封闭性、可再现性 2. 什么是前趋图?(要求会画前趋图)P35图2-2 前趋图是一个有向无循环图,记为DAG ,用于描述进程之间执行的前后关系。 3?程序并发执行时的特征是什么? 特征:间断性、失去封闭性、不可再现性

操作系统简答题(含答案)

1.OS的主要功能 操作系统的基本功能:处理机管理、存储管理、设备管理、信息管理(文件系统管理)、用户接口。 2.OS有哪三种类型?各有什么特点? 操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。 批处理操作系统的特点是:多道和成批处理。 分时系统具有多路性、交互性、“独占”性和及时性的特征。 实时系统特点:及时响应和高可靠性 3.OS的基本特征是什么? 并发性、共享性、虚拟技术、异步性 4.OS一般为用户提供了哪三种接口?各有什么特点? 1.联机命令接口 提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联 机命令接口和脱机命令接口。 2.程序接口 程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。 3.图形界面接口 通过图标窗口菜单对话框及其他元素,和文字组合,在桌面上形成一个直观易懂使用方便的计算机操作环境. 5.OS主要有那些类型的体系结构? 单体结构、层次结构、微内核结构与客户机-服务器模型、虚拟机结构 6.多道程序设计的主要特点是什么? 多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系 统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。 [特点]:多道、宏观上并行(不同的作业分别在CPU和外设上执行)、微观上串行(在单CPU上交叉运行)。 7.OS在计算机系统中处于什么地位? 操作系统在计算机系统中占有特殊重要的位置,所有其他软件都建立在操作系统基础上,并得到其支持和服务;操作系统是支撑各种应用软件的平添。用户利用操作系统提供的命令和服务操纵和使用计算机。可见,操作系统实际上是一个计算机系统硬件、软件资源的总指挥部。操作系统的性能决定了计算机系统的安全性和可靠性。 8.解释一下术语:进程、进程控制块、进程映像、线程、进程的互斥和同步、临界区和临 界资源、竞争条件、原语、信号量、管程、死锁、饥饿 进程:进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立的基本单位。 进程控制块(Procedure Control Block):使一个在多道程序环境下不能独立运行的程序

WINDOWS 网络操作系统的发展史

WINDOWS 网络操作系统的发展史 2009-05-21 18:16 网络操作系统的发展史 Microsoft开发的Windows是目前世界上用户最多、并且兼容性最强的操作系统。最早的Windows操作系统从1985年就推出了。改进了微软以往的命令、代码系统Microsoft Dos。Microsoft Windows是彩色界面的操作系统。支持键鼠功能。默认的平台是由任务栏和桌面图标组成的。任务栏是显示正在运行的程序、“开始”菜单、时间、快速启动栏、输入法以及右下角的托盘图标组成。而桌面图标是进入程序的途径。默认的系统图标有“我的电脑”、“我的文档”、“回收站”,另外,还会显示出系统的自带的“IE浏览器”图标。运行Windows的程序主要操作都是由鼠标和键盘控制的。鼠标的左键单击默认是是选定命令,鼠标左键双击是运行命令。鼠标右键单击是弹出菜单。WIndows系统是“有声有色”的操作系统。《连线》杂志日前发表分析文章称,在过去的23年中,Windows操作系统经历了一个从无到有,从低级到高级的发展过程。总体趋势是功能越来越强大了,用户使用起来越来越方便了,但其发展进程并非是一帆风顺的,中间也曾多次出现曲折。应用最广泛的Windows操作系统在不断地发展,其发展进程充满了不确定性。Windows的成功与处理器速度的提高和内存容量的增加可谓“休戚与共”。微软依靠大量第三方软件让用户喜欢上了Windows。 1、Windows 1.0 Windows 1.0 微软第一款图形用户界面Windows 1.0的发布时间是1985年11月,比苹果Mac晚了近两年。由于微软与苹果间存在一些法律纠纷,Windows 1.0缺乏一些关键功能,例如重叠式窗口和回收站。用现在的眼光看,它的失败并不令人感到意外。Windows 1.0只是对MS-DOS的一个扩展,它本身并不是一款操作系统,但确实提供了有限的多任务能力,并支持鼠标。Microsoft Windows 1.0操作系统是微软公司在个人电脑

操作系统主要功能是

1.操作系统的主要功能是( B ) A.实现软、硬件转换 B.管理系统所有的软、硬件资源 C.把源程序转换为目标程序 D.进行数据处理 2.计算机的指令由操作码和( C )组成。 A.直接寻址 B.变址寻址 C.操作数 D.机器语言 4.利用“Windows资源管理器”中,“查看/排列图标”命令,可以排列( D )。 A.桌面上应用程序图标 B.任务栏上应用程序图标 C.所有文件夹中的图标 D.当前文件夹中的图标 5.在Windows 98中,不同驱动器之间的文件移动,应使用的鼠标操作为(C )。 A.拖拽 B.Ctrl+拖拽 C.Shift+拖拽 D.选定要移动的文件按Ctrl+C,然后打开目标文件夹,最后按Ctrl+V 6.1KB字节中,共有( B )位数的存贮单位。 A.1000 B.1024 C.2048 D.8192 7.计算机中的带符号整数表示方法常用的( D )。 A.原码 B.补码 C.反码 D.以上都是 8.五笔字型属于( C )。 A.数字编码法 B.字音编码法 C.字型编码法 D.形音编码法 9.下列操作中,( C )直接删除文件而不把被删除文件送入回收站。 A.选定文件后,按Del键 B.选定文件后,按Shift键,再按Del键 C.选定文件后,按Shift+Del键 D.选定文件后,按Ctrl+Del键 10.在Windows98中,操作具有( B )的特点。 A.先选择操作命令,再选择操作对象 B.先选择操作对象,再选择操作命令 C.需同时选择操作命令和操作对象 D.允许用户任意选择 11.在Windows98操作中,若鼠标指针变成“I”形状,则表示( D )。

操作系统的发展历程

操作系统的发展历程 操作系统有:1.DOS操作系统;2.Mac OS操作系统;3.Windows 系统;4.Unix系统;5.Linux系统;6.OS/2系统; 一、 DOS操作系统 DOS是Diskette Operating system的缩写,意思是磁盘操作系统。DOS是1981~1995年的个人电脑上使用的一种主要的操作系统。由于早期的DOS系统是由微软公司为IBM的个人(PC)电脑开发的,故而即称之为PC-DOS,又以其公司命名为MS-DOS,因此后来其他公司开发的与MS-DOS兼容的操作系统,也延用了这种称呼方式,如:DR-DOS、Novell-DOS ....,以及国人开发的汉字DOS(CC-DOS)等等。 MS-DOS发展,从早期1981年不支持硬盘分层目录的DOS1.0,到当时广泛流行的DOS3.3,再到非常成熟支持CD-ROM的DOS6.22,以及后来隐藏到Windows9X下的DOS7.X,前前后后已经经历了20年,至今仍然活跃在PC舞台上,扮演着重要的角色。 DOS是在直接内存下运行,程序设计员只能在1MB以下的存储器上操作。DOS容许使用的内存空间只有640KB(其他的348KB为ROM BIOS和其他卡所保留),在DOS下无法运行超过640KB的大程序。 DOS系统是字符式的操作系统,所有操作都通过键盘输入“命令行”来执行。微软公司推出它的Windows操作系统以后,由于

Windows操作系统的几乎所有操作都可以通过鼠标的点击来完成,不必再去记忆繁杂的命令,也省去了键盘输入“命令行”的操作。这种对用户友好的操作界面,使得Windows操作系统很快的就占据了PC 舞台上主角位置,而把DOS推倒了舞台的边缘。但是,为了一些特定的需要,Windows操作系统里保留了DOS命令形式,在需要时在系统的内存中拿出640K的内存,开辟出虚拟一个DOS运行的环境(“虚拟机”)来执行DOS命令。这种Windows操作系统里开辟的DOS运行环境,只不过是Windows操作系统里面的许多窗口中的一个窗口而已,它与Windows操作系统出现之前dos独占系统的全部资源的情况已大不相同。 “纯DOS”就是相对于这种情况而言的:不打开windows系统,只用软盘或其他媒体(如光盘、U盘等)启动机器,进入DOS系统,这时的DOS独享系统的全部资源,这时的环境状态就叫“纯DOS”状态。由于没有打开windows系统,所以与windows有关的一切软件、病毒、木马......,都不能起作用,不能控制你的任何资源,从而你可以在这种环境里,把那些你不想要的东东清理干净! 1981年,MS-DOS 1.0发行,作为IBM PC的操作系统进行捆绑发售,支持16k内存及160k的5寸软盘。在硬件昂贵,操作系统基本属于送硬件奉送的年代,谁也没能想到,微软公司竟会从这个不起眼的出处开始发迹。 1982年,支持双面磁盘。 1983年MS-DOS 2.0随IBM XT发布,扩展了命令,并开始支持5M硬

操作系统的发展史及特点

操作系统的发展史及特点 1.CP/M系统 计算机语言百花争妍的七十年代,计算机本身正向微型化方向发展。1971年,Intel 公司成功地研制出了四位Intel 4004芯片,1973年,又研制成功八位Intel 8086芯片。微型机的诞生,已经指日可待。 七十年代中期,台式微机,工作站,超级微机,膝上机相继面世,“谁来指挥他们”,人们千呼万唤。 事实上,早在1972年,AMAA(美国微型机协会)就悄悄地为一个“指挥系统”作临产前的准备了,他们用PL/M程序设计语言为Intel 8086编写了纸带编辑程序ED。1973年,PL/M 的创始人Gary Kildall博士决定“挂帅亲征”,很快在DEC公司的主机TOPS-10上,培植成功一个管理程序和数据的“胚胎”。博士旗开得胜,感觉当然是“味道好极了!”,但Intel 公司及其它著名电脑公司却对此充耳不闻,这使“元帅”和“士兵”们很是光火,1974年,“胚胎”得以向全世界公布:版本号V1.3;大名:CP/M;全称:Control Program/Monitor (控制程序或监控程序)。 虽然CP/M V1.3 是为肩任“控制程序和数据”的“上帝”而来的,但“上帝一世”却颇受冷落,电脑业者依旧冷眼旁观。1975年,CP/M V1.4 继承“王位”,开始大造舆论,加之Kildall 博士创建了Digital Research(数字研究公司),为CP/M呐喊欢呼,CP/M陆续被各国微机厂商采用,围绕他的软件也爆炸般地得到了开发。CP/M变红发紫,神话般普及,被推崇为“标准八位机软件总线”,Kildall 博士更是声名远播。 CP/M其实就是第一个微机操作系统,享有指挥主机、内存、磁鼓、磁带、磁盘、打印机等硬设备的特权。通过控制总线上的程序和数据,操作系统有条不紊地执行着人们的指令,如同指挥一台晚会或乐队,高效率地合奏美妙的乐章。 繁荣的CP/M家族不断添丁。运行在Intel 8080芯片上的CP/M—80;运行在8088、8086芯片上的叫CP/M—86;而在Motorola(摩托罗拉)68000 上运行的CP/M叫做CP/M-68K。CP/M—80、CP/M—86、CP/M-68K等组成了庞大的CP/M家族。 单用户的CP/M—80操作系统,后来发展成多用户的MP/M—80,单用户的CP/M—86又发展成并发的CP/M—86和多用户MP/M— 86,它们成为家族的新生力量。 CP/M开创了软件的新纪元,称得上是计算机改朝换代的里程碑。 2.DOS系统 七十年代末期,CP/M后院起火,其微机操作系统霸主地位开始动摇。 1979年,IBM公司为开发16位微处理器Intel 8086,请微软公司(Microsoft)为IBM PC 设计一个磁盘操作系统,微软公司慷慨承诺,但当时手头仅有XENIX操作系统,XENIX操作系统要求处理器支持存贮管理和保护设备的功能,可PC机的CPU 8086/8088 均不具备此功能。微软公司急于满足PC机的要求,购买了由西雅图公司工程师Tim Paterson研制的、可在8088上运行的CP/M—86“无性系”——SCP—DOS操作系统的销售权,将SCP—DOS改称MS—DOS V1.0发表。为避“偷梁换柱”的嫌疑,微软公司又于1981年8月推出了支持内存为320KB 的MS-DOS 1.1版。由于蓝色巨人的推波助澜,操作系统软件市场几乎一夜之间呈现出一边倒的局面,CP/M地位岌岌乎可危。 随后,IBM 公司向微软公司购得MS-DOS使用权,将其更名为PC-DOS 1.0。MS-DOS又称PC-DOS,就是这个原因。 MS-DOS取得巨大成功的原因在于它的最初设计思想及其追求目标的正确和恰当,那就是为用户上机操作和应用软件开发提供良好的外部环境。首先使用户可以非常方便的使用几十个DOS命令,或以命令行方式直接键入或在DOS4.0以上版本下以DOS Shell菜单驱动,

操作系统

1.1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 2.4.试述SPOOLING系统的工作原理。答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区,另一个过程是写过程,负责把缓冲区中的信息送入到外存输入井中。 在系统输入模块收到作业输入请求后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。7.什么是系统调用系统调用与一般用户程序有什么区别与库函数和实用程序又有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。 8.什么是系统调用系统调用与一般用户程序有什么区别与库函数和实用程序又有什么区别答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。 2.试比较进程和程序的区别。答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。(2)进程具有并行特征(独立性,异步性),程序则没有。(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。 3.我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗?举例说明.答:并非所有程序均成立。如: Begin local“ Z K::10 print(x)

操作系统的主要功能

一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处 为了使计算机系统能协调、高效和可靠地进行工作,同时也为了给用户一种方便友好地使用计算机的环境,在计算机操作系统中,通常都设有处理器管理、存储器管理、设备管理、文件管理、作业管理等功能模块,它们相互配合,共同完成操作系统既定的全部职能。 处理器管理: 处理器管理最基本的功能是处理中断事件。处理器只能发现中断事件并产生中断而不能进行处理。配置了操作系统后,就可对各种事件进行处理。处理器管理的另一功能是处理器调度。处理器可能是一个,也可能是多个,不同类型的操作系统将针对不同情况采取不同的调度策略。也叫进程管理。 存储器管理: 存储器管理主要是指针对内存储器的管理。主要任务是:分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰。 设备管理: 设备管理是指负责管理各类外围设备(简称:外设),包括分配、启动和故障处理等。主要任务是:当用户使用外部设备时,必须提出要求,待操作系统进行统一分配后方可使用。当用户的程序运行到要使用某

外设时,由操作系统负责驱动外设。操作系统还具有处理外设中断请求的能力。 文件管理: 文件管理是指操作系统对信息资源的管理。在操作系统中,将负责存取的管理信息的部分称为文件系统。文件是在逻辑上具有完整意义的一组相关信息的有序集合,每个文件都有一个文件名。文件管理支持文件的存储、检索和修改等操作以及文件的保护功能。操作系统一般都提供功能较强的文件系统,有的还提供数据库系统来实现信息的管理工作。 作业管理: 每个用户请求计算机系统完成的一个独立的操作称为作业。作业管理包括作业的输入和输出,作业的调度与控制(根据用户的需要控制作业运行的步骤) 。

操作系统的基本概念和功能

操作系统的基本概念和功能 操作系统是计算机的系统软件,是计算机中不可缺少的,其它所有的软件都是基于操作系统运行的,常用的操作系统有:Windows、 DOS、 UNIX、 Linux 、OS/2、 AIX等。 1、操作系统的基本概念:用来控制及指挥电脑系统运作的软件程序。 (1)操作系统管理和控制系统资源。计算机的硬件、软件、数据等都需要操作系统的管理。操作系统通过许多的数据结构,对系统的信息进行记录,根据不同的系统要求,对系统数据进行修改,达到对资源进行控制的目的。 (2)操作系统提供了方便用户使用计算机的用户界面。在介绍操作系统的时候我们就已经看到,用户需要通过鼠标点击相应的图标就可以做他想要做的事情,桌面以及其上的图标就是操作系统提供给用户使用的界面,有了这种用户界面,对计算机的操作就比较容易了。用户界面又称为操作系统的前台表现形式,Windows 98采用的是窗口和图标,DOS系统采用的是命令,Linux系统既采用命令形式也配备有窗口形式。 不管是何种形式的用户界面,其目的只有一个,那就是方便用户的使用。操作系统的发展方向是简单、直观、方便使用。 (3)操作系统优化系统功能的实现。由于系统中配备了大量的硬件、软件,因而它们可以实现各种各样的功能,这些功能之间必然免不了发生冲突,导致系统性能的下降。 操作系统要使计算机的资源得到最大的利用,使系统处于良好的运行状态,还要采用最优的实现功能的方式。 (4)操作系统协调计算机的各种功作。计算机的运行实际上是各种硬件的同时动作,是许多动态过程的组合,通过操作系统的介入,使各种动作和动态过程达到完美的配合和协调,以最终对用户提出的要求反馈满意的结果。如果没有操作系统的协调和指挥,计算机就会处于瘫痪状态,更谈不上完成用户所提出的任务。 因此,可以定义操作系统为:对计算机系统资源进行直接控制和管理,协调计算机的各种动作,为用户提供便于操作的人一机界面,存在于计算机软件系统最底层核心位置的程序的集合。 2、操作系统的功能: 可以根据计算机系统资源的分类来对操作系统的功能进行划分。一般说来,计算机系统资源包括硬件和软件两大部分,硬件指处理机、存储器、标准输入/输出设备和其他外围设备;软件指各种文件和数据、各种类型的程序。由于操作系统是对计算机系统进行管理、控制、协调的程序的集合,我们按这些程序所要管理的资源来确定操作系统的功能,共分为八个部分: (1)处理机管理。处理机是计算机中的核心资源,所有程序的运行都要靠它来实现。如何协调不程序之间的运行关系,如何及时反应不同用户的不同要求,如何让众多用户能够公平地得到计算机的资源等都是处理机管理要关心的问题。具体地说处理机管理要做如下事情:对处理机的时间进行分配,对不同程序的运行进行记录和调度,实现用户和程序之间的相互联系,解决不同程序在运行时相互发生的冲突。处理机管理是操作系统的最核心部分,它的管理方法决定了整个系统的运行能力和质量,代表着操作系统设计者的设计观念。 (2)存储器管理。存储器用来存放用户的程序和数据,存储器越大,存放的数据越多,硬件制造者不断地扩大存储的容量,还是无法跟上用户对存储容量的需求,再说存储器容量也不可能无限制的增长,但用户需求的增长是无限的。在从多用户或者程序共用一个存储器的时候,自然而然会带来许多管理上的要求,这就是存储器管理要做的。存储器的管理要进行始下工作:以最合适的方案为不同的用户和不同的任务划分出分离的存储

OS实验1 通过Windows了解操作系统的主要功能

实验一通过Windows了解操作系统的主要功能 实验目的: 1、熟悉Windows操作系统环境 2、熟悉Windows操作系统的文件结构 3、熟悉Windows操作系统的图形操作方式 4、熟悉Windows操作系统的磁盘组织方式 5、对比Windows操作系统来预备Linux操作系统的知识 6、了解Windows操作系统对系统资源的管理 实验内容及要求: (实验课时间为1小时20分钟,中间不休息,请合理分配实验时间。) 1、启动电脑,进入Windows XP操作系统。查看Windows系统有哪些分区、每个分区的大小及文件和目录。 思考:Windows的系统文件放在哪个分区的哪个目录中?写出该目录的路径。(例如C:\Winnt) 2、在Windows中进行以下基本操作: 1)在D:盘建立一个文件夹,命名为“班级”+“学号的后2位”+“自己的名字”。(以后这个文件夹可以用来存放自己的私人文件,但因为机房是很多人共用的,所以存在被其他同学误删的可能。) 2)查找文件“Welcome.ini”(能找到么?) 3)在建立的文件夹中拷贝一个文件“Welcome.ini” 4)修改文件内容为:“我爱程序设计” 5)改文件名为“mytext.txt” 3、在Windows中进行以下基本操作: 1)在“开始”-〉“运行”中输入“cmd”,按下回车键,或者从“开始”-〉“程序”-〉“附件”-〉“命令提示符”,均可进入命令行窗口。写出命令行窗口中显示的当前目录。(例如:“C:\Document and Settings\”)

2)运行指令: dir (在命令行窗口输入“dir”,按下回车键,即可运行) 可以看到当前目录里的文件列表。从Windows图形界面进入该目录查看,比较是否一致。 3)运行指令: dir>list.txt 在Windows图形界面中可以发现,目录中多了list.txt这个文件,打开它查看里面的内容,你有什么发现? 4)运行以下指令:(每运行一条,便在Windows图形界面中观察有什么变化,思考每一条指令的作用) copy list.txt dir.txt del list.txt mkdir mydir copy dir.txt mydir/ 思考:对于Linux系统的磁盘和文件的组织方式以及系统的操作方式 4、利用Ctrl+Shift+Esc组合键进入Windows任务管理器,进行如下操作: 1)点击“应用程序”标签页查看当前应用程序。写出当前你的电脑上正在运行哪些应用程序,结束任意一个任务,运行新任务“Telnet https://www.docsj.com/doc/f515258385.html,”。 2)点击“应用程序”标签页查看当前你的电脑上正在运行哪些进程,它们的状态是否是时时变化的?体会进程的动态性。通过点击“CPU” 和“内存使用”可以对进程按CPU占用率以及使用内存的多少进行 排序,写出占用CPU最多的进程和占有内存最多的进程。 3)点击“性能”标签页查看当前系统性能,尝试运行各种不同的程序,观察CPU使用记录和页面文件使用记录有什么变化。 5、查阅资料,了解Linux和Windows有哪些相同和异同。 实验结果及讨论:

操作系统发展史

CP/M系统 计算机语言百花争妍的七十年代,计算机本身正向微型化方向发展。1971年,Intel 公司成功地研制出了四位Intel 4004芯片,1973年,又研制成功八位Intel 8086芯片。微型机的诞生,已经指日可待。 七十年代中期,台式微机,工作站,超级微机,膝上机相继面世,“谁来指挥他们”,人们千呼万唤。 事实上,早在1972年,AMAA(美国微型机协会)就悄悄地为一个“指挥系统”作临产前的准备了,他们用PL/M程序设计语言为Intel 8086编写了纸带编辑程序ED。1973年,PL/M的创始人Gary Kildall博士决定“挂帅亲征”,很快在DEC公司的主机TOPS-10上,培植成功一个管理程序和数据的“胚胎”。博士旗开得胜,感觉当然是“味道好极了!”,但Intel 公司及其它著名电脑公司却对此充耳不闻,这使“元帅”和“士兵”们很是光火,1974年,“胚胎”得以向全世界公布:版本号V1.3;大名:CP/M;全称:Control Program/Monitor (控制程序或监控程序)。 虽然CP/M V1.3 是为肩任“控制程序和数据”的“上帝”而来的,但“上帝一世”却颇受冷落,电脑业者依旧冷眼旁观。1975年,CP/M V1.4 继承“王位”,开始大造舆论,加之Kildall 博士创建了Digital Research(数字研究公司),为CP/M呐喊欢呼,CP/M陆续被各国微机厂商采用,围绕他的软件也爆炸般地得到了开发。CP/M变红发紫,神话般普及,被推崇为“标准八位机软件总线”,Kildall 博士更是声名远播。 CP/M其实就是第一个微机操作系统,享有指挥主机、内存、磁鼓、磁带、磁盘、打印机等硬设备的特权。通过控制总线上的程序和数据,操作系统有条不紊地执行着人们的指令,如同指挥一台晚会或乐队,高效率地合奏美妙的乐章。 繁荣的CP/M家族不断添丁。运行在Intel 8080芯片上的CP/M—80;运行在8088、8086芯片上的叫CP/M—86;而在Motorola(摩托罗拉)68000 上运行的CP/M 叫做CP/M-68K。CP/M—80、CP/M—86、CP/M-68K等组成了庞大的CP/M家族。 单用户的CP/M—80操作系统,后来发展成多用户的MP/M—80,单用户的CP/M—86又发展成并发的CP/M—86和多用户MP/M— 86,它们成为家族的新生力量。 CP/M开创了软件的新纪元,称得上是计算机改朝换代的里程碑。 DOS系统 七十年代末期,CP/M后院起火,其微机操作系统霸主地位开始动摇。 1979年,IBM公司为开发16位微处理器Intel 8086,请微软公司(Microsoft)为IBM PC设计一个磁盘操作系统,微软公司慷慨承诺,但当时手头仅有XENIX 操作系统,XENIX操作系统要求处理器支持存贮管理和保护设备的功能,可PC

浅谈计算机操作系统现状与发展

浅谈计算机操作系统现状与发展 摘要:操作系统(Operating System,简称OS)是计算机系统的重要组成部分,是一个重要的系统软件,它负责管理计算机系统的硬、软件资源和整个计算机的工作流程,协调系统部件之间,系统与用户之间、用户与用户之间的关系。随着操作系统的新技术的不断出现,功能不断增加。操作系统作为一个标准的套装软件必须满足尽可能多用户的需要,于是系统不断膨胀,功能不断增加,并逐渐形成从开发工具到系统工具再到应用软件的一个平台环境。更能满足用户需求。本文主要针对操作系统在计算机发展中的核心地位和技术变革作出了分析,同时对计算机操作系统的功能,发展和分类做了简单的分析和阐述,以及对计算机未来发展趋势做了一个预测。 关键词:计算机操作系统,发展历程,新技术,发展趋势 Talking about the Present Situation and Development of Computer Operating System Abstract: Operating system (OS) is an important part of the computer system, is an important system software, which is responsible for managing the computer system hardware and software resources and the entire computer workflow, coordination between system components, systems and users Between the user and the user relationship. With the continuous emergence of the new technology of the operating system, the function is increasing. The operating system as a standard suite of software must meet the needs of as many users as possible, so the system is constantly expanding, the function is increasing, and gradually formed from the development tools to the system tools to the application software to a platform environment. More able to meet user needs. This paper mainly analyzes the core position and technological change of the computer in the development of the computer system, and makes a simple analysis and elaboration of the function, development and classification of the computer operating system, and makes a prediction of the future development trend of the computer.

Windows操作系统发展史

Windows操作系统发展史 1、windows1.0诞生背景 微软公司刚开始开发的时候,这个软件还不叫Windows,而是叫做:“Interface Manager(界面管理员)”;是时为1981年的9月。当时微软公司正在与IBM公司合作开发OS/2,大家认为这个才是MS-DOS的正统继任者。不过比尔盖茨不这么想,从一开始他就留了一手,因此自己的图形界面操作系统一直就是比尔盖茨的秘密武器。 当然,Windows 1.0的能力还很弱的,例如在层叠窗体的时候,太多了就比较困难了,另外也没有改变层叠的可选项。微软公司公开宣布Windows开发计划的消息是在1983年,可是直至1985年九月才正式发布了第一版的Windows 1.0,这个版本的Windows基于MS-DOS 2.0的,由于当时的硬件限制,与MS-DOS 2.0功能限制,Windows 1.0不应该拿来与之后的Windows 3.1来比较;不管怎样,这是一个非常好的开端,目标用户是IBM兼容机的高端 2、windows95诞生背景 Windows 95是一个混合的16位/32位Windows系统,其版本号为4.0,开发代号为Chicago。1995年8月24日发行。Windows 95是微软之前独立的操作系统MS-DOS和Microsoft Windows的直接后续版本。第一次抛弃了对前一代16位x86的支持,因此它要求英特尔的80386处理器或者在保护模式下运行于一个兼容的速度更快的处理器。它以对图形用户界面的重要的改进和底层工作(underlying workings)为特征。同时也是第一个特别捆绑了一个版本的DOS的视窗版本(MS-DOS 7.0)。这样,微软就可以保持由Windows 3.x创建起来的GUI市场的统治地位,同时使得没有非微软的产品可以提供对系统的底层操作服务。也就是说,Windows 95具有双重的角色。它带来了更强大的、更稳定、更实用的桌面图形用户界面,同时也结束了桌面操作系统间的竞争。在市场上,Windows 95绝对是成功的:在它发行的一两年内,它成为有史以来最成功的操作系统。 3、windows98介绍,有哪些重要版本 Windows 98全面集成了Internet标准,以Internet技术统一并简化桌面,使用户能够更快捷简易地查找及浏览存储在个人电脑及网上的信息;其次,速度更快,稳定性更佳。通过提供全新自我维护和更新功能,Windows98可以免去用户的许多系统管理工作,使用户专注于工作或游戏。 Windows 98相对于Windows 95有较大的改进。 1.安装简便:安装Windows 98时,系统会自动引导你完成安装过程,自动检测所有常用硬件,如调制解调器、CD-ROM驱动器、声卡和打印机等。 2.与现有软硬件配合得更协调:Windows 98为1900多种现有硬件设备提供内部支持,并通过了与3500多种当前流行软件兼容性的测试。内部支持包括为当前提供32位的设备驱动程序,这意味着被支持的硬件在Windows 98环境下将运行得更快,效率更高。 3.具有“即插即用”功能:当你在计算机上使用“即插即用”设备时,Windows 98会自动对它进行设置并启用该设备。 4.改进了用户界面:Windows 98中的桌面,可以帮助你把注意力集中在手头的任务上。它只将少数几个图形对象放在桌面上,显示得比以前更简洁。“开始”按钮引导你开始在计算机上做大多数日常工作。如果你希望能快速启用一个常用的程序或文档,只须将其拖到“开始”按钮上即可。它将与其它功能(如启动程序、打开文档、获取帮助、更改系统设置、查找文件等)一起位于“开始”菜单中。“我的电脑”使得浏览计算机上的内容(各种文件、文件夹以及程序)更方便。“网上邻居”使得查看和使用网络更简单。“回收站”为你提供放

操作系统发展简史

操作系统发展简史 操作系统是管理计算机软硬件资源的一个平台,没有它,任何计算机都无法正常运行。在个人电脑发展史上,出现过许多不同的操作系统,目前多数人知晓的主要有四种:DOS、Windows、Linux、Unix,当然,还有各类用于小型设备(如手机、掌上电脑、游戏机)的嵌入式操作系统。下面分别介绍这四种微机操作系统的发展过程和功能特点。 一、DOS操作系统 这种操作系统我们现在已经很少用了,它就是我们以前用的那种看起来黑底白字的字符界面,现在已经被Windows操作系统所取代,同时,它也成为了Windows系统的一部分(即我们通常所说的命令提示符或DOS窗口)。如今DOS操作系统只在某些特殊场合才有用到,如故障维修。 从1981年问世至今,DOS经历了7次大的版本升级,从1.0版到现在的7.0版,不断地改进和完善。但是,DOS系统的单用户(注:只能由一个用户登陆使用)、单任务(注:只能同时运行一个程序)、字符界面(注:即黑底白字的屏幕显示,而非我们常见的图形化界面)、和16位的大格局没有变化,因此它对于内存的管理也局限在640KB的范围内。 DOS最初是为IBM-PC开发的操作系统,因此它对硬件平台的要求很低,即使对于DOS6.0这样的高版本DOS,在640KB内存、40MB硬盘、80286处理器(注:即我们所说的286电脑)的环境下也可正常运行,因此DOS系统既适合于高档微机使用,又适合于低档微机使用。 常用的DOS有三种不同的品牌,它们是Microsoft(微软)公司的MS-DOS、IBM公司的PC-DOS以及Novell公司的DR DOS,这三种DOS都是兼容的,但仍有一些区别,三种DOS中使用最多的是MS-DOS。 DOS系统一个最大的优势是它支持众多的通用软件,如各种语言处理程序、数据库管理系统、文字处理软件、电子表格。而且围绕DOS开发了很多应用软件系统,如财务、人事、统计、交通、医院等各种管理系统。鉴于这个原因,尽管DOS已经不能适应32位机的硬件系统,但是仍在某些领域有其用武之地。

计算机操作系统期末考试题及答案

2006―2007 学年度第二学期 一、单项选择题(每题1分,共20分) 1.操作系统的发展过程是( C ) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序 C、管理程序,原始操作系统,操作系统 D、管理程序,操作系统,原始操作系统 2.用户程序中的输入、输出操作实际上是由( B )完成。 A、程序设计语言 B、操作系统 C、编译系统 D、标准库程序 3.进程调度的对象和任务分别是( C )。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动的地址转换机制是( A、动态重定位 ) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( C )进行排列。 A、地址从大到小 B、地址从小到大 C、尺寸从小到大 D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑的是( 系统效率和吞吐量 )。 A、灵活性和可适应性 B、系统效率和吞吐量 C、交互性和响应时间 D、实时性和可靠性 7.当进程因时间片用完而让出处理机时,该进程应转变为( )状态。 A、等待 B、就绪 C、运行 D、完成 8.文件的是指防止文件被( )。 A、篡改 B、破坏 C、窃取 D、删除 9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由( )临界区构成。 A、2个 B、3个 C、4个 D、5个 10.按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11.UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是()。 A、实现对文件的按名存取 B、实现虚拟存贮器 C、提高外围设备的输入输出速度 D、用于存贮系统文档 13.文件系统中用()管理文件。 A、堆栈结构 B、指针 C、页表 D、目录 14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用()。 A、重名翻译 B、多级目录 C、约定 D、文件名 15.在多进程的并发系统中,肯定不会因竞争( )而产生死锁。 A、打印机 B、磁带机 C、CPU D、磁盘 16.一种既有利于短小作业又兼顾到长作业的作业调度算法是( )。 A、先来先服务 B、轮转 C、最高响应比优先 D、均衡调度 17.两个进程合作完成一个任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的()。 A、互斥 B、同步 C、调度 D、伙伴 18.当每类资源只有一个个体时,下列说法中不正确的是()。 A、有环必死锁 B、死锁必有环 C、有环不一定死锁 D、被锁者一定全在环中 19.数据文件存放在到存储介质上时,采用的逻辑组织形式是与( )有关的。 A、文件逻辑结构 B、存储介质特性 C、主存储器管理方式 D、分配外设方式 20.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于( )。 A、进程相应的程序段的长度 B、进程自身和进程调度策略 C、进程总共需要运行时间多少 D、进程完成什么功能

相关文档