It's not C/C++. C/C++ is not a language. The project's goal is to write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?). The code is predominantly C++.
How to Make a Computer Operating System in C/C++
21–30 of 88 posts
Re: How to Make a Computer Operating System in C/C++
#22I am a graduate student, currently working on building a x86_64 unix like preemptive kernel from scratch, as part of a course. Most of the OS dev guides and books focus on 32 bit arch and I haven't found a single guide so far that is based on 64 bit arch. Since this this guide seems to be in its inception, I hope someone (hopefully me) will send a pull request for a 64 bit tutorial. Building an OS has been in my buck…
I've built two so far which were (and I think still were until recently) used in production equipment. One Forth system (all 8k of it) that ran a PLC system and a tiny (16k) kernel for an M68k system that was a router for a modbus-like protocol over RS485.
Nothing x86_64 but nevertheless the most fun I've ever had with a computer.
Re: How to Make a Computer Operating System in C/C++
#23It's not C/C++. C/C++ is not a language. The project's goal is to write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?). The code is predominantly C++.
> write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?) I'm going to use this as an opportunity to champion C++ for systems programming despite the fact that it wasn't really your argument. I feel obligated to do this because I agreed with you for a long time on this but have changed my mind over the past year or two. The argument against C++ as a systems programming languag…
Re: How to Make a Computer Operating System in C/C++
#24Re: How to Make a Computer Operating System in C/C++
#25It's not C/C++. C/C++ is not a language. The project's goal is to write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?). The code is predominantly C++.
> write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?) I'm going to use this as an opportunity to champion C++ for systems programming despite the fact that it wasn't really your argument. I feel obligated to do this because I agreed with you for a long time on this but have changed my mind over the past year or two. The argument against C++ as a systems programming languag…
For example, Linux's list.h has an intrusive list that is far better than the abysmal std::list from the STL.
Re: How to Make a Computer Operating System in C/C++
#26Earlier quoted context omitted.
> write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?) I'm going to use this as an opportunity to champion C++ for systems programming despite the fact that it wasn't really your argument. I feel obligated to do this because I agreed with you for a long time on this but have changed my mind over the past year or two. The argument against C++ as a systems programming languag…
You can have generalized containers in C, using the intrusive pattern. For example, Linux's list.h has an intrusive list that is far better than the abysmal std::list from the STL.
Re: How to Make a Computer Operating System in C/C++
#27Earlier quoted context omitted.
> write a very simple UNIX-based operating system in C++ (does anyone else smell a contradiction?) I'm going to use this as an opportunity to champion C++ for systems programming despite the fact that it wasn't really your argument. I feel obligated to do this because I agreed with you for a long time on this but have changed my mind over the past year or two. The argument against C++ as a systems programming languag…
You can have generalized containers in C, using the intrusive pattern. For example, Linux's list.h has an intrusive list that is far better than the abysmal std::list from the STL.
Re: How to Make a Computer Operating System in C/C++
#28I just wish more people dealt with ARM instead of x86. It's a far better architecture for people to learn system design.
(I'm curious as I know little of these kinds of things, and because citing sources or giving arguments is always a good thing)
Re: How to Make a Computer Operating System in C/C++
#29https://en.wikipedia.org/wiki/Not_Another_Completely_Heurist...
3rd year OS class we had to use Nachos as our base OS and build your usual file management, pipes etc. functionality on top of it.
Really taught you how an OS works.
Re: How to Make a Computer Operating System in C/C++
#30I am a graduate student, currently working on building a x86_64 unix like preemptive kernel from scratch, as part of a course. Most of the OS dev guides and books focus on 32 bit arch and I haven't found a single guide so far that is based on 64 bit arch. Since this this guide seems to be in its inception, I hope someone (hopefully me) will send a pull request for a 64 bit tutorial. Building an OS has been in my buck…
I think that AMD Developer Guides & Manuals [1] are very good resources for x86_64 System Programming (better than Intel Manuals). They are better explained and focus on x86_64 arch. [1]: http://developer.amd.com/resources/documentation-articles/de...