mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-10-09 05:46:20 +02:00
[CS] Intro to OS
This commit is contained in:
1 parent
5cf2a63e73
commit
6e464edd36
4 files changed
+16
No files matched your search
@@ -0,0 +1,6 @@
|
||||
\subsection{Introduction}
|
||||
This course uses the xv6 operating system, developed at MIT, for teaching how operating systems work.
|
||||
This is a cleaned up, simplified version of UNIX v6. Since it is a very simple, yet (basic) feature-complete operating system,
|
||||
reading its source code is much more straight forward than reading say Linux's source code, which at the time of writing is approximately 40 million lines of code.
|
||||
|
||||
You can find the entire source code of the operating system \hlurl{https://github.com}{here} % TODO: Input link here
|
||||
@@ -0,0 +1,7 @@
|
||||
\subsection{Bootstrapping}
|
||||
Bootstrapping is the first operation any operating system performs.
|
||||
This typically involves setting up the stack in assembly for the respective language, then intializing devices, etc. in a higher level language, such as \texttt{C} or \texttt{Rust}.
|
||||
|
||||
Contrary to popular believe, setting up the stack can be achieved in just a few instructions and the rest is mostly ``box-standard'' \texttt{C} code.
|
||||
Of course, you still have to read lots of manuals to figure out how each device needs to be initialized.
|
||||
At this point, you also set up Virtual Memory and all the memory structures needed to operate.
|
||||
@@ -0,0 +1,2 @@
|
||||
\section{Operating Systems}
|
||||
\input{parts/00_os/00_intro.tex}
|
||||
Reference in new issue
Block a user