SO-notes
A collection of useful notes and pdfs for the Operative Systems course, at Aveiro University.
A website is also available here.
Published Notes
- [alpha version] Operating Systems: Introductory Concepts
- [alpha version] Shell Scripting
- [alpha version] Sofs17
- [alpha version] Interprocess Communication
- [alpha version] Process Management
- [alpha version] Memory Management
- [alpha version] Theoretical Notes Only
- [alpha version] All Notes
- [alpha version zip] ZIP with all the notes
Note taking process
- Notes are taken using pandoc markdown extended syntax
- Check Adam cheatsheet or Wikipedia for more information and useful tips
- Using pandoc, the notes are converted into a eye-candy pdf, using tex as an intermediary file type
- The latex compiler used is xelatex
- The Eisvogel template is used with small modifications
- Using an yaml header, some metadata and rendering options are provided
- Some of the used diagrams are generated using either dot or timing-tikz. The remaining were copied from the course slides.
DOT & Grphviz
The dot graph description language is a graphic description language, enable the fast creation of reasonably neat diagrams
For interpreting the dot code, graphviz as used.
For more information on dot and graphviz, check out this amazing guide
Timing-Tikz
A subset of the Latex vector graphic language, Tikz, that uses geometric/algebric description to create beatiful diagrams
Timing-tikz is a package specific for the generation of timing diagrams, such as digital signals.
For more information, check out this amazing guide
From markdown to pdf
To provide a rapid view of the output pdf, two bash script are available in the scripts folder
# Generates a pdf file from a markdown file and saves it in pdf folder
./md2pdf <notes.md>
# Optionally the pdf name can be given
./md2pdf <notes.md> <pdf name>
# Generates and preview the new pdf file obtained from the markdown
./md2preview <notes.md>
Publishing
To ease the publish of an eye-candy pdf:
# Assuming that exists a metadata file named notes.yaml in the metadata folder
./renderpdf <notes.md>
# Assuming a metadata file is going to be provided
./renderpdf <notes.md> <metadata_file.yaml>
Disclaimer
Currently this work is highly experimental and not yet scientific reviewed. Do not trust this notes by themselves. They are meant to complete other materials, not replace them.
Acknowledgement
This work is a direct product of the lectures notes toked during Operative Systems classes in the academic year of 2017/18, lectured by Prof. Artur Pereira.
This raw notes were later improved and filtered using as scientific reference the lecture slides from Prof. Artur Pereira and the book Modern Operating Systems by Andrew Tanenbaum & Herbert Bos
Roadmap
- Curate Raw notes
- Operative Systems: Introductory Concepts
- Bash Scripting
- Filesystems & Sofs17
- Process Management
- Interprocess Communication
- Memory Management
- Improve the publishing scripts
- Improve the publish template
- Provide a static website with all the notes
License
T he content of this project itself is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license and the underlying source code is under the MIT license.