– 沉没大陆

Date: 2018年1月4日 (page 1 of 2)

SmlOS:十二.多任务的支持

(1)TSS硬件跳转的实现 首先对TSS进行简要介绍,TSS-任务状态段(TaskStateSegment)是x86计算机上是一个保存任务信息的数据结构。被现代的操作系统用于系统任务管理。 TSS结构体如下: struct TSS32 { int backlink, esp0, ss0, esp1, ss1, esp2, ss2, cr3; ...

SmlOS:十一.时钟控制的实现

(1)时钟超时管理架构 对时钟的管理,主要基于时钟中断的功能。中断功能的实现在上面有简要的介绍,这里不做过多描述。 这里介绍两个重要的时钟管理结构体: struct TIMERCTL {  unsigned int count, next, using;  struct TIMER *timers[MAX_TIMER];  struct TIMER...

SmlOS:十.窗口图层的控制

(1)图层管理结构的初始化 系统对桌面图形做出图形结构的管理形式,图层管理表的结构如下: struct SHTCTL {  unsigned char *vram, *map;  int xsize, ysize, top;  struct SHEET *p_sheets[MAX_SHEETS];  struct SHEET sheets[MAX_SHEETS]; };   vram 图像缓冲区...

SmlOS:九.内存管理

(1)内存大小的检测 内存的检测主要是对一个内存进行写入操作,然后取反,在判断是否成功。 但在执行检测之前需要先关闭高速缓存,高速缓存的关闭可由设置cr0寄存器实现。 而内存的检测函数由汇编函数实现,因为c语言编译器的高度优化,写入再取反再读取的操作会被...

SmlOS:八.键盘鼠标功能的支持

(1)键盘控制电路的初始化及激活 对于CPU啦死活键盘控制电路是外部设备,所以使用OUT指令进行初始化操作,与之前的外部设备操作类似。 (2)对鼠标键盘数据的解析 键盘数据的解析只是接受到一个字节的内容,在中断程序里存入fifo缓冲区。 而鼠标数据的解析,则略微...

SmlOS:七.中断实现

(1)PIC的初始化  PIC(programmable interrupt controller-可编程中断控制器)  PIC是将8个中断信号集合成一个中断信号的装置。PIC监视着输入管脚的8个中断信号,只有有一个中断信号进来,就将唯一的管脚信号变成ON,并通知CPU。  和CPU直接相连的PIC称为主PIC(...
Olderposts