-
Notifications
You must be signed in to change notification settings - Fork 1
/
Info_OS.txt
169 lines (153 loc) · 8 KB
/
Info_OS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
MudStorm OS
Revisione 212
Versione: 0.6.3 Red Apple (Mela Rossa)
Kernel: 0.7
Shell: 0.6
|-----------------------------------------------------------------------|
| Kernel |
|-----------------------------------------------------------------------|
## 0.7
* Tolto il drive Floppy e il FileSystem(anche il VFS)! Non riesco ad implementarlo...credo di implementare il driver HardDisk e Filesystem FAT
* Sistemato problema del kernel panic con il filesystem! Era un problema del codice floppy! :)
* Aggiunta piccola funzione CPUID, mostra se è CPU Intel, AMD o sconosciuta!
* Aggiustato(a metà) il problema con il FS, adesso non manda in panic il kernel! :)
* Tolto A20 Line...dava problemi con la tastiera!
* Tolto il paging :( e disabilitato temporaneamente il FileSystem FAT :(
* Modificato Log., adesso è possibile usarlo come un printk :)
* Aggiunto A20 Line!
* Disabilitato il paging...dava problemi!
* Inserito floppy driver, VFS e FAT...floppy OK, VFS OK, FAT non funziona :(
* Aggiunto DMA
* Tentativo di inserire filesystem FAT :)
* Aggiunta piccola lettura contenuto "file"
* Inserita la stringa che mostra dove è allocato(in memoria) il kernel
* Sostituiti unsigned ... con uint.._t o size_t
* Sistemato problema con la tastiera :)
* Aggiustato il paging! :)
* Aggiunto una piccola gestione del paging! Ma se vado ad abilitarlo, mi manda in loop reboot l'os! :(
* Tolto printk da mouse.c
* Inserito filesystem :D
## 0.6
* Migliorato codice
* Aggiunto kfree(void*)
* Aggiunte info sul caricamento di sistema(GDT, IDT, etc.) e sulla memoria ram!
* Log.v è stato cambiato...le scritte nere con sfondo bianco lampeggiano(su Bochs e PC Reale)
* Aggiunto flags per Memoria RAM!
* Inserito fine kernel nel file linker/linker.ld
* Inserito Log.v(char*) stampa stringe con sfondo bianco e colore nero
* Divisa shell(shell.c) dai comandi(commands.c)
* Tentativo di inserire il filesystem...miseramente fallito :(
* Rinominato "types.h" in "stddef.h"
* Rinominata la funzione visible(bool) in kbhit(), adesso basta richiamarla e la scritta successiva alla funzione verrà nascosta, come per la password Linux!
* Possibilità di mettere in chiaro o no una password (o un username) grazie all funzione visible(bool) (di default true)
Ex: printk("\nPassword:"); visible(false); scank("%s", pass); visible(true); Password: *****
Se dopo lo scank non mettete visible(true); le prossime scritte saranno sempre trasformate in asterischi!
* Aggiunta la funzione strtok() (Grazie ad Apple per il codice)
* Implementato mouse, vi mostra la posizione in X e Y del mouse! Ancora niente per il tasto sinistro e destro!
* Sistemata la funzione visible(bool), adesso appena inserite la vostra stringa, non in chiaro, e premete invio, le prossime stringhe ritorneranno in chiaro! :)
* Aggiunta GPL anche nel file loader/loader.S
* Aggiunto Log! Usate:
- #include <log.h>
- Log.i(string) Per le info
- Log.d(string) Per il debug
- Log.w(string) Per gli avvisi
- Log.e(string) Per gli errori
* Aggiunti Log nel kernel!
* Aggiunta nuova funzione a Log! Log.v(string), scrive a video con colore bianco!
* Ripulito codice!
* Migliorata funzione cpu_speed(), adesso ritorna solo unsigned long
* Aggiunto il nome in codice!
* Rinominata funzione FlushBuffer() in flush()
* Rinominata funzione UpdateLeds(char) in update_leds(char)
* Rinominata funzione DelayMs(int) in delay_ms(int)
* Rinominata funzione DelayS(int) in delay_s(int)
* Rimossa funzione cpu_speed()
## 0.5
* Migliorata la funzione shutdown.
* Rivisto il codice
* Aggiunta la funzione set_color(char color) permette di cambiare il colore delle scritte! Nel file types.h ci sono i vari tipi di colori
* Aggiunta funzione scanf
* Migliorata la funzione DelayMs & DelayS
* Aggiunta la funzione CPU Speed
* Tradotto (per quello che mi e' stato possibile fare) lo scancode della tastiera da EN a IT
* Divisi tutti gli header (file .h)
* Eliminata funzione Init, inserita nel kernel_main.c
* Eliminata funzione login
* Commentato tutto il codice del file kernel_main.c & rdtsc.c & random.c
* Aggiunta funzione toupper (string)
* Aggiunta funzione tolower (string)
* Aggiunta la funzione bool detect_videotype(), permette di determinare il tipo di scheda VGA (Monocromatica(ritorna true) o Colore (ritorna false))
* Aggiunto il sorgente video.c, racchiude tutte le funzione della VGA: set_color, detect_videotype, scroll, putch, puts, etc.
* Il sorgente console.c ora contiene solo: shutdown, reboot e logo
* Rinominato il file kernel_main.c in kernel.c e il main da kernel_main a kernel
* Rinominate le funzioni printf e scanf corrispettivamente in printk e scank
* Rivisto il codice e sistemato
* Sistemato il bug della tastiera(se continuavate a cancellare, si cancellava anche ">") :)
## 0.4
* Migliorato il Kernel
* Aggiunta la funzione printf
* Aggiunta la funzione stoi (string to integer)
* Aggiunta la funzione read_rtc(), che legge il tempo e la data!
* Migliorata la gestione della tastiera, adesso, anche se cancellate tutto il testo(compreso quello scritto dall OS), la scritta(quella che farete dopo) rimarrà invarita!
## 0.3
* Migliorata la funziona login (adesso c'è anche l'username)
* Migliorata funzione Init(inserito reboot al posto di shutdown), file load.c
* Migliorata la funzione shutdown, adesso arresta veramente(solo le VM)
* Aggiunta la funzione reboot
## 0.2
* Aggiunti GDT, IDT, IRQ, ISR
* Aggiunto input da tastiera
* Aggiunta Shell
* Aggiunta funzione login
## 0.1
* Iniziato il progetto
* Inserite funzioni:
- Video
- Stringe
- Scrittura
|-----------------------------------------------------------------------|
| Shell |
|-----------------------------------------------------------------------|
## 0.6
* Migliorata la gestione della seconda stringa...usato anche per lei il tolower
* Disabilitato cd & ls...non servono visto che non c'è più il filesystem initrd
* Migliorata gestione "Comando non trovato", adesso viene visualizzata solo se l'utente ha SCRITTO un comando non iserito
* Aggiunti comandi cd e ls! Non ancora usati, aspetto di implementare open(path, arguments);
## 0.5
* Migliorati comandi uname e reboot
* Divisi comandi(shell/commands.c) dalla shell(shell/shell.c)
* reboot -r (Riavvia) -s (Spegni)
* Unito shutdown con reboot
* Rimosso "shutdown"
* Sintetizzato comando "uname"
* Rimosso comando cpu
* Aggiunto il nome in codice della versione alla funzione uname
* Aggiunta una funzione carina...provate a scrivere "cowsay" (senza virgolette)! :)
## 0.4
* Rivisto e migliorato il codice della shell
* Rinomitato il comando version in uname
* Rimossa la stringa "Guest", al suo posto inserito ">"
* Commentato tutto il codice della shell
* Rimosso il comando "echo" (era utile?)
* Aggiunta la funzione "cpu" mostra la velocità attuale della CPU(in MHz)
* Reinserito "echo", adesso è possibile fare in questo modo: "echo qui quo qua" e come output avrete "qui quo qua"!
* Migliorata la funzione uname, adesso se inserite uname, vi dà tutti i possibili comandi e li inserite così: Ex. uname -r
* Aggiunta la domanda di sicurezza per reboot e shutdown
* Migliorata la funzione di debug
## 0.0.3
* Eliminata la funzione calc, dava solo problemi
* Aggiunta una piccola funzione di debug, per ora solo per la shell
* Aggiunto comando logo, stampa a schermo il logo dell'OS
* Aggiunto comando beep, permette far suonare al buzzer un beep per 5s (non funziona molto bene il delay)
* Aggiunto comando exit, permette di uscire dalla shell e di rientrare nella schermata di login
* Rimosso il comando author e inserito nel comando version
* Nuovo logo
## 0.0.2
* Migliorata la Shell
* Aggiunti nuovi comandi: reboot, print, calc (beta), date
* Rinominati comandi: creator -> author, exit -> shutdown, dhelp -> help
* Migliorata la Shell, grazie alla funzione printf
* Alleggerita la grafica
## 0.0.1
* Iniziato il progetto
* Aggiunti i comandi: help, dhelp, version, creator, clear, exit