From 97d99fa196d4b732cfd6635dcb8b0a9c9228c88d Mon Sep 17 00:00:00 2001 From: Aleksa Vučković Date: Sun, 9 Jan 2022 23:38:08 +0100 Subject: Pocetak zakljucka + Objasnjavanje koda --- kernel.tex | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'kernel.tex') diff --git a/kernel.tex b/kernel.tex index 59aaa95..8ca59d8 100644 --- a/kernel.tex +++ b/kernel.tex @@ -311,6 +311,9 @@ mu dalje upravljanje. {\eng\url{https://wiki.osdev.org/Bootloader}} +\section{{\eng Multiboot2}} +\medskip + \section{{\eng ELF}} \medskip @@ -498,9 +501,15 @@ ili {\eng USB} flesh sa kojih se kasnije dizhe sistem. {\eng as/boot.s}:\\ +U prvom delu postavljamo promenljive na vrednosti koje su odredjene {\eng Multiboot2} standardom.\\ \begin{minipage}{\textwidth}\eng\lstinputlisting[language=Assembler]{include/01.pocetak/boot00.s}\srb\end{minipage} +Nakon toga postavljamo prvih 512 bitova na prethodno pomenute vrednosti ali +tako da za svaku promenljivu ostavljamo 32 bita prostora.\\ \begin{minipage}{\textwidth}\eng\lstinputlisting[language=Assembler]{include/01.pocetak/boot01.s}\srb\end{minipage} +Definisemo sekciju {\eng bss} u kojoj kreiramo stek i dodeljujem mu 16 kilobajta.\\ \begin{minipage}{\textwidth}\eng\lstinputlisting[language=Assembler]{include/01.pocetak/boot02.s}\srb\end{minipage} +I na kraju postavljamo registar esp na vrh steka i pozivamo {\eng kernel\_main} +funkciju koja je napisana u {\eng C}-u.\\ \begin{minipage}{\textwidth}\eng\lstinputlisting[language=Assembler]{include/01.pocetak/boot03.s}\srb\end{minipage} \section{Ispis na ekran - {\eng VGA}} @@ -508,7 +517,10 @@ ili {\eng USB} flesh sa kojih se kasnije dizhe sistem. {\eng c/vga.c}:\\ +Primetimo da u {\eng C}-u koristimo {\eng uintX_t} promenljive. To je zbog toga +shto nam je sada vrlo bitno da pazimo na velichinu koju zauzimaju promenljive. \begin{minipage}{\textwidth}\eng\lstinputlisting[language=C]{include/02.vga/vga00.c}\srb\end{minipage} +Prvih 4 bita oznacavaju boju pozadine, a poslednjih 4 bita boju \begin{minipage}{\textwidth}\eng\lstinputlisting[language=C]{include/02.vga/vga01.c}\srb\end{minipage} \begin{minipage}{\textwidth}\eng\lstinputlisting[language=C]{include/02.vga/vga02.c}\srb\end{minipage} \begin{minipage}{\textwidth}\eng\lstinputlisting[language=C]{include/02.vga/vga03.c}\srb\end{minipage} @@ -667,7 +679,12 @@ ili {\eng USB} flesh sa kojih se kasnije dizhe sistem. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Zakljuchak} -Ovaj projekat je bio sjajan pokazatelj koliko je zapravo kompleksno. +Ovaj projekat je bio sjajan pokazatelj koliko je zapravo kompleksna izrada +jezgra operativnog sistema koji treba da predstavlja most izmedju hardvera i +softvera. Drago mi je shto sam odabrao ovako tezhak projekat za maturski rad iz +razloga shto mi je to pomoglo da probijem barijeru i ulozhim puno truda da bih +zapravo razumeo kako rade operativni sistemi i koliko je sofisticiran njihov +dizajn. \thispagestyle{empty} \mbox{} -- cgit v1.2.3