![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
硬件抽象层
mickey139
喜欢OS,GUI研究
展开
-
原子操作
分析环境reactos0.3.1 ,i386体系]今天在看HAL时看到一段关于初始化CPU的代码,在Processor.c (hal/halx86/generic)文件中,如下:VOIDNTAPIHalInitializeProcessor(IN ULONG ProcessorNumber, IN PLOADER_PARAMETER_BL原创 2008-02-20 21:53:00 · 3851 阅读 · 3 评论 -
reactos中涉及的GNU gas 汇编
分析环境reactos0.3.4 ,i386体系]Reactos中涉及的汇编这几天在看HAL中关于IRQL的实现部分基于PIC(8259a)的,相关文件位于hal/halx86/generic/irq.s,这个文件是用汇编语言写的。一开始以为是用nasm来编译的,后来打开makefile.auto才发现也是用GCC来编译的。大概看了看这个文件中的语法格式,有个疑问,感觉这个文件很像inte原创 2008-04-09 11:50:00 · 808 阅读 · 0 评论 -
ReactOS,硬件抽象层,HAL概述
分析环境reactos0.3.4 ,i386体系] ReactOS的硬件抽象层 HAL(Hardware Abstraction Layer)位于OS与硬件的中间,和windows的hal原理基本一致,硬件抽象层隐藏特定平台的硬件接口细节,为上层的系统提供标准的稳定的虚拟硬件平台,使商城系统具有与硬件无关的特性,从而达到可在多种平台上进行移植的目的。 既然硬件抽象层的功能是隐原创 2008-05-05 22:33:00 · 864 阅读 · 0 评论 -
ReactOS,硬件抽象层,访问CMOS寄存器
分析环境reactos0.3.4 ,i386体系] 在HAL级所提供的针对CMOS功能在硬件抽象层中,主要的功能是隐藏具体的硬件细节,向上层提供读取以及设置CMOS信息的相关函数,当然还有读取和设置时钟信息的相关函数,这些函数的接口对于上层是一致的,对于下层来说只有实现上的不同,因为不同体系结构不同的芯片也许端口地址或寄存器会有所不同,但是上层并不知道,应为HAL的函数接口是一致的原创 2008-05-05 22:45:00 · 491 阅读 · 0 评论 -
ReactOS,硬件抽象层,可编程间隔定时器 PIT
分析环境reactos0.3.4 ,i386体系] 修订 v0.1 2008-06-10 文件:timer.c(/hal/halppc/generic) 可编程间隔定时器 PIT 系统实现抢占式多任务的根本!线程的命运掌握在系统手中,系统每隔15ms检测一次,如果当前线程时间配额结束,就会执行一次线程切换。对于I386体系结构的计算机中有一个PIT原创 2008-05-27 08:26:00 · 1052 阅读 · 4 评论 -
系统时钟中断服务例程的建立
[分析环境reactos0.3.4 ,i386体系] 时钟中断初始化的准备工作当硬件抽线层的在初始化可编程间隔定时器 PIT后,硬件就会按照某个时间间隔值产生一次时钟中断,(感觉好像心脏开始跳动)硬件开始了时钟的中断,不过当时钟中断产生时硬件如何进入中断服务函数呢? 要完成这一功能还必须完成两个任务:1.对中断控制器进行编程,就I386体系结构来说就是(PIC或APIC)最原创 2008-09-04 15:19:00 · 2233 阅读 · 3 评论