Naslov IZRADA JEDNOSTAVNOG OPERATIVNOG SUSTAVA
Naslov (engleski) SIMPLE OPERATING SYSTEM
Autor Zdravko Abramović
Mentor LJILJANA DESPALATOVIĆ (mentor)
Član povjerenstva NIKOLA GRGIĆ (član povjerenstva)
Član povjerenstva TOMA RONČEVIĆ (član povjerenstva)
Ustanova koja je dodijelila akademski / stručni stupanj Sveučilište u Splitu (Sveučilišni odjel za stručne studije) Split
Datum i država obrane 2021-09-16, Hrvatska
Znanstveno / umjetničko područje, polje i grana TEHNIČKE ZNANOSTI Računarstvo
Sažetak Cilj ovog završnog rada bio je razviti funkcionalan operacijski sustav (engl. operating system) „od nule”. Iako je poprilično jednostavan, usporedivši ga s modernim operacijskim sustavima široke uporabe, pruža uvid u osnove njihovog funkcioniranja i razvoja. Prvi je korak bio napisati njemu pripadajući pokretač operacijskog sustava (engl. bootloader), u ovom slučaju u MBR (engl. Master Boot Record) formatu. Zatim taj bootloader učitava narednih „x” sektora sa diska (nakon prvog, koji je sȃmi bootloader). Učitavanje tih sektora odnosi se na učitavanje kôda jezgre (engl. kernel) koji se nalazi u njima. Zadano procesor kôd počinje izvršavati u tzv. Real Mode-u, odnosno interpretira instrukcije kao 16-bitne. Kako bi imao proširen set mogućnosti potrebno ga je prebaciti u 32-bitni zaštićeni način rada (engl. Protected Mode, u daljnjem tekstu „PM”). U PM-u procesor dobiva mogućnost adresiranja, odnosno korištenja, mnogo više memorije nego što je imao u 16-bitnom načinu, a također se otvara i mogućnost zaštite memorije. Prebacivanje u PM podrazumijeva određene pripreme koje su objašnjene u glavnom dijelu rada. Nakon svega toga počinje se izvršavati kôd operacijskog sustava, za potrebe ovog rada napisan u programskom jeziku C. Video memorija koristi se u tekstualnom načinu rada koji je jednostavniji jer se pikselima (engl. pixel – picture element) ne pristupa direktno. Za pokretanje kôda koristio se emulator QEMU (engl. Quick Emulator), ali treba imati u vidu da ga je moguće pokrenuti i preko nekog tipa stvarnog diska (npr. CD-ROM-a, tvrdog diska, memorijskog štapića itd.) direktno na bilo kojem 32 ili 64-bitnom računalu x86 arhitekture. Točnije rečeno, na procesoru koji implementira x86 set instrukcija (engl. instruction set). U praksi praktički na bilo kojem današnjem stolnom (engl. desktop) računalu.
Sažetak (engleski) The goal of this undergraduate thesis was to develop functional operating system (OS) from scratch. Even though it's pretty simple, comparing it to the modern widespread operating systems, it provides insight into the basics of their functioning and development. The first step was writing it's appurtenant bootloader, in this case in MBR (Master Boot Record) format. Then that bootloader loads subsequent „x” number of sectors from the disk (after the first one, which is the bootloader itself). Loading of sectors is about loading the kernel code which resides inside them. By default, CPU (Central Processing Unit) starts to execute code in the so-called Real Mode, i.e. it interprets code as a set of 16-bit instructions. To widen its options, it's necessary to make a switch to 32-bit Protected Mode (hereinafter PM). Being in PM, CPU gains access to much more memory than it had on disposition in the 16-bit mode. Also, it opens up a way to implement memory protection. Switch to PM implies certain setup steps which are explained in the main part. After all that the OS code, for this thesis' needs written in programming language C, starts to execute. Video memory is used in text mode which is simpler because pixels (picture elements) are not accessed directly. Code was executed with QEMU (Quick Emulator), but it must be noted that it's possible to execute it using some type of real-life disk (e.g. CD-ROM, hard disk, USB stick etc.) directly on any 32 or 64-bit computer which implements x86 Instruction Set; virtually on any modern desktop computer.
Ključne riječi
asembler
bootloader
jezgra
low-level
operacijski sustav
Ključne riječi (engleski)
assembler
bootloader
kernel
low-level
operating system
Jezik hrvatski
URN:NBN urn:nbn:hr:228:000312
Studijski program Naziv: Računarstvo Vrsta studija: stručni Stupanj studija: preddiplomski Akademski / stručni naziv: stručni/a prvostupnik/prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka informacijskih tehnologija (bacc. ing. techn. inf.)
Vrsta resursa Tekst
Način izrade datoteke Izvorno digitalna
Prava pristupa Otvoreni pristup
Uvjeti korištenja
Datum i vrijeme pohrane 2021-10-21 08:35:49