Apertura Progetto: Guevara Kernel

Lascia un commento

Oggi finalmente ho iniziato a scrivere un kernel in C/Assembly. Fondamentalmente non pretendo che questo kernel abbia le caratteristiche di Linux (magari =) ma sarebbe bello farlo funzionare e, poterlo installare sull’ HD (sebbene penso sia molto difficile). Insomma i requisiti per partecipare al progetto sono 2 soli:

  • Saper lavorare in un Team
  • Conoscenze C/Asm

Io non possiedo molta esperienza nel campo dell’ assembly, ma abbastanza nel C. Se volete partecipare inserite un commento nella pagina progetti.

Annunci

Assenza

Lascia un commento

In questi giorni due lamerotti del c***o mi sono entrati nel pc e mi hanno cancellato tutti i mie programmi, per fortuna ho salvato i compiti delle vacanze. Inoltre non contenti mi hanno distrutto il BIOS e la scheda grafiga. Non so quando potrò tornare a scrivere , ma, se tutto va bene entro martedì riesco ad aggiustare il Mac Pro G4.

§DarkBit§

[CLASSE] INI Read/Write

1 commento

Ecco a voi la mia nuova classe per leggere e scrivere i file INI:

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace INI
{
    public class IniFile
    {
        public string path;

        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section,
            string key, string val, string filePath);
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section,
                 string key, string def, StringBuilder retVal,
            int size, string filePath);

        public IniFile(string INIPath)
        {
            path = INIPath;
        }

        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.path);
        }

        public string IniReadValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp,
                                            255, this.path);
            return temp.ToString();

        }
    }
}

E come si utilizza:

using INI;
[...]
IniFile ini = new IniFile("config.ini");
ini.IniWriteValue("Sezione", "Chiave", "Valore");
ini.IniReadValue("Sezione", "Chiave");

Assembly vs Hight Level Language

1 commento

Molti di voi si chiederanno cos’ è l’ Assembly (non assembler), bhè principalmente l’ Assembly è un linguaggio di programmazione di basso livello, ovvero è il linguaggio che piu si avvicina al linguaggio macchina ( 0100110 per esempio). Molti di voi si chiederanno perchè studialro, ma soprattutto quali benefici porta. I benefici che porta sono 3:

  1. Il programma Assembly è molto piu veloce rispetto hai programmi tradizionali, in quanto viene costruito sul prorpio hardware
  2. Il programma Assembly occupa poco spazio di memoria e di peso rispetto ad alti programmi di alto livello
  3. Con l’ Assembly puoi controllare ogni più piccola parte del tuo computer

Aimè ogni beneficio porta almeno un difetto:

  1. Il codice è strettamente legato al processore o famiglia di processori
  2. Il codice scritto o programma creato è poco portatile
  3. Programmare in Smmebly è difficile, soprattutto in fase di debug

Conclusione: Programmare in Assembly serve moltissimo solo nella programmazione di basso livello che riguarda l’iterfacciatura dell’ hardware, ovvero la scrittura di driver, ovviamente uno può iniziare a programmare in assembly per farsi programmi (come me) ma è sconveniente. Usare un linguaggio di alto livello è molto piu comodo, ma non puoi controllare al 100% la tua maccchina. La decisione spetta a voi.

SO in C# [COSMOS]

6 commenti

Salve a tutti, oggi scrivo questa guida su come creare il prorpio Sistema Operativo grazie ad un Kit per Visual C#: Cosmos, ovvero C# Open Source Managed Operating System. Requisiti:

  • Visual C# 2008 Express (Milestone 4), Visual Studio 2008/2010 (Milestone 5)
  • Cosmos Starter Kit
  • Conosenze C#
  • Cervello

Visual C# 2008 è reperibile qui

Cosmos invece lo potete scaricare dal sito: http://cosmos.codeplex.com/

Putroppo le conoscenze C# e un po di cervello non si possono reperire online… Adesso iniziamo. Una volta installato Visual C# dovete installare Cosmos Starter Kit, appena aprirete VC# una finestra vi chiederà se installare Cosmos, voi dite di si, e installate. Alla fine in teoria dovreste riavviare il PC, ma so che quasi nessuno Altro

File Splitting

Lascia un commento

Che cos’ è un File Splitting? Essenzialmente splittare un file significa dividerlo in parti uguali a nostra dscrezione, ovvero dividerlo per dimensioni parti, o normalmente (ovvero dividendo un file in parti uguali). Oggi vi mostrerò come eseguire questa tecnica in un Windows Form Project usando Visual C# 2008. Bene allora iniziamo…

Altro