学习 操作系统 会遇到的一些问题

本文探讨在操作系统中,当遇到某些情况时为何程序可以继续运行。关键在于理解‘保存现场’的概念,它涉及哪些信息的保存,以便在后续执行中恢复程序状态。
学习操作系统必须要了解一切。

首先要了解机器:
                              每条指令的长度,每条指令的功能,对机器的影响等等。
                               有哪些寄存器,都具有什么功能? 如何访问这些寄存器。
                               在访问数据的时候,机器会给你做什么?
                              在执行一条指令的时候,机器会做什么事情? 修改什么寄存器。
                              周边设备 的访问 (比如说 磁盘,行式打印机等) 是如何进行的?


然后要了解编译器: 将 一段C 语言代码编译成什么样子?
                               数据放在那里,代码又放在那里,都有什么样子的数据?
                              函数调用是如何实现的?
                              链接的时候的数据是如何放置在一起的?
                              写汇编语言的时候,或者写 C 语言的时候如何影响 汇编器 或者  C 编译器的行为,具有哪些可以影响的行为?
                              

了解编译过后的代码是什么样子, 加载到内存的时候又是什么样子? 
                                                    这两个实体 之间 具有何种对应关系? (非常重要)
                                                   (其实也就是虚拟地址空间 和 物理地址空间的对应关系)

需要了解,操作系统内存是如何管理的,又是如何给一个进程,或者给自身,分配内存的? (涉及到具体的数据存放在物理内存哪里?)
               
还需要了解中断,这个很重要,中断的时候 一个进程是如何切换到 另外一个进程,切换了之后又是如何 切换回来

                              并且可以依旧接着继续运行程序呢? (为什么可以接着继续运行程序,这个是非常重要的。保存现场,指的是保存了什么东西呢?)


当我们真的了解了上述的东西之后,就可以说对操作系统入门了,并且可以开始琢磨着写自己的操作系统了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值