|
Doncs sí, aquesta sistema operatiu és especial
per moltes coses.
La primera és que cap en un disquet.
Una altra cosa per la qual destaca i que agradarà molt als
informàtics és que està fet
completament en assemblador.
Això vol dir que (els que heu estudiat assemblador podeu
fer-vos una idea...) és un sistema operatiu molt
ràpid (per les característiques que té
aquest llenguatge). No es pareix a cap linux ni deriva de cap, ni
està basat en cap. És un sistema operatiu complet
fet a partit de zero. Les raons per les quals ha estat fet
així les podeu consultar a la web del projecte:
http://www.menuetos.org/
on podreu descarregar-vos-el, mirar la documentació, la faq,
i més.
Una altra cosa que m'agradat molt (almenys a mi...) és que
aquest sistema operatiu és lliure, té llicència GPL,
la qual cosa vol dir que podeu descarregar-vos el codi font i
estudiar-lo, modificar-lo i millorar-lo (recordeu que un programari
és lliure (GPL) si podeu obtenir el seu codi font de manera
més o menys senzilla). Per exemple: ací teniu un
tros de codi del fitxer Thread.asm,
que supose que serà l'encarregat de tractar els fils
d'execució:
;
; THREAD EXAMPLE
;
; Compile with FASM for Menuet
;
use32
org 0x0
db
'MENUET01'
; 8 byte id
dd
0x01
; header version
dd
START
; start of code
dd
I_END
; size of image
dd
0x200000
; memory for app
dd
0x80000
; esp
dd 0x0 ,
0x0
; I_Param , I_Icon
START:
; start of execution
call
draw_window
; at first, draw the window
still:
mov
eax,10
; wait here for event
int 0x40
cmp
eax,1
; redraw request ?
je red
cmp
eax,2
; key in buffer ?
je key
cmp
eax,3
; button in buffer ?
je button
jmp still
red:
; redraw
call draw_window
jmp still
key:
; key
mov
eax,2
; just read it and ignore
int 0x40
jmp still
button:
; button
mov
eax,17
; get id
int 0x40
cmp
ah,1
; button id=1 ?
jne noclose
mov
eax,-1
; close this program (thread)
int 0x40
noclose:
cmp ah,2
jne no_thread
Com instal·lar-lo:
és ben zenzill. Per exemple, podeu baixar-vos el fitxer
executable de la web, el fitxer mos077.exe
a data d'avui i, una vegada descarregat, posar un disquet net en la
disquetera i executar el fitxer. L'executable mateix us copiarà
el sistema operatiu al disquet. Després tan sols heu de
reiniciar l'ordinador (modificant la bios si cal) i ja està.
Veureu què ràpid es carrega un sistema operatiu
d'aquestes característiques des d'un disquet.
Una vegada arrenca el menú del kernel, heu d'acabar de
configurar-lo:
Primer us preguntarà per la targeta de vídeo i les
propietats de la pantalla. D'entre totes les targetes i definicions de
pantalla jo he triat l'opció 3: Vesa
2.0+ 16M LFB: 1024x768.
Després et preguntarà si fa servir els
gràfics predeterminats o no. Jo he contestat que sí,
opció 1.
Després et pregunta si fa servir acceleració
gràfica i li he dit que sí. Opció 1.
Et preguntarà pel tipus de ratolí. Jo he posat
l'opció 1, ratolí PS/2.
Després et preguntarà per la memòria de la placa
base. Jo he triat la màxima memòria que em deixa triar,
opció 4, encara que en tinc més.
I finalment et preguntarà si carrega la ramdisk del disquet o
del disc dur. Jo he triat l'opció 1, que carrega des del disquet.
Una vegada prems l'última opció, apareixen en pantalla
unes línies tipus log on es confirma la càrrega dels
mòduls que cal segons les opcions triades i et demana que premes
la tecla <escape>. Una vegada la prems, arrenca el Menueto.
Impressions: Dues
impressions a destacar: és un sistema operatiu molt ràpid
i jo no sabia que es pogueren fer els gràfics i les pantalles
que es veuen en assemblador. Evidentment és un sistema operatiu
mínim, però té moltes coses per a ser tan petit:
he jugat al tetris, es podria jugar als escacs, té un servidor
http, i moltes coses més que caldria mirar amb paciència
(com serà el tetris en assemblador??)...
Ha estat una agradable sorpresa per a un programador que en la
pràctica de Fonaments de Computadors hagué de fer un
senzill joc del come-cocos en assemblador (encara no us he parlat
d'això??)...
|