MFwxy 发表于 2020-6-9 20:33:13

分页存储管理系统:建立一个基本分页存储管理系统模型(弃坑)

本帖最后由 MFwxy 于 2020-9-2 23:46 编辑

扫盲:
下载到的linux-0.12:
.sign文件简单来说是gnu的特殊标志文件
详细:SIGN 文件扩展名有 一 种主要文件类型,可以使用 GNU Privacy Guard 打开(由 GNU Project发布)。 总共有 一 种与此格式相关的软件程序。 通常这些是一种 GNU Privacy Guard Data 格式。 在大多数情况下,这些文件被视为 Encoded Files。
Windows、 Mac和 Android支持文件扩展名 SIGN。 这些类型的文件主要可以在桌面设备上和某些移动设备上找到。 SIGN 主文件类型的普及性为“低”,这意味着这些文件通常不会出现在常用的桌面或移动设备上。

RCS(Real-time control systems)详细定义和解释:https://blog.csdn.net/zhanghm1995/article/details/78005698
RCS系统是一款基于面向对象机制开发的通信系统软件,其代码对外开放,可在此基础上方便地进行二次开放和代码重构。
rcs启动也不知道重不重要

第一列是被编译的文件,第二列是编译工具默认的处理方式
.s  组合语言原始程序      ;汇编
.S  组合语言原始程序      ;预处理、汇编

.S里可以用#define   .s里不可以
GCC 的约定,说是碰到 .S 就先预处理下。这样,需要预处理的汇编源码后缀就可以写成 .S。
对.s文件,汇编器(linux下用的是as),只做必要的汇编处理,不会像cpp处理.c文件那样预处理。
.S采用了as的高级功能,比如预处理。
以前的as叫做gas,功能比较弱,没有这样的预处理功能,也不能对实模式代码进行汇编。
所以Linux早期内核代码中的启动部分(实模式代码),是用as86,也就是AT&T编译器编译的。
所以早期内核有使用了两种汇编语言。
一般c源文件生成.s文件,也可以通过-o选项设置成.S。手写汇编也会产生.S文件
实模式特性的代码,实模式是个和 (X86) CPU 相关的概念。google real mode x86 可以看到相关介绍。
汇编文件不都是通过编译c文件得到的,有时候还做为源码出现。
但是不同的汇编源码可能会用到同样的代码,这样就可以把这些相同的东西放到一个头文件了。
如果需要包含头文件或者需要使用宏定义就需要用.S,否则直接用.s就可以了。
简单来说就是.s不处理了,.S还有预处理之类的操作。


linux内核完全注释里写道:写操作系统跟GNU C有关。

在 Linux 0.1x 系统中使用了两种汇编器(Assembler)。一种是能产生 16 位代码的 as86 汇编器,使用 配套的 ld86 链接器;另一种是 GNU 的汇编器 gas(as),使用 GNU ld 链接器来链接产生的目标文件。
as86 和 ld86 是 Intel 8086、80386 汇编编译程序和 链接程序。在刚开始开发 Linux 内核时 Linus 就已经把它移植到了 Linux 系统上。它虽然可以为 80386 处 理器编制 32 位代码,但是 Linux 系统仅用它来创建 16 位的启动引导扇区程序 boot/bootsect.s 和实模式下 初始设置程序 boot/setup.s 的二进制执行代码。该编译器快速小巧,并具有一些 GNU gas 所没有的特性, 例如宏以及更多的错误检测手段。不过该编译器的语法与 GNU as 汇编编译器的语法不兼容而更近似于微 软的 MASM、Borland 公司的 Turbo ASM 和 NASM 等汇编器的语法。这些汇编器都使用了 Intel 的汇编语 言语法(如操作数的次序与 GNU as 的相反等)。
有关这个编译器和连接器的源代码可以从 FTP 服务器 ftp.funet.fi 上或从网站 www.oldlinux.org 下载。 现代 Linux 系统上可以直接安装包含 as86/ld86 的 RPM 软件包,例如 dev86-0.16.3-8.i386.rpm



核心应该是实现方法。。。奥里给
竞赛可以免课设,就不做了。。。专心做竞赛

小甲鱼的铁粉 发表于 2020-6-9 20:41:26

{:10_305:}

MFwxy 发表于 2020-6-9 21:00:08

小甲鱼的铁粉 发表于 2020-6-9 20:41


{:10_303:}还在建,暂时没啥好东西
页: [1]
查看完整版本: 分页存储管理系统:建立一个基本分页存储管理系统模型(弃坑)