Este tutorial abarca todo el procesamiento de la creación de su propio pequeño sistema operativo. Incluye arranque
y el módulo del kernel.

Hacer su propio sistema operativo


Herramientas necesarias:


Por lo general, cuando se inicia el equipo que intenta cargar 512 bytes
del sector 1, cabeza 0, cilindro0 desde una unidad de disquete
a 0000h: 7C00h y darle control.
Si esto falla, un disco duro se utiliza.

Este tutorial cubre el arranque de la unidad de disquete, el mismo principio es
utiliza para arrancar desde disco duro. Uso de unidad de disquete tiene varias ventajas:

  • Usted puede mantener su actual sistema operativo (Windows, DOS ...).

  • Es fácil modificar el registro de inicio de la unidad de disquete.

Ejemplo de un simple programa de arranque:



; Directiva para crear archivo de inicio:
# # MAKE_BOOT

; Boot Record es cargado en 0000:7 C00,
; Informará de ello compilador necesario para hacer
; Correcciones:
ORG 7C00h

; Carga mensaje en la dirección SI registro:
LEA SI, msg

; Teletipo función id:

MOV AH, 0EH

imprimir: MOV AL, [SI]
CMP AL, 0
JZ hecho
INT 10h; imprimir utilizando teletipo.
INC SI
JMP imprimir

; Esperar a que "cualquier tecla":
Hecho: MOV AH, 0
INT 16h


; Tienda de magia en el valor 0040h: 0072h:
; 0000h - arranque en frío.
; 1234h - warm boot.
MOV AX, 0040h
MOV DS, AX
MOV w. [0072h], 0000h; de arranque en frío.

JMP 0FFFFh: 0000h; reiniciar!


new_line EQU 13, 10

msg PP 'Hola este es mi primer programa de arranque! "
New_line PP, 'Pulse cualquier tecla para reiniciar', 0

Copie el ejemplo de arriba a emu8086 editor de código y
presione [Compilar y Emular] botón.
Emulador de carga automáticamente. "Arranque" a 0000h archivo: 7C00h.

Se puede ejecutar como un programa regular, o puede utilizar
Unidad virtual menú para escribir 512 bytes en 7C00h al sector de arranque
virtual de la unidad de disquete (FLOPPY_0 archivo en la carpeta del emulador).

Después de escribir su programa virtual de unidad de disquete, puede seleccionar
Arrancar desde disquete de la unidad virtual menú.


Si usted es curioso, usted puede escribir
el disquete virtual (FLOPPY_0) o ". arranque" para el archivo real y disquete
arrancar su computadora de él, recomiendo
utilizando "RawWrite para Windows" a partir de:

Jn
http://uranus.it.swin.edu.au/ ~ / linux

(Tenga en cuenta que esto no es MS-DOS compatible sector de arranque,
por lo que es mejor utilizar y disquete vacío, aunque debe
IBM (MS-DOS) formateado).


". Arranque" los archivos están limitados a 512 bytes (tamaño de sector), de modo que si su
Sistema Operativo va a crecer más de este tamaño que debe utilizar el programa de arranque
para cargar los datos de otros sectores. Un buen ejemplo de pequeño sistema operativo
ser descargado aquí:

micro-os_loader.asm

micro-os_kernel.asm

emu8086.inc

Para crear extensiones para su sistema operativo (más de 512 bytes), puede utilizar
". Bin" archivos (seleccione "BIN plantilla" de "File" -> "Nuevo" del menú).

Para escribir ". Bin"Archivo virtual de disquete seleccione" Escribir. Bin archivo a disquete ... "
de "unidad virtual" emulador de menú:

write_bin.gif

Usted también puede usar esto para escribir ". Arranque" archivos.

Sector en:


cilindro: 0

sector: 1

cabeza: 0

es un sector de arranque!

Una típica estructura de unidad de disquete:

floppy.gif

  • Disquete tiene 2 partes, y hay 2 jefes de cada una de las partes (0 .. 1), estos
    los jefes se mueven por encima de la disco.

  • Cada lado tiene 80 cilindros (0 .. 79).
  • Cada cilindro tiene 18 sectores (1 .. 18).
  • Cada sector tiene 512 bytes.
  • Número total de disquete es: 2 x 80 x 18 x 512 = 1474560 bytes.



Copyright © 2002 Alexander Popov Emulación Soft.

Todos los derechos reservados.

http://www.geocities.com/emu8086/

Average rating: