https://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2021F_Lecture_2&feed=atom&action=historyOperating Systems 2021F Lecture 2 - Revision history2024-03-29T12:03:59ZRevision history for this page on the wikiMediaWiki 1.37.1https://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2021F_Lecture_2&diff=23277&oldid=prevSoma: /* Video */2021-09-14T16:10:55Z<p><span dir="auto"><span class="autocomment">Video</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:10, 14 September 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Video==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Video==</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Video <del style="font-weight: bold; text-decoration: none;">will be </del>on <del style="font-weight: bold; text-decoration: none;">brightspace soon and here later</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Video <ins style="font-weight: bold; text-decoration: none;">from the lecture given </ins>on <ins style="font-weight: bold; text-decoration: none;">September 14, 2021 is now available:</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* [https://homeostasis</ins>.<ins style="font-weight: bold; text-decoration: none;">scs.carleton.ca/~soma/os-2021f/lectures/comp3000-2021f-lec02-20210914.m4v video]</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* [https://homeostasis.scs.carleton.ca/~soma/os-2021f/lectures/comp3000-2021f-lec02-20210914.cc.vtt auto-generated captions]</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Video is also available through Brightspace (Resources->Class zoom meetings->Cloud Recordings tab)</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Notes==</div></td></tr>
</table>Somahttps://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2021F_Lecture_2&diff=23276&oldid=prevSoma: Created page with "==Video== Video will be on brightspace soon and here later. ==Notes== <pre> Lecture 2 --------- * TA assignments, tutorial logistics, & office hours * Tutorial 1 - the she..."2021-09-14T16:09:01Z<p>Created page with "==Video== Video will be on brightspace soon and here later. ==Notes== <pre> Lecture 2 --------- * TA assignments, tutorial logistics, & office hours * Tutorial 1 - the she..."</p>
<p><b>New page</b></p><div>==Video==<br />
<br />
Video will be on brightspace soon and here later.<br />
<br />
==Notes==<br />
<br />
<pre><br />
Lecture 2<br />
---------<br />
* TA assignments, tutorial logistics, & office hours<br />
* Tutorial 1<br />
- the shell<br />
<br />
<br />
Tutorial logistics<br />
- you should all be in a private channel with your TA on Teams. If you aren't, PM me and I'll bug the TA :-)<br />
- you can also see who your TA is on Brightspace, there's a column in the gradebook (this may be broken now, but should be fixed soon)<br />
- IF YOU ARE NOT ON TEAMS, get on that! If you have problems let me know.<br />
- you can get help from any TA or me, feel free to contact personally or, to also help others, post in channels<br />
<br />
We have tutorial times assigned on Mondays, Fridays 8:30-10 and Fridays 2:30-4. We're mostly ignoring this as we're doing tutorials asynchronously. Instead<br />
- you have an assigned TA who grades your tutorials<br />
- that TA has a Teams channel for just talking with you<br />
- someone has office hours around the time of your assigned tutorial<br />
- and your TA is available to talk at the time of your tutorial,<br />
if their official office hours aren't then you may need to make an<br />
appointment<br />
<br />
*Your TA is the one who gives you marks for each tutorial*<br />
Either<br />
- submit written answers, or<br />
- talk to TA to convince them you've worked a good bit on it<br />
(and if you wish, ask questions)<br />
<br />
Why aren't tutorials graded?<br />
- because finding the answers is much easier than actually understanding the material<br />
- the ultimate test is what you understand, not what you write down<br />
- they are a guide to learning, and the answer may be the least interesting part of that process<br />
- if you don't come up with your own questions over the course of a tutorial, you're doing them wrong<br />
<br />
To build a mental model, you have to ask your own questions and then answer them.<br />
<br />
The assignments test what you learned in tutorials<br />
- assignments should be straightforward if you spent time on tutorials<br />
- they should be hard if you blew off the tutorials<br />
<br />
What do I mean by a "tutorial"?<br />
- really, here they are more lab exercises<br />
- self-directed learning with no penalties for failure and as much<br />
support as you want<br />
- we'll give you the answers if you ask nicely<br />
<br />
Key insight: you can't do well in this class by memorizing things. You have to understand.<br />
<br />
Remember, you can use whatever resources you want for this class<br />
- only have to acknowledge sources and collaboration<br />
Except, of course, for the midterm and final<br />
- and even those are open note/book/internet<br />
- but, you have to be able to demonstrate that you did write the answers yourself if you get interviewed<br />
<br />
The textbook is a very good resource<br />
- the concepts I discuss in class are covered there<br />
- look them up to get a different perspective<br />
- if you can't find it in the textbook, ask<br />
<br />
For openstack, I can't show the web interface while on zoom<br />
- because I have to be on the VPN<br />
- but I can post videos and screenshots<br />
- SCS has lots of openstack resources: https://carleton.ca/scs/tech-support/scs-open-stack/openstack-technical-support/<br />
<br />
This step by step guide is very good:<br />
https://carleton.ca/scs/tech-support/scs-open-stack/openstack-technical-support/openstack-step-by-step-guide/<br />
<br />
When on openstack, make sure you are in the COMP 3000 project<br />
- if you aren't you probably won't be able to create VMs because you won't have a quota<br />
<br />
<br />
Question - what are we doing with openstack?<br />
- these are just virtual machines, much like you'd run with virtualbox<br />
- however, they are running on the SCS openstack cluster, not on your box<br />
<br />
Why openstack?<br />
- consistent environment: shouldn't have performance issues due to lack of resources on your personal box<br />
- visible: TAs or I can log in to your VM and see what's going on<br />
- hard to do that with virtualbox<br />
- safety: if you mess anything up, you can't destroy your local data<br />
- and some stuff we'll do will be dangerous<br />
- probably fine in virtualbox, but this is safer<br />
- also, this is how you'll do things when deploying to the cloud<br />
<br />
You may use your own VMs, but you have to update and maintain them<br />
- for now, standard ubuntu or most other Linux should work<br />
- but starting next tutorial you'll have to install some more cutting edge stuff that can get a bit tricky<br />
- you really want to be running a newish distribution<br />
- we're using Ubuntu 21.04 (it is not at Long Term Support release)<br />
<br />
If you are running Linux as your main OS, you can do everything in this class on it but...<br />
- if it isn't Ubuntu 21.04, you may have to do some more debugging than others,<br />
- and HAVE GOOD BACKUPS<br />
- we'll play with commands that can wipe your disk, that's part<br />
of their function<br />
<br />
Let's talk about editors and writing things<br />
<br />
rsync is a very cool command<br />
- but play with it using the -n option to simulate runs before syncing<br />
files<br />
- if you aren't careful, you can delete EVERYTHING<br />
- watch out when using --delete and --force<br />
- otherwise, will just overwrite existing files with the same name<br />
<br />
If you want to make things fast, use how to learn command lines and ssh<br />
- x2go is very slow, as are any GUI in the cloud<br />
- run GUIs locally and access remote VMs via ssh, either directly<br />
or using tools (e.g., VSCode with remote development)<br />
<br />
Feel free to show what you want to do to me or a TA in office hours, we can help you understand the options if this still isn't clear<br />
<br />
scp is depricated, use sftp instead<br />
- rsync copies file changes, not entire files, so very efficient<br />
for large copies where a version is on the other side<br />
- I can sync hundreds of gigs of data in less than 30 seconds if little has changed<br />
<br />
UNIX is a giant toolbox<br />
- if you use it for decades you'll still learn tricks every so often<br />
- learn as you go, it is like a language, you won't master it all at once<br />
<br />
If you use an operating system or application controlled by a company<br />
- it will keep changing over time, probably in incompatible ways<br />
- it may get discontinued or the company can go away<br />
<br />
Open source/free software lives as long as someone cares enough to maintain it<br />
<br />
I've been using Emacs since 1989. It is much more capable, but it is still emacs. What commercial program is going to be like this?<br />
<br />
This is why Linux is taking over everywhere<br />
- it has so much functionality<br />
- developers already know it<br />
- and free to use (no cost and can change the code)<br />
<br />
MacOS, Windows, etc<br />
- enterprise software can have very long lifetimes<br />
- but they are zombie programs mostly, never really developing,<br />
just being maintained at a bare minimum effort<br />
<br />
Windows dominates the enterprise software world, particularly desktops<br />
- but Linux dominates the cloud<br />
<br />
I think the steam deck may change the dynamics in Windows gaming<br />
- yes, I've said it :-)<br />
<br />
I keep saying UNIX and Linux, right?<br />
<br />
UNIX is a family of operating systems<br />
- goes back to 1970's<br />
- I can post a video about the version of UNIX that came out of<br />
AT&T's Bell Labs<br />
- BTW today's AT&T isn't the old AT&T FWIW<br />
<br />
Linux is a "UNIX-like" system<br />
- UNIX is trademarked by AT&T<br />
<br />
many other UNIX-like systems<br />
but Linux is the most popular now<br />
<br />
and many, many variants of Linux<br />
- Linux only refers to the kernel<br />
- we'll explain what that is<br />
</pre></div>Soma