Abstract
The operating systems (OSs) created the possibility for people to interact with computer hardware, these same are made with an enormous number of lines of code for this kernel, usually developed with the languages of C and Assembly language programming. Thus, the objectives of this study are in the area of knowledge, development, and learning of construction, approach and design in the development of complex codes for the creation of an OS. In this present study, the build process from C code compulsorily uses a compiler. An assembler generates the machine code. Assembly language is crucial for real-time operation. Nevertheless, most of OS can be implemented with an additional language. After Assembly, the leanest Kernel code can be obtained with a low-level language like C/C++. The use of a proper boot manager or an existing one, such as Grand Unified Bootloader (GRUB), this itself once programmed, adds knowledge about the hardware developer. This project’s Kernel has been loaded into two virtual machines (one with Linux and one with Windows) and on a physical machine. These results demonstrated that the developed software is viable, relevance and academic potential, with high learning power, being able to serve as a starting point for several pieces of academic research.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Tanenbaum, A.S., Bos, H.: Modern Operating Systems, 4th edn. Prentice Hall, Upper Saddle River (2004)
Silberschatz, A.: Operating System Concepts, 9th edn. Wiley, Hoboken (2012)
Deitel, H.M., Deitel, P.J., Choffnes, D.R.: Operating Systems, 3rd edn. Prentice Hall, Upper Saddle River (2003)
Stallings, W.: Operating Systems: Internals and Design Principles, 8th edn. Pearson (2004)
Negus, C.: Linux Bible, 9th edn. Wiley, Hoboken (2015)
Schimmel, C.: UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, 1st edn. Addison-Wesley Professional (1994)
Bovet, D., Cesati, M.: Understanding the Linux Kernel, 3rd edn. O’Reilly Media (2008)
Lixiang, Y.: The Art of Linux Kernel Design: Illustrating the Operating System Design Principle and Implementation, 1st edn. Auerbach Publications (2014)
Love, R.: Linux Kernel Development, 3rd edn. Addison-Wesley Professional (2010)
Portnoy, M.: Virtualization Essentials, 1st edn. Sybex (2012)
Golden, B.: Virtualization for Dummies, 1st edn. For Dummies (2007)
WINEHQ. Wine Developer’s Guide. Wine Project Official Page. http://www.winehq.org/site/docs/winedev-guide/index
SCONS. SCons User Guide 2.3.4. http://www.scons.org/doc/HTML/scons-user.html (2004)
GCC. The GNU Compiler Collection. http://gcc.gnu.org/
NASM. The Netwide Assembler. http://www.nasm.us/xdoc/2.10.09/html/nasmdoc1.html#section-1.1 (2012)
QEMU Documentation. https://wiki.qemu.org/Documentation/
The VirtualBox PC virtualizer. http://virtualbox.org/
Estrela, V.V., Herrmann, A.E.: Conceitos Básicos Sobre Programação Programação Orientada a Objetos (POO). https://www.researchgate.net/publication/268510321_CONCEITOS_BASICOS_SOBRE_PROGRAMACAO_Programacao_Orientada_a_Objetos_POO (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
França, R.P., Peluso, M., Monteiro, A.C.B., Iano, Y., Arthur, R., Vieira Estrela, V. (2019). Development of a Kernel: A Deeper Look at the Architecture of an Operating System. In: Iano, Y., Arthur, R., Saotome, O., Vieira Estrela, V., Loschi, H. (eds) Proceedings of the 4th Brazilian Technology Symposium (BTSym'18). BTSym 2018. Smart Innovation, Systems and Technologies, vol 140. Springer, Cham. https://doi.org/10.1007/978-3-030-16053-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-16053-1_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-16052-4
Online ISBN: 978-3-030-16053-1
eBook Packages: EngineeringEngineering (R0)