Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [?] sistema operativo

  1. #1

    sistema operativo

    ragazzi mi sono sempre chiesto, ma per fare un OS (oltre all'avere 2 palle cosi ) di quali conoscenze si hanno biosgno?


    assembler? e il codice dell'assembler dove si deve scrivere? ma la macchina quando parte e vede che c'è il boot da hard-disk che si va a cercare un file particolare?


  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    dipende da che linguaggio vuoi usare.
    puoi scrivere un sistema operativo quasi interamente in C.
    dico quasi perche' ci vorra' qualcosetta in assembler e qualcosetta cablato nella ROM per fare il boot, ovviamente.
    cmq c'e' sicuramente molto da sapere sulla programmazione concorrente (processi, semafori, ...)

  3. #3
    Utente di HTML.it L'avatar di mardux
    Registrato dal
    Apr 2003
    Messaggi
    1,655
    per la seconda domanda , dopo aver eseguito Power On
    Self Test, u test diagnostico eseguito dal bios che controlla i componenti e le periferiche, va a cercare il boot.ini (se ne hai solo un so parte con quello, se ne hai + di 1 puoi sceglierlo), nel quale c'è scritto su quale disco o partizione c'è il SO, e poi esegue il boot loader, che carica il sistema.

    per la prima domanda, l'assembler è necessario conoscerlo se vai a lavorare e impattare direttamente con i componenti ellettronici. ad esempio i bios programmati in assembler. il bios sta nella ROM, per la precisione EEPROM, una ROM cancellabile e riprogrammabile elettronicamente
    L'italia è una repubblica mediatica basata sulla corruzione e sulla mafia.

    "Non sono i popoli a dover aver paura dei propri governi, ma i governi che devono aver paura dei propri popoli.." Thomas Jefferson.

  4. #4
    capito, usando windows per es, trova nel boot.ini l'indirizzo assoluto del windows, e poi con quello che se ne fa?

    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S

  5. #5
    Utente di HTML.it L'avatar di mardux
    Registrato dal
    Apr 2003
    Messaggi
    1,655
    da quello legge da quale partizione del disco partire. su quella partizione avvia il prog che carica il sistema e poi partono in sequenza il kernel, i drivers, i servizi di sistema e le applicazioni in kernel mode, cioè relative ad ogni utente. c'è poi il login, dopo di che partono i servizi e le utility relativi all'utente loggato (user mode).

    se vuoi info + dettagliate ti incollo un documento
    L'italia è una repubblica mediatica basata sulla corruzione e sulla mafia.

    "Non sono i popoli a dover aver paura dei propri governi, ma i governi che devono aver paura dei propri popoli.." Thomas Jefferson.

  6. #6
    Il BOOT avviene cosi', avendo io creato un piccolo sistema operativo su un flppy che all'avvio di printa "ciao" :rollo: (l'ho cancellato subito).

    Si crea un boot loader che verra' inserito nell'MBR (il primo settore del device, non ricordo quanti kb sono).
    Il BIOS, va a cercare il boot loader in ogni device (se ad es. il BIOS e' settato come A, C, SCSI, andra' prima nel floppy).
    Quindi, cerca ad es. nel floppy nell'MBR e trova il mio boot loader. Dopodiche' esegue delle operazioni per far partire il kernel (che ho fatto in C)... e poi continui a lavorare con il C per la parte del kernel, ed avrai sicuramente problemi di (come dicevano prima) ottimizzazione e interiezione con device di basso livello che con il C neanche arrivi e devi comunque usare ASM nello stesso kernel.
    Tutto sta nel creare una base su cui far partire i programmi, e la cosa piu' dura (se vuoi fare proprio un OS da 0 tuo tuo tuo) e' proprio il modo in cui far partire i programmi... quasi ogni sistema operativo di sua nativita' usa diversi header nella compilazione dei suoi programmi per farli girare ed essere compatibili con il kernel, quindi la prima cosa da fare sarebbe proprio un compilatore ed un interpretatore nel kernel che sappia farlo girare!

    Infatti la fase dei programmi e' una delle parti piu' complessa di un sistema operativo... non sai proprio da dove cominciare :rollo:

  7. #7
    Per la creazione di un OS, se si ha una "buona" conoscenza di C ed Assembly, io avevo trovato veramante interessante:
    http://www.italios.it/osdev.html
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  8. #8
    Originariamente inviato da alesssia
    http://www.italios.it/osdev.html
    Not Found
    The requested URL /osdev.html was not found on this server.
    PyGTK GUI programming
    un impegno concreto: eliminare la k dalle tastiere italiane

  9. #9
    http://www.italios.it/

    Ora non è più in html, ma in php, ecco perché non prendeva il vecchio link.
    Scusatemi, la prossima volta controllerò il collegamento!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.