You are viewing the article How to Create a Computer Operating System at Lassho.edu.vn you can quickly access the necessary information in the table of contents of the article below.
wikiHow is a “wiki” site, which means that many of the articles here are written by multiple authors. To create this article, 124 people, some of whom are anonymous, have edited and improved the article over time.
This article has been viewed 16,069 times.
Operating systems allow users to interact with computer hardware, which is composed of hundreds of thousands of lines of commands. Usually written in C#, C, C++, and other assembly languages, operating systems allow for navigating the computer, creating memory, and executing instructions. Creating an operating system is not easy. You will need a lot of knowledge to do that.
- To program an operating system from C or C++, of course you will have to use some compiler. Therefore, you should read the documentation/user manual for the C/C++ compiler of your choice, whether it is bundled with the software or provided on the distributor’s website. You will have to understand many compiler intricacies. With C++, you should know about the binary interface and mangling scheme of the compiler intended to use. You also need to understand the many possible formats (ELF, PE, COFF, plain binary, etc.) as well as be aware that Windows-specific formats are copyrighted.
- If you need to store backups, make sure there are 2-3 partitions on the hard drive. One operating system is used to build another, one backs up the old version (older rather than the oldest) and one partition for the current version.
Advice
- Check, find potential deadlock errors and other errors. Errors, deadlocks and other problems will affect your operating system.
- For the operating system to survive, don’t forget to make security your top priority.
- Consult sites like OSDev and OSDever to develop your own operating system. Also, note that in most cases, the OSDev.org community encourages you to use their wiki instead of participating in the forum. If you still want to participate in the forum, you must meet the prerequisites: Proficient in C or C++ and x86 assembly language. In addition, you must understand general as well as complex programming concepts, such as Linked Lists, Queues etc. In their policy, the OSDev community makes it very clear that they are not there to guide the developers. new programmer.
- Don’t join the OSDev.org forum and start asking questions where the answers are obvious. The answer would be “Read the manual” . You should read Wikipedia and the documentation for the tools you want to use.
- When you want to develop an operating system, you must be an “expert” in programming .
- You must also read the documentation for the processor architecture of your choice, regardless of whether it is x86 (Intel), ARM, MIPS, PPC, or any other architecture. You can find this document using the Google search engine (Keywords “Intel Manuals”, “ARM manuals”,…).
- Once the build is complete, you need to consider whether to release the operating system as open source or closed source.
- Don’t start this project to start learning programming. If you don’t understand well from pointer manipulation, low-level bit manipulation, bit conversion, embedded assembly to more complex processing in C, C++, Pascal, or some other suitable language, you’re not ready for the test. operating system development.
- Maybe you should create a whole new partition for ‘development’ of the operating system.
- If you want to keep it simple, you can consider using Linux distributions like Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD, or SUSE Studio and SUSE KIWI. However, the operating system you create will belong to the company that first started the service (you have the right to freely distribute, adapt, and run this operating system but under the GPL General Public license).
Warning
- By doing foolish things, like writing random bytes to random I/O ports, you’ll crash the operating system and sometimes (in theory) even “boil” the hardware.
- You won’t be able to complete the operating system in just two weeks. Let’s start with the bootable operating system and then move on to the cooler features.
- Be careful. Carelessly writing an operating system for your hardware can completely destroy your hardware.
- Don’t think that building a proper operating system is meant to be easy. There are countless complex and tangled relationships. For example, in order for the operating system to handle multiple processors, your memory manager must “lock” the device so that these processors do not access the same resources at the same time. The “lock” used for this purpose requires a scheduler to ensure that only one processor accesses a critical resource at any given time and all other processors are scheduled to wait. However, this scheduler needs a memory manager. This is a deadlock case. There is no standard way to deal with such problems: Operating system developers need to be skilled enough to find their own way.
Additional resources
- Documentation: Linux From Scratch
- Bootloader: GRUB
- Virtual desktop applications: Bochs, VM Ware, XM Virtual Box.
- Processor Manuals: Intel manuals
- Website for operating system development: OSDev, OSDever
Things you need
- Computer
- CPU for the texture that you will develop
- Enough memory (RAM) for the virtual computer
- A ‘host’ operating system (used to develop assembler (and other) source code and build and package them in the early stages: ultimately, your own OS will be the host system )
- Code editor with different colors for different terms (in case there is no integrated development environment)
- Compiler
- CD/DVD drive
wikiHow is a “wiki” site, which means that many of the articles here are written by multiple authors. To create this article, 124 people, some of whom are anonymous, have edited and improved the article over time.
This article has been viewed 16,069 times.
Operating systems allow users to interact with computer hardware, which is composed of hundreds of thousands of lines of commands. Usually written in C#, C, C++, and other assembly languages, operating systems allow for navigating the computer, creating memory, and executing instructions. Creating an operating system is not easy. You will need a lot of knowledge to do that.
Thank you for reading this post How to Create a Computer Operating System at Lassho.edu.vn You can comment, see more related articles below and hope to help you with interesting information.
Related Search: