📜  节奏操作系统

📅  最后修改于: 2021-06-30 00:11:30             🧑  作者: Mango

操作系统 :
操作系统是计算机用户和计算机硬件之间的接口。操作系统是执行所有基本任务的软件,例如文件处理,文件管理,内存管理,处理输入和输出,控制外围设备(例如磁盘驱动器和打印机,鼠标等)。

节奏操作系统:
它也是一种操作系统。这是一个简单的操作系统,主要用于教学目的。但是,它完全能够在典型的Intel x86计算机系统上独立启动,并具有在其上运行的一些应用程序。它使用页面内存管理,但不能处理页面错误。

Tempo操作系统的历史:
Tempo最初用于系统调用,尽管可以使用,但是这种工作依赖于MS-DOS进行加载,输入/输出服务和第一级中断处理。
第一,所有系统都是用C++语言编写的,但是该语言的功能只有有限的一部分。现代操作系统是用c语言和汇编语言(例如Microsoft窗口以及各种类型的Linux和Unix)编写的,随着时间的流逝,有很多不同的Tempo操作系统:

1.节奏/ c:
这是最早出现的tempo操作系统之一,它于2000年初开发,在Tempo OS中的主要进步如下:

替换所有C++代码:
由于不再依赖Borland 16位C++编译器,所有的C++程序都被c和汇编语言所取代,这使它更易于理解和提高系统用于教学目的的可用性。

系统调用重定义:
特别是,系统调用与C++保持相同,某些系统调用具有等待任意(可能无限)的时间来完成操作或等待用户指定的最大时间的能力。

键盘输入:
在原始系统中,没有键盘输入的准备,因此添加了系统调用以提供该功能。

2. Tempo / 32:
在2000年夏季,对tempo / c进行了完全重写,并将其重命名为tempo / 32,这比以前的版本要好,因为系统被修改为32位,并且随之而来的更改是:

32位保护模式:
该系统现在使用x86处理器中的32位指令和寄存器,并且为处理器提供了两种执行模型,即内核和用户。这与“实际”操作系统采用的方法一致,尽管它确实
使系统比“玩具”系统复杂。

独立启动:
在此过程中,向Tempo中添加了一个软盘引导加载程序,从而省去了启动MS-DOS操作系统的工作。这是唯一使用16位代码的地方。

平面地址空间:
所有x86内存都有以下两个部分:
1)一个细分
2)段中的偏移量
它包含20位地址,该地址为段的16位和偏移量的4位,可以计算为
16 *段寄存器+偏移量,产生的地址长度为20位。

在Windows环境中使用的Cygwin:
Cygwin被用来在Windows平台上提供必要的开发环境。它是运行窗口操作系统的流行的免费可用系统。

3. 2005年秋季的Tempo / 32:
在2005年,一些其他功能被添加到速度操作系统中,如下所示:

简单的硬盘输入/输出:
我们知道所有计算机都有硬盘,并且要使其正常工作,我们有系统调用,而系统调用是硬盘的驱动程序。 Bochs还模拟了磁盘控制器和驱动器,从而使它成为Tempo / 32的合理扩展。

重组现有的系统调用:

对于系统上的某些工作,有时系统调用必须再次访问特别是一些原始的Tempo
系统调用存在缺陷(稍后将进行讨论)。

添加了新的类似于POSIX的I / O,命令行参数以及用于进程终止和等待进程终止的系统调用:

之后,我们在2006年春季推出了Tempo / 32,并在2006年夏季和秋季推出了Tempo / 32,最新的一款可以在某一机芯上运行的是tempo(2007) 。版本 。

节奏的特点:

Tempo是一个独立的系统:
我们知道,除PC的系统BIOS外,它不依赖于任何类型的软件来启动或运行。这样做的好处是花费更少的时间来运行操作系统。

Tempo提供类似于POSIX的I / O设施:
系统调用执行输入和输出;
open(path,mode)-打开一个现有文件
creat(path)-创建一个新文件
mkdir(path)—创建一个目录
close(fd)-关闭打开的文件
read(fd,buffer,size)-从打开的文件中读取
write(fd,buffer,size)-写入打开的文件
seek(fd,offset,origin)-设置接下来将要读取或写入的位置
remove(path)—删除文件

使用开放源代码工具完成节奏开发:

gcc — GNU c编译器
ld — GNU链接器
make —构建实用程序
objcopy —在格式之间复制和翻译目标文件
dd —原始文件副本(用于磁盘映像)
Cygwin-Microsoft Windows的UNIX环境
Bochs-适用于Microsoft Windows,Linux,BSD等的PC硬件系统仿真
用于Tempo系统编译,链接,磁盘映像创建等的Shell脚本。

Tempo是一个整体的,不可抢占的内核:
整体方式形成了包含操作系统内核的单个大型操作系统。当今操作系统提供的功能是在系统启动后动态加载某些软件的功能。

参考 :
https://www.researchgate.net/profile/Walter_Tichy/publication/2959795_Advanced_Operating_Systems/links/0c96053441cb071132000000/Advanced-Operating-Systems.pdf?origin=publication_detail