当前位置:  技术问答>linux和unix

保护模式下怎么和硬件打交道 ?

    来源: 互联网  发布时间:2015-12-24

    本文导语:  我问这个问题是站在开发操作系统的角度上来问的,大家不要告诉我通过系统调用来和硬件打交道。我想知道的是系统调用是怎么和硬件打交道的?是调用BIOS,还是直接操作端口?还是其它的方式?好像在保护模式...

我问这个问题是站在开发操作系统的角度上来问的,大家不要告诉我通过系统调用来和硬件打交道。我想知道的是系统调用是怎么和硬件打交道的?是调用BIOS,还是直接操作端口?还是其它的方式?好像在保护模式下不是调用BIOS,在保护模式下中断调用是用到IDT。那究竟是怎么访问硬件的呢?是把实模式下的BIOS搬到保护模式下吗?还是直接操作硬件端口?如果是直接操作端口,比方说显卡,会不会不同的显卡端口不同?怎么能保持兼容呢?VESA VBE 3.0 是个BIOS软件接口规范,如果在保护模式下不用BIOS,那这些规范不是没有什么作用了?是不是都通过驱动来和硬件打交道?驱动是怎么和硬件打交道的?是调用BIOS还是操作端口? 

不好意思,比较菜,望高人指点迷津。

|
一般都是直接通过I/O方式,也有些BIOS中断有保护模式扩展,可以调用

32bits Operating System--Developped by WY.lslrt http://www.wyos.net

|
linux driver就是干这个的啊

|
linux driver
比方说显卡,会不会不同的显卡端口不同?

不会。你写的设备驱动最后还是要注册到OS上。比如显卡挂到PCI  DRIVER 上。
设备驱动在linux  下分char ,block, network,usb,pci等。都有一套它的规范。

|
linux 2.6下面有个分配DMA的函数
传进去的有一个指针用来获得物理地址,返回一个指针就是这个物理地址对应的虚拟地址
使用时,这年物理地址指针只能给DMA寄存器用,更新DMA内存里面的数据就要用这个返回的虚拟地址

|
LZ需要去了解中断原理,中断是电子的,非保护模式下用向量,保护模式下用IDT,原理一样的,中断程序处理IO,IO是Cpu单独指令或者是内存统一编址

|
我的理解是,设备在加载驱动时,通过request_region等操作,把设备内存(IO)映射到内核内存(基地址方式吧),然后直接操作内核内存。属于对设备IO的操作,没有通过bios调用

    
 
 

您可能感兴趣的文章:

  • IA32架构下,能从保护模式返回实模式吗?
  • 一般的linux嵌入式设备,系统工作在实模式还是保护模式下呢
  • AT&T汇编 Linux保护模式编程问题
  • 嵌入式linux在正常运行后也是用的保护模式吗?
  • 保护模式下的I/O
  • 已经由DOS实模式进入保护模式(可以在DOS访问32位指针),但具体不知怎样用?
  • 保护模式怎么进呢
  • 什么是保护模式和实模式
  • 保护模式杂问
  • 请问学习x86保护模式编程有什么意义?
  • linux操作系统的保护模式和分页机制,高手请进。
  • 请问关于保护模式下逻辑地址的一个问题
  • 显示器保护模式问题!!!!!!!!!
  • 保护模式小问
  • 保护模式的问题
  • 怎样在Bochs环境里模拟DOS保护模式?
  • [Oracle] Data Guard 之 三种保护模式介绍
  • 关于保护模式下打开地址线A20的问题
  • 再dos中有生成保护模式代码的c编译器吗?
  • 保护模式编程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 硬件防火墙提供那些保护策略啊
  • 为什么我在安装linux9的时候,机器检测硬件的时候,出现“超频保护中”的提示,请问大家有没有碰到此类的问题
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • Linux下对写保护的u盘操作问题 iis7站长之家
  • 金山隐私保护器 PrivacyProtection
  • 关于SCO的屏幕保护的问题
  • 硬盘保护卡是什么道理? 它的工作原理是什么?
  • 屏幕保护程序 Kannasaver
  • 保护视力,用休息提醒软件 Workrave
  • 及其郁闷的事,请问个位硬盘保护卡怎么才能搞掉啊!
  • 386的保护机制为何与这个有点冲突,高手请指教
  • Linux屏幕保护 Really Slick Screensavers GLX Port
  • Linux下对写保护的u盘操作问题
  • 怎样用java作一个屏幕保护程序?请帮忙
  • SSH保护程序 sshguard
  • P2P保护工具 PeerGuardian2
  • 屏幕保护程序 Idle Screen Project
  • 请投票保护长城
  • 如何保护你的Java源码?
  • 菜鸟简单屏幕保护问题,请大家帮个忙!!!
  • 对一个int32的赋值需要加锁保护么?
  • 怎么解决linux下禁用屏幕保护程序和去掉节省电源的功能????


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3