
计算机系统-操作系统
文章平均质量分 89
个人操作系统知识总结。
雪饼熊
控制复杂性是计算机编程的本质
展开
-
2023-07-27 elf文件格式布局解析(部分)
ELF 指的是 Exeeutable and Linkable Format ,可执行链接格式。最初是由 UNIX 系统实验室 CUSL)作为应用程序二进制接口 CABI) 而开发和发行的。工具接口标准委员会( TIS )选择了它作为 IA32 体系结构上不同操作系统之间的可移植二进制文件格式,于是它就发展成为了事实上的二进制文件格式标准。在 ELF 规范中,把符合 ELF 格式协议的文件统称为“目标文件”或 ELF 文件,这与我们平时所说的目标文件是不同的。原创 2024-05-15 20:07:38 · 900 阅读 · 0 评论 -
2023-07-27 操作系统特权级保护
特权级有4级:0、1、2、3,一般来说操作系统内核位于0,虚拟机、驱动程序等系统服务位于1、2,用户位于3。原创 2024-05-15 19:58:49 · 868 阅读 · 1 评论 -
2023-06-27 操作系统分页机制的深入浅出
二级页表内存地址转换一般需要先拆分虚拟地址,再查页目录、查页表,所以为了缩减转换时间,直接将虚拟地址和对应的物理地址保存在TLB(一种高速缓存)中,该位为1代表该页是全局页,表示该页将会一直在TLB中,根据虚拟地址直接给物理地址(TLB容量很小,所以里面只放访问频率较高的页。为了能够快速定义数据在那一张页,需要建立页的索引。而段内的线性地址是由编译器编译出来的,它本身是连续的,这就导致线性地址与物理地址在一一映射的关系下就要使用连续的物理空间去装载完一个完整的段以保证这种连续性,所以段必须完整的换入换出。原创 2024-01-08 22:10:45 · 1023 阅读 · 1 评论 -
2023-07-12 关于gcc编译C语言系统内核文件经过ld链接后出现的问题
最终得到的可执行文件中程序头表描述与书中不同,我得到表中条目也就是程序头总共有4个,而书中只有2个,且第一个段起始虚拟地址为0x080040000而非0xc0001000。解决办法:降低系统binutils版本或者编译一个低版本binutils工具,利用工具中的ld链接器进行链接。说明,我这里是不想安装到系统环境下,所以安装目录选择在了解压目录下创建的build文件中即–问题1:由于我用的是deppin20.0.9,其自带的gcc版本为8.3.0,所以在执行上述。问题原因:ld连接器版本过高导致。原创 2023-07-27 17:33:33 · 256 阅读 · 0 评论 -
2023-06-23 操作系统实模式、保护模式的深入浅出
在介绍相关知识和概念之前我们先了解一点历史,毕竟无论是软件还是硬件的发展都会受到早期规则的影响。所以这里我们先讲一下芯片业的发展,又因为intel是芯片制造厂商的龙头企业,很多划时代的芯片是从他家开始所以接下的介绍无可避免的以intel公司作为背景板。其芯片的发展主要有三个阶段:参考资料:https://blog.youkuaiyun.com/haojiahuo50401/article/details/6410531intel 40041968年,摩尔、诺伊斯、格鲁夫三人成立一家名叫英特尔的公司。1971年,英特尔公原创 2023-06-27 15:03:18 · 1281 阅读 · 1 评论