Latvian developer Gust Kaksis
began writing a new operating system . I must say that Kaksis is not joking. He is 29 years old, that is, there is no talk of youthful maximalism. A serious programmer, he published a project plan, his research in the field of operating systems, and mentioned that he had some commercial ideas on how to use the new OS.
Gusta Cacsis plans to cover the project in his blog.
Plan
1. The system is designed for modern Intel64 architecture (the author takes the third-generation CPU Core i5 with Ivy Bridge base with integrated Intel HD 4000 GPU and B75 Express chipset).
2. Avoid problems with backward compatibility, issue a code as soon as possible. You can do without protected mode, and immediately do long mode.
')
3. Go to C as quickly as possible - the author says that he is afraid to work with assembler.
4. You can forget about the old interfaces like PCI, IDE, PS / 2, serial and parallel ports. Why is such an archaic device as a floppy disk still mentioned in every reference book? Kaksis’s plan goes even further - he plans to abandon even standard BIOS support in favor of UEFI. So, at the moment he plans to support only modern interfaces: PCIe, SATA, USB.
5. Avoid using GRUB or another multiloader - make your own bootloader and allow only your own OS in the system. The author admits that this is an egocentric approach, but insists on it.
Gus plans to use C for writing the kernel and basic procedures, C ++ for the graphical interface and other things that are more convenient to do with object-oriented abstractions. Script languages ​​are suitable for the user section, so that you can write software applications that will be deeply integrated into the OS and run without compiling.
For the file system and drivers, it is planned to use the URI scheme: file: // localhost / my_documents /, but in no case is it a UNIX-like folder tree that Gust considers too confusing for a simple user (for example, it is not clear to him how / usr / differs bin from / usr / local / bin and why configs need to be stored in / etc). Everything will be easier here:
- / applications - user applications
- / configuration - configuration files
- / documents - user documents
- / system - system directory accessible only to drivers and kernel
- / system / configuration - configuration system files
- / system / devices - directory for access to devices
- and so on.
For more technical details about Guste's plan and links to OS documentation that he was able to find, see his
blog .