This course is about the design and implementation of complex computing systems, from single computer systems to a large-scale network of them. At the end of the course, students will be able to:
- Understand and analyse the challenges of designing and implementing complex computing systems, particularly modern operating systems and internet systems.
- Understand and make use of basic tools and methods to overcome the challenges of creating computing systems that are easy to manage, flexible and easy to extend, have high performance, and are reliable and secure.
- Understand and analyse the basic performance of computing systems.
To do
Before Anything Else, do:
- Bookmark the Course Handout that can be found in eDimension
- Join MS Teams Classroom
- Read the Syllabus and Class Calendar
- Bookmark this website
Install POSIX-Compliant OS before the first Lab session in Week 1.
POSIX-Compliant OS
Purpose
Please prepare your system to have a POSIX compliant OS (read: UNIX / UNIX-like or anything mainstream that’s not Windows) before the Lab session in Week 1.
This subject teaches the basics of OS, in specific we use POSIX compliant OS only as our basis. Having only Windows is FATAL, because it means that you can’t do anything during the Lab. We recommend ArchLinux, but if you’re a beginner you shall install Ubuntu 22.04.
- Yes, we are referring to YOU, Windows users, read along.
- MacOS is POSIX compliant so you can skip this section.
Installation
If you’re not sure what POSIX-compliant OS means, download Ubuntu 22.04 and install it using any of the methods below:
- Virtual Machine: VirtualBox, or VMWare Fusion. Be autonomous and watch some youtube guides online, there’s plenty of guides!
- Enable dual-boot, or
- Use cloud services (AWS EC2 + Cloud9, etc). Refer to inhouse guide on how to setup EC2 with Cloud9 here. Although it is free, you still need a credit card to guarantee it.
- Using Windows Subsystem for Linux that comes by default in your Windows OS. WSL is not recommended, but if you insist, then you should be OK 80-90% of the time. You’re on your own though.
Reach out for help
Installing VM + Ubuntu 22.04 is the easiest option if you have no experience. There’s really plenty of guides online, and as a Sophomore ISTD student you are expected to be crafty enough to figure this out on your own.
If you really do not know how to do it, please contact Natalie via Telegram. She will gladly help you and is open to help you discuss alternative options with regards to your career 😉.
Testing of diagrams and math
graph TB;
A[Do you have a problem in your life?]
B[Then don't worry]
C[Can you do something about it?]
A--no-->B;
A--yes-->C;
C--no-->B;
C--yes-->B;
Rule | Parse tree | Symbols | Input |
---|---|---|---|
(5) |
graph
J-->LB["{"]
J-->NS
J-->RB["}"]
|
{ NS } | { ' k 1 ' : 1 , ' k 2 ' : [ ] } |