
操作系统
rayz
这个作者很懒,什么都没留下…
展开
-
自制操作系统--1 环境搭建
网上有不少简单的加载器制作的文章,我也是初学,之前看过《Oranges‘s 一个操作系统的实现》,看到保护模式哪一点觉得非常头痛,有很多不清楚的地方,现在在看《30天自制操作系统》,虽然读起来简单多了,不过我使用的是Linux系统,做起来还是有些麻烦,此系列文章可以当作简单的学习笔记,不过会加上我个人的理解,将我当初迷茫的地方写出来,以及如何在Linux系统上搭建起操作系统的实验环境。最近一年准备原创 2013-01-06 16:39:28 · 538 阅读 · 0 评论 -
关于A20 Gate
大家都知道,8088/8086只有20位地址线,按理它的寻址空间是2^20,应该是1024KB,但PC机的寻址结构是segment:offset,segment和offset都是16位的寄存器,最大值是0ffffh,换算成物理地址的计算方法是把segment左移4位,再加上offset,所以segment:offset所能表达的寻址空间最大应为0ffff0h + 0ffffh = 10ffefh(转载 2013-01-13 17:31:52 · 380 阅读 · 0 评论 -
多任务系统概念
原理:严格意义上来说,多任务系统在同一时刻执行多个任务是不正确的。事实上,多任务系统只是加载任务到内存,执行它一段时间然后挂起它,并开始执行另一个程序,如果这一切换的时间足够短,就会造成多个任务同时执行的假象。多任务系统通过在内存中创建CPU寄存器的快照或者镜像来挂起任务。在x86体系中,CPU的镜像保存在由Task State Segment指向的特殊段中。通过有效的保存挂起时刻的cpu原创 2013-01-16 19:45:28 · 1235 阅读 · 0 评论 -
单任务操作系统及其应用程序
这里我们讨论典型的单任务操作系统的基本特性以及在其上运行的应用程序特征。概述典型的单任务系统由以下三个部分组成:命令行解释器(Command Line Interpreter,CLI)程序加载器系统服务命令行解释器当操作系统被BIOS加载到内存后,经过一系列初始化指令,控制流被交给了CLI。程序加载器当用户输入了文件名后,操作系统确定文件存在且有足够内存,操原创 2013-01-16 19:01:05 · 2423 阅读 · 0 评论 -
多任务系统中的主要问题
内存保护正在执行的任务是不能随意访问的,操作系统必须保护挂起任务的内存空间不受正在运行任务的非法更改。IO端口访问在单任务系统中,任务可以随意的访问IO端口,但在多任务系统中,由于任务切换,可能会产生许多问题。在任务访问IO端口时(使用io指令),CPU将陷入到操作系统例程,有操作系统代为访问IO设备。未授权的调用由于操作系统负责维护系统的完整性,对控制寄存器,内存原创 2013-01-16 20:13:11 · 585 阅读 · 0 评论