bios

I don't understand how to use Interrupt 21, AH=0ah

▼魔方 西西 提交于 2019-11-27 09:29:19
My information is coming from here . The assignment asks for a program that reads in no more than 20 characters, converts those characters to upper case, and then prints the input as capitals. I have no idea how to access the input from int21/AH=0ah. I really can't ask a more precise question unless I understand what is linked above. Can someone explain? Also, I'm using TASM if that makes any difference. Also, I'm testing this on freedos. UPDATE1: Alright, thanks to your help, I believe I understand how the interrupt needs to be set up and behaves. Setup: I have to designate a ds:dx where I

MBR详解

三世轮回 提交于 2019-11-27 08:41:30
因为BIOS很小,功能有限,为了完成加载操作系统的功能,就产生了mbr! 主引导记录MBR 硬盘的0柱面、0磁头、1扇区称为 主引导记录MBR (Master Boot Record) 它由三个部分组成, 主引导程序 (boot loader)、 硬盘分区表DPT (Disk Partition table)和 硬盘有效标志 (55AA)。 在总共 512字节 的主引导扇区里 主引导程序 占 446 个字节 ,第二部分是Partition table区(分区表),即 DPT ,占 64 个字节 ,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是 magic number ,占 2 个字节 ,固定为55AA。 !!!!!!!!!!!!!!!!!!!!! 一般将 MBR 分为 广义 和 狭义 两种: 广义的MBR 包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而 狭义的MBR 仅指引导程序而言。 主引导程序(boot loader) 主引导程序(boot loader) 是 直接写入 第一个扇区的前446个字节 ,如 grub 是直接写进mbr硬盘的主引导记录中的,计算机BIOS 在启动时,按照预定的方式, 将 mbr 内的代码加载至内存指定位置 , 然后跳转至那里,mbr的代码就开始运行了! 如果将grub写入mbr,bios就引导grub;

《操作系统真象还原》BIOS

℡╲_俬逩灬. 提交于 2019-11-27 06:22:45
  以下是读本书第二章的收获。   记得我大学学习操作系统的时候会遇到一些奇奇怪怪的问题,因为觉得问题太奇怪了,所以羞于问老师。诸如 ROM到底是个什么东西 ,是不是个硬盘呢;如果用 内存映射的方式访问外部设备,是不是内存条里专门有块内存空间来用于访问供外部设备 ,是不是先访问内存条这个地址,然后就直接跳到访问这个设备了等等。幸运的是,这本书都给我一一解答了。   实际上,ROM是下图这样的一种只读存储器(取自百度百科),是一种即使没有通电,也能保存信息的存储器。ROM其实是既可以读也可以写,只不过由于历史原因统称只读存储器。ROM种类不少,我们常用的固态硬盘就是基于闪存(一种ROM)的存储器。   我们下面将要说的BIOS正是存储在ROM设备中的程序,为什么BIOS放在ROM上?个人觉得,BIOS每次通电开机时都要运行,所以是不适合RAM这种断电即丢失信息的存储器了;至于磁盘也不太适合了,我们知道CPU能够直接访问的只有寄存器和内存,不包括磁盘这种外围设备。所以要执行在磁盘中程序的话,首先要将代码加载到内存里,再让CPU从内存取指令出来执行,但因为此时还未执行BIOS程序,来建立对硬件IO操作的功能,所以将代码从磁盘里加载出来的功能还不能使用。这样的话,磁盘程序放不出BIOS,BIOS也执行不了初始化操作,将BIOS放在硬盘估计就是让BIOS和硬盘俩对着对方干瞪眼

linux dmesg命令参数及用法详解(linux显示开机信息命令)

只谈情不闲聊 提交于 2019-11-27 02:36:40
linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信息。 语  法:dmesg [-cn][-s <缓冲区大小>] 补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg 文件里。 参  数:  -c  打印ring buffer中的内容后,清除ring buffer中的内容。  -s<缓冲区大小>  预设置为8196,刚好等于ring buffer的大小。  -n  设置记录信息的层级。 扩展阅读一:dmesg命令主要用途 主要应用: dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过less或grep使用管道查看dmesg的输出,这样可以更容易找到待查信息。例如,如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式: $dmesg | grep DMA ... ide0: BM-DMA at

linux dmesg命令参数及用法详解(linux显示开机信息命令)

﹥>﹥吖頭↗ 提交于 2019-11-27 02:36:18
功能说明: 显示开机信息。 语  法: d mesg [-cn][-s <缓冲区大小>] 补充说明: kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用 dmesg 来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。 参  数:  -c  显示信息后,清除ring buffer中的内容。  -s<缓冲区大小>  预设置为8196,刚好等于ring buffer的大小。  -n  设置记录信息的层级。 扩展阅读一:dmesg 命令 主要用途 主要应用: dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过 less 或 grep 使用管道查看dmesg的输出,这样可以更容易找到待查信息。例如,如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式: $dmesg | grep DMA ... id e0: BM-DMA at 0xf000-0xf007, BIOS set tings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xf008-0xf00f, BIOS

显示开机信息-dmesg

故事扮演 提交于 2019-11-27 02:35:49
显示开机信息-dmesg kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用 dmesg 来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。 dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过 less 或 grep 使用管道查看dmesg的输出,这样可以更容易找到待查信息。 例如,如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式: $dmesg | grep DMA ... id e0: BM-DMA at 0xf000-0xf007, BIOS set tings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, h dd :DMA ... 上面几行可以说明每个IDE设备正在什么模式下运行。 如果以太网连接出现问题,那么可以在dmesg日志中搜索eth: $dmesg | grep eth forcedeth.c: Reverse Engineered nForce ethernet

Linux笔记 系统启动流程

拜拜、爱过 提交于 2019-11-27 02:25:41
前言:   Linux 是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux是自由软件和开放源代码软件发展中最著名的例子。   接触Linux的时间也不算短了,一直都是直接使用Linux操作系统进行一些工作,很少去了解系统从开机到能使用的整个过程,感觉有需要好好理解下整个系统的启动过程,故写这篇博客加深一下理解。 先通过一张图来简单了解下整个系统启动的流程,整个过程基本可以分为POST-->BIOS-->MBR(GRUB)-->Kernel-->Init-->Runlevel。下面会详细说明每个过程的作用。 BIOS   BIOS(Basic Input/Output System),基本输入输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程,这个过程其实就是检查CPU和内存,计算机最基本的组成单元(控制器、运算器和存储器),还会检查其他硬件,若没有异常就开始加载BIOS程序到内存当中。详细的BIOS功能,这边就不说了,BIOS主要的一个功能就是存储了磁盘的启动顺序,BIOS会按照启动顺序去查找第一个磁盘头的MBR信息,并加载和执行MBR中的Bootloader程序,若第一个磁盘不存在MBR,则会继续查找第二个磁盘

Writing my own BIOS

时光总嘲笑我的痴心妄想 提交于 2019-11-26 23:52:33
问题 I'm not crazy, just reinventing the wheel :D I wrote boot-loaders, mouse & keyboard mini-drivers, mini OS and so on. I'm always trying to avoid DOS interrupts, using BIOS ones only, trying to go forward a unity mini OS, but suddenly I decided to write my own BIOS :) The Legend said : I was high-level programmer, then low-level one. One day I'll be machine-language programmer! Is a BIOS written in assembly? How can I flash it? What's the mechanism? Can I start editing my current BIOS? 回答1: A

BIOS中英文对照

懵懂的女人 提交于 2019-11-26 19:57:06
【推荐】BIOS中英文对照 BIOS中英文对照 Time/S***em Time 时间/系统时间 Date/S***em Date 日期/系统日期 Level 2 Cache 二级缓存 S***em Memory 系统内存 Video Controller 视频控制器 Panel Type 液晶屏型号 Audio Controller 音频控制器 Modem Controller 调制解调器(Modem) Primary Hard Drive 主硬盘 Modular Bay 模块托架 Service Tag 服务标签 Asset Tag 资产标签 BIOS Version BIOS版本 Boot Order/Boot Sequence 启动顺序(系统搜索操作系统文件的顺序) Diskette Drive 软盘驱动器 Internal HDD 内置硬盘驱动器 Floppy device 软驱设备 Hard-Disk Drive 硬盘驱动器 USB Storage Device USB存储设备 CD/DVD/CD-RW Drive 光驱 CD-ROM device 光驱 Modular Bay HDD 模块化硬盘驱动器 Cardbus NIC Cardbus总线网卡 Onboard NIC 板载网卡 Boot POST 进行开机自检时(POST)硬件检查的水平:设置为"MINIMAL"

Reliable way of generating unique hardware ID

自闭症网瘾萝莉.ら 提交于 2019-11-26 17:37:57
问题 Question: I have to come up with unique ID for each networked client, such that: it (ID) should persist once client software is installed on target computer, and should continue to persist if software is re-installed on same computer and same OS installment, it should not change if hardware configuration is modified in most ways (except changing the motherboard) When hard drive with client software installed is cloned to another computer with identical hardware configuration (or, as similar