Title IZRADA JEDNOSTAVNOG OPERATIVNOG SUSTAVA
Title (english) SIMPLE OPERATING SYSTEM
Author Zdravko Abramović
Mentor LJILJANA DESPALATOVIĆ (mentor)
Committee member NIKOLA GRGIĆ (član povjerenstva)
Committee member TOMA RONČEVIĆ (član povjerenstva)
Granter University of Split (University Department of Professional Studies) Split
Defense date and country 2021-09-16, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Abstract 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.
Abstract (english) 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.
Keywords
asembler
bootloader
jezgra
low-level
operacijski sustav
Keywords (english)
assembler
bootloader
kernel
low-level
operating system
Language croatian
URN:NBN urn:nbn:hr:228:000312
Study programme Title: Information Technology – professional - professional Study programme type: professional Study level: undergraduate Academic / professional title: stručni/a prvostupnik/prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka informacijskih tehnologija (stručni/a prvostupnik/prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka informacijskih tehnologija)
Type of resource Text
File origin Born digital
Access conditions Open access
Terms of use
Created on 2021-10-21 08:35:49