2017年08月11日

2017年08月11日发布的文章
  • SmlOS十一-多任务支持

    SmlOS十一-多任务支持

    操作系统是如何实现任务并行的 这里的任务可以理解成进程或者线程操作 不知道有没有同学对此表示过好奇,多个进程如何做到同时运行且不相互影响的。 也许操作系统课上有这样解释过,两个任务线程不停的快速切换,看起来就像是同时运行了一样。 说的没错,…

  • SmlOS十-系统时钟控制

    SmlOS十-系统时钟控制

    简介 系统时钟控制也是现代操作系统中,必不可少的功能了。 比如说操作系统的Sleep实现,应用层Timer实现,时钟功能,数据包超时重传等功能,全部都是依赖于系统时钟控制。 那么,操作系统是如何知道时间过了1s钟呢? 这一切都要依赖于一个器…

  • SmlOS九-窗口控制功能

    SmlOS九-窗口控制功能

    大致简介 在现代的操作系统中,窗口管理是一个非常复杂的功能。 但是,作为一个合格的toy os,实现的能显示,能拖动就好了。 大致原理就是: 每个窗口就是大小不一的矩形图层,在背景的这个大矩形上,可以进行移动和相互覆盖或者部分覆盖的操作。 …

  • SmlOS七-PS2鼠标键盘功能支持

    SmlOS七-PS2鼠标键盘功能支持

    我们前面已经进行了鼠标键盘中断相关的设置,但是这还不够。 在对键盘和鼠标操作之前,需要激活键盘控制器,它们负责于鼠标和键盘通信,不开启它们,我们无法收到鼠标键盘的中断信号。 i8042 键盘控制器介绍 intel 8042 芯片,位于主板上…

  • SmlOS六-中断控制实现

    SmlOS六-中断控制实现

    设置处理函数 中断的来自于PIC,首先需要对PIC进行初始化。PIC是一个集成了8个中断信号到一个中断信号装置。 至于PIC的介绍,已经在系统启动前期处理章节做了介绍。 IDT函数表设置,也已经在GDT和IDT初始化中做了介绍。 其中有些序…

  • SmlOS五-GDT和IDT初始化

    SmlOS五-GDT和IDT初始化

    什么是GDT GDT (Global Descriptor Table) 全局描述表, 简要来说,在保护模式下,可以通过它来设定各个内存段,并能设定内存段的相关权限等。 首先呢,我们用windbg看下自身本机的GDT长啥样 OS:win7x…

下一页