Okay, I'm going to start recording and then we will get started while that happens.
Okay.
Good.
Good morning. Yes, we start class in the morning.
So, uh, I just started a poll here.
But in case you're wondering whether you're in the right place or not.
This is where you are you are in operating systems, fall 2022 Carleton University so.
So we, I'm going to stop the poll right now.
So, by the way, I'm just making sure everyone's muted.
During the right now you're free to unmute. Also I can definitely see the chat window here.
So y'all can see that poll. Now, interestingly enough, I was just looking at how many people are here. I only see about 100 people here so far, which is a bit on the small side considering there's like 250 people enrolled.
So there's a lot more people here.
So, So, in terms of the.
So let's talk. So, welcome to the class. This is one of the few online classes actually at Carlton right and in computer science right now I know most people are on campus.
I am not on campus because I'm not in Ottawa. I'm in Nashville, Tennessee. So, so I'm kind of offering some people probably hotel with constant zoom now requiring single sign on.
Ah.
Got it. Yeah, well I'm recording class so they'll be able to.
Yeah, so the.
Can y'all hear me okay if I can turn my mic if it's a. I'll turn, my turn my mic a bit. How's that, is that a bit better.
Oh, can you make a slight.
Okay, good. Okay so, so where you are. Let's show the course outline, so this is the first class, hopefully more people will show up later.
Everyone's still trying to figure out what the heck everyone's doing it. But, uh,
so this is where I here, I'm ta is, if you are here.
Can you all start just introducing yourselves, let me see if I'm not sure how many of my teammates actually are here right now, and mention them show up to class.
Good morning everyone. Okay, Nila far. Great.
So Nila foreigners here.
You have seven great to days.
And they're going to introduce themselves here we're talking about the format of the class in a second but first of all, I'm a nail sociology, I'm, I've been at Carlton for a while now.
I'll just say that, um, I guess I joined Carlton in 2003, so like almost 20 years.
Time flies up the outline way or window bigger Sure, I can definitely make it bigger what's.
How's that, and let me actually make it a little larger.
No, that was.
How's that.
Okay, so in case you're wondering where this is this is where the website is. It's on but if you just basically go to homeostasis. You know wiki, or you search for Neil sociology wiki you'll find it, presumably you've got.
If you are here in zoom you see the link from, from bright space
classes here now, I in terms of the format of the class lectures online, because I'm in Nashville, I might swing by August sometime this term, not sure when.
But, um, but tutorials are in person, or at least as in person, as you all want it to be. Because basically all the, all the teams are in town.
And just for all of them can be on campus to attend the tutorials the current channels are Fridays four to 530 Monday for Monday four to 530 and Monday 230 to four.
So, in terms of rooms they specifically told me not to put the rooms on the course calendar I will be on the, on here I will put them on my other page though I need to look those, those up but tutorials actually start tomorrow and Monday, the first tutorials
up.
I will, I will talk about the format of the class, shortly but too so you want to start things.
I don't want to slack off this first week, for reasons that you will see.
But first, in terms of what this course is, you know, this is operating system implementation of course stressing fundamental issues and design and how they relate to modern computer architecture, it's a Simon's fault modification extension of a multitasking
operating system includes experiential learning activity it doing stuff.
Yep, other other lecture slides available, I do not do slides.
I do not do slides, I will create notes, if you look at Pat, if you look around on my wiki you'll find past years and stuff, what I do is I normally start doing notes I start typing Emacs and have texts and stuff, and I also post the videos here.
so I, but I do not have slides.
I'll.
So, um, what.
So you should have taken 24 one I assume you cannot a program, a bit and.
And I assume you know something about data structures. So 24 two.
So, I will get to the tutorials in a second.
So what I'm looking for you to learn when you come out of this course is that you are able to, you know, basically you know write some you know C code that uses, you know, low level services based on mixed system calls, be able to make simple kernel modules,
so you understand how that works. But most importantly, I want you to have a conceptual model of how operating systems work and how all the pieces fit together.
And that's really important nowadays because it's kind of a complicated infrastructure that will live on. And you can be using it for the rest of your careers and, and it will evolve to some degree, but I can say the concepts of basic fundamentals that
that we're talking about all go back to, you know, to time sharing systems developed in the 60s, the same core ideas go back, our there and, you know, and when we talk about the here so I don't see them going away.
But how they're, how they're used can vary.
So, in terms of the marketing scheme. So, 4% is for lecture participation. So what that means is you show up for the online class you participate in the polls and you ask questions.
So, if you just show up on a regular basis, not every class but show up on a regular basis. And, like, interact with the polls as I put them up, you'll get to be for lecture participation.
If you want to get an A for this you should actually ask questions, but I will calculate your grade in a way that this cannot lower your grade. So I consider, I consider all these multiple grading schemes, one with it being included one without and the
one that gives the higher grade. Well, you know, is when I give you for all the grading schemes but one of them I always do is I leave out this because if some of you I know this isn't useful, you might want to review the videos or you might would ignore
my electric completely and just go for the tutorials and assignments.
That's fine.
It's what works for you, this I am here to help.
But, you know, I'm not here to force things down the throat.
If you only watch recordings, then you have failure. Yes, you're not participate in the class we only watch it, but again, it won't hurt your grade, you can just do the other things. So, 18% so like if you don't do this then what happens is tutorial participation assignments will both to bump up to 20%.
to pump up to 20%. So there's going to be showing up to class only improve your brain, but I think it will improve your grade more than just for this. That's why I put it in their tutorials I will, I will explain this, this is the kind of weird or part for this class, so
I'll explain a bit but that's 18%, we are actually about nine tutorials on the assignments there for assignments, though, to before the midterm to after the midterm.
Those are you submit them, you know, they get graded by the TA is pretty standard.
And then right now I haven't early mid term scheduled.
How do I verify participation. Zoom keeps logs.
How do I keep zoom keeps logs, so literally I don't worry about participation until the end players download all the logs, and I run them through some scripts and I, you know, see how long you would you attended each class, you know, count how many comments
you made see whether you participate in the polls.
Right, figure out your grade from that.
So, so participation is just attending class and Exactly, exactly.
But, so assignments. Now, the aside so the midterm is October 13.
So, October 13, so it's an issue that so I'm not sure that one I will show you here.
I thought, I'll show you. So let's go back to.
No, that's not what I work. So
I'm trying to do something funny here
now show you why I'm doing this in a second here.
No OHL.
So, if you are.
This is the main class page, you'll notice that we have nine lectures here.
We have the midterm review on October 11, and the midterm now notice Thanksgiving is just before the midterm review. So basically you have the class here we have the midterm review.
And then you have the midterm in class. So, and then we have to.
Well, I will potentially if someone if you're being annoying in class I might remind remember it, and then mark you down, because there is such a thing as negative participation.
Just to.
So, so, so one thing to know is that so the zoom chat.
I'll explain this in a bit higher power chats and stuff but if you just want to chat with classmates and it's not for me.
Use the lecture channel on teams. The this zoom chat is really for asking me questions. If you just want to like go back and forth. You can do it also some, some other Discord server stuff, but we have a.
We have teams and we have a channel for electron The big advantage of you doing things in there is that if you want me to look at it later I will know, potentially see it to the lecture channel but I'm not watching that during class.
So, up.
So so anyway so we have this we have nine lectures. Then we have the midterm review, and then the midterm, and then you have one week. And then we have the, the fall break.
And then we have, you know, the second half of the class. I've kind of include last it was dollar fee adjustment and stuff.
So the midterms of the conventional time to do the midterm here would be on October 20.
That's which is just before the break, I'm doing it a week before then, I could still move it a week forward but I was thinking, let's go ahead and do it here because this way.
You all know it isn't conflicting hopefully the other midterms.
Yeah.
We don't ya know, we're using teams not Discord.
Anyway, what was I saying so let's go back to the outline.
So we're.
And then of course the final exam was during the final exam period.
So for communication.
This is the course website, you've obviously got if you've gotten here you have to go to bright space because that's where the zoom information is. But then there's a team's invite up, please.
So please join teams because that's how I'm going to communicate with you regularly.
I will have, I do have office hours. My on the zoom information from my office hours is on bright space.
So the, my office hours are Thursday one to 2pm all the T's will also have office hours I still need to just correlate the times. So that should be up by next week.
They will actually have in, they will have at least some in person office hours, but yeah so that. So, that's how communication will work.
So if you want to ask us questions outside of class to use teams or email. I would prefer you use teams to ask me questions on me unless it's something like
emails a backup.
And you certainly can use that. But in general, I would say just use teams. I'll probably respond to it later. I get a lot of email for various things.
And it all gets mixed into and when I'm teaching you guys are a priority and I want to respond to you in a timely fashion. If you go into my inbox.
I don't guarantee what I'm going to reply.
You know I can't, I can't be sure what I'm going to reply so.
Oh,
no, no. So, so there's there's, you can either do direct messaging for teams like if it's a private question, or if it's time to other people might have you asked it in one of the channels.
So there's.
There are multiple channels.
But I, I find teams actually works pretty well. I mean, I certainly agree discord is very nice. I use discord and stuff. But one of the reasons I don't use it for teaching is.
I would like a certain level of decorum. I think interactions and I think sometimes get people get a little too relaxed on discord and in cause problems and also there's issues with identity although that is.
There are ways to do that with bots and verify people's identities and stuff. Also, with with teams it's tied to your Carlton, you know, Identify so I know who is interacting we have some things to a potential that's harassment there's some but from a
Anyway,
for, so, so, so how, so then now I want to talk about tutorials.
So the first thing about tutorials you should know is that they are graded based on effort.
Not correctness, so they're marked out of four points and basically I'm expecting, all of you to get four out of four in your tutorials. Even if you don't understand everything and then if you made a reasonable effort you should get this but now the way
you're going to get your mark is you're going to have an assigned ta your assigned ta will be in there by, you know, before the tutorial tomorrow you're going to have, you'll have an assigned ta that will be in bright space and a column there.
And the idea is that your TA needs to check you off for each tutorial. That means they, you basically have to interact with them to show it now, you could submit send them written answers but in general that that's not the model I want to do and that
Well, it's not your to his discretion what they want you to demonstrate that you've done things but what you'll do is say, oh yes look I did this. Now, if you go in person.
You can just sit there and work on it and then have all the TA over and say hey look, I did this, you know, and then you go through and you see your doom Doom Doom, you know, they should show you did it and then you can go.
So, that's the.
It's generally pretty quick. And if you want to do that over zoom call you can do that you can do it during office hours whatever but you have to show them.
Yeah, so, so, tutorials, yeah so there's gonna be some people some teams will be online checking things out or will be doing. You can do it online you can do it in person, but you've got to interact with a TA.
You can't just submit something anonymously and then get a grade back and whatever you're going to have to have a conversation.
In order to get marks for your to your for your tutorials.
So you can do it potentially online with your TA.
Again, you're going to communicate directly, your TA will be communication with you and stuff, you should know the TA is not marking you whether you're correct or not.
as everything can be done online.
One of the things I'm wondering this term is how much.
I personally think that if you, if you go into the tutorial you then can interact with other people and see them. And so I encourage you to go to the, to the in person ones.
I know you all aren't used to that at this point concerned you have been doing in the past couple of years for the most part,
But I think it's worth.
Because you do it and so, but I mean ultimately it's what works for you all.
And so you are assigned for your assigned a specific TA, you're assigned a specific ta for doing the formatting of them you can talk to any ta to get help.
But one ta is the one who's responsible for giving your participation. Great. And of course, if there's some issue, I can always switch which ta you have and stuff but all the T's are really nice I don't see any reason.
So the tutorial. So, the rooms where we have tutorials are just classrooms. So you're going to have to bring your laptop.
Yeah, so.
Yeah, exactly. We only mark the effort.
So that, so okay so basically I expect you to take two to five hours for each tutorial.
If you finish it in 20 minutes. Unless you have a lot of experience, you're probably not doing it right.
So another big thing I need to let you know it's collaboration. So I have a very open policy on collaboration.
I basically believe you're going to collaborate on everything except for the midterm and final. But
when yes when you get help from others, you coordinate should still be your work, and you should still acknowledge the sources you use, and who you collaborate with.
So you should do this for, you know, do this with assignments, who you worked with what source you use, and stuff but you may collaborate the assignments, you may collaborate on the tutorials I encourage you pirate the tutorials.
But, you know, if we find overlap between assignments and stuff similarities and we haven't acknowledged collaboration, then that's going to be a that's plagiarism and then we're going to potentially report to the dean so don't do that, the midterm and
final are open book open note, open internet because I'm not I'm not doing active Proctor and you're going to be doing this online, basically you're going to fill in a text file.
After reading a PDF, and it gives me a timed exam fixed time you do that and then you upload the text file to bright space. When you're done, but I will be doing random interviews with people were randomly selected basically any questions I'm going like
I don't know about this, you know you did better on the tutorial then you're doing your assignments or the symptoms. If we have any questions you may interview but also I'll be randomly interviewing people.
It's not everyone, there's like two or 50 people in the class but it will be a significant sample and and you may volunteer to be interviewed, if you wish.
And during this, the, what I'm going to be doing during the interview is going through the answers you got and potentially looking to see if was great properly and then maybe giving you marks won't be taking off marks, but we're gonna have a conversation
about your work. And if what you say. Sounds really different than what's written down what it's going to be how did you get that answer. This is a really good answer and you don't seem to know what you're talking about.
I'm going to have questions, and I may have to, you know, emphasize discrepancies I'm going to report you and I've reported people and I don't enjoy doing it so don't make me do these things, and definitely do not plagiarize because with, because I call
these electronic things I grade them for question, we I have seen people have plagiarized things we had to submit it in the late for the class worse get checked out.
It says, Don't do that.
Okay, i'm saying is between the interviews.
I'm not saying we catch everyone, we certainly can't catch everyone that's me if you're good, you're good Bunty, there is a chance of you getting caught here.
And it would be unpleasant.
So do the right thing.
Okay.
So, So the.
So midterm exam are both entirely online. Exactly.
Exactly. So, and then in terms of the.
So, I'll be posting lectures, the main course website which is here.
And I've got lectures should be the video should be posted I'll post notes that I've taken in class.
But remember, the real material in this class is the two is the tutorials, the tutorial tutorials and assignments that's what the midterm and final are based on which is most of your grade and that's what I'm going to use to.
Yeah, so.
Yeah.
You should so you shouldn't be submitting your tutorial work you should be showing them in person, or over zoom, or you could use teams for doing the video or whatever but and see but you need to interact with your TA to do that now.
If for some reason you, you and your TA can't coordinate or something, you may be able to submit them written responses.
But that would be at the discretion of your TA, and that would presumably only be after you've kind of shown that you're doing the work, because the big thing they're trying to see is that are you just slacking all the tutorials are you actually making
an effort. So, so you need to interact with them.
terms of the textbook. So, there is this textbook operating system three easy pieces I did adopted on the textbook site but you do not need to buy it, because here it is.
all the things that have these cute dialogues know how that works with this browser when I wrote a PDF, anyway. To download to my desktop recently.
So I've got quite my browser is a little weird no tell you about it a little bit but everything here. These are all PDFs, you can click on them read all the textbook up.
I am not following the textbook. This is a great reference, and most most if not all the concepts I talked about during class are in here, plus a lot more use this as a reference uses the other questions, go and read through it through cover to cover.
It's a great textbook.
It's fairly cheap.
It's, it's a fairly cheap textbook if you want to buy it but it's available for free here so go ahead and download that.
You don't know who your TA is up your I'm going to but it should be particularly posted on bright space by tomorrow afternoon so.
Earlier you said you're going to post the recordings will be on bright space or the course but page.
They'll be on the course web page, they'll also be through the zoom part of bright space. The idea is that the through bright space, you'll have access to the recordings, you know, but that's kind of annoying to get to and get the login stuff I download
it and post it to my website and to that but you actually get a little more. If you watch it too bright space, because the chat window I think it's coordinators stuff that there's a little more identifying information in the version that's supposed to
device basically can't put the chat stuff in the, in the posted version because if I do that all your names we expose and that's not great. So, so I try not do that.
So you should be able to chat there I'm happy to make additional channels I made several channels and hopefully she'll be all coordinate nicely there.
The other thing you. One of the things you're going to be doing a lot of in this class is reading C code.
So be smaller, so be bigger, that's a skill that we do not teach enough.
I think there is the short book called reading and modifying code which is by a colleague of mine john a COC over here to Calgary, I can't play. It's a really short book.
Go read it, we go. I'm going to go bring this up here.
Let's go here.
I'm going to talk to you about my browser situation a sec here.
Okay, sorry, so reading a modifying code. This is what it is. Oh, God, it looks horrible in my browser here.
You download it, it has a much better font. Let's tell them this holy cow that's bad.
Okay.
No, it's not what I wanted to do. Go away.
Can you just turn up.
Yeah, that's much better.
So this is silicon so it says reading code modifying code testing code testing MMA fighter d by law.
It's like, 60 pages.
So, It's worth things in time to being this.
Yes, exactly. Yeah, exactly. Yeah, please.
Guys, if you're talking.
I see so you just sort of have a general chat general chat.
Put it on teams.
Yeah, because otherwise I'm having to look at that and that's, um, that's probably distracting maybe, Miss people's questions.
And then, and then I said a textbook.
If you look at, like if you read the shop the abstraction the process mean.
Read this. This is good stuff. This will definitely help your understanding with the class, but I'm not going to be assigning us exercises from the textbook, my stuff is really separate but what I'm talking about is the same stuff, and you should be able
to find the concepts here easily.
Do you join teams for the you don't have to join teams at the same time during the class because teams is.
Yep, that that you've got the code yep there you go.
How did you find the teams code, how do you find this zoom and not find the teams code.
Anyway, up in terms of software, we're going to be using Linux Ubuntu specifically.
I strongly suggest you use the VM we use for class, and the VM we are using is going to it's on OpenStack. I'm going to show you that shortly. You want to use that.
You can use a vanilla version of Ubuntu for much of the class.
But good chunks of it, you're gonna have problems because I've installed some tools that aren't completely easy to get working in the VM.
And also part of the things I want you to comfortable using cloud type infrastructure and that's basically what we're doing with OpenStack so you know.
So, yeah, no, don't use don't use Docker don't use that login to the OpenStack cluster.
The current vvM is now the
yet no yeah don't.
There is no there is no Virtual Box VM for this class.
And that is by design.
If you want to go on your own and have your VM on your own machine.
That's a, that's a separate thing
in terms of left before going into the material let's talk.
Let's talk policies here so cut the undergrad advisors are great, you should use them, you know, you know, use these resources stuff you got questions about graduation things, talk to them, you should know this by now you're all third year.
You can use the labs here now notice for the tutorials will not be in the labs is unusual. Bring your laptop to you, to the classroom to work on things.
But then in terms of accommodations disabilities sexual violence pregnant religious
my basic view here is life intervenes, I do not expect this course to be your top priority for any of you.
You all have, I assume, other obligations in your life and stuff so I'll be I mean if you're sitting in class you may be attending university, you should be making this a priority but stuff happens.
And
I'm, I need to be fair to you but if you're willing to promise me like you're, you know, if you're willing to process maturity going to have to maintain intellectual honesty and stuff.
I can work with you to, you know, to make sure like you know you have to miss some deadlines whenever we, I can make accommodations.
And I'm happy to do that.
But I find that the accommodations mean if you're if stuff happens and you need some something it's like okay fine but.
So I think some folks worry that, oh if I give you accommodations then like I'm, I'm just making it too easy for you and stuff deadlines and it was like no real world
deadlines, there are deadlines that are rigid and deadlines that aren't.
I feel getting hung up on that just as stupid now I will say there's things like
there things like I'm.
What am I thinking that
like these tutorials they come out basically every week. You know here. And then, you know, the midterm happens. So, like things move pretty fast. And same thing with the assignments things move pretty fast so if you're not keeping up this class gets
hard.
But I'll do what I can.
Okay, so
now let's go ahead and start so in terms of structure of the years. So this the way the tutorials and assignments go together, is you have basically as two tutorials.
And then there's an assignment.
So you'll notice here that tutorials that this trail wanted tutorial to. That's the 15th, and then the assignment related the first tutorials is due on September 28.
So you have a bit of time after that. Then there's the tutorial for three and four, which. These are the dates they come out, not when they're doing these come out in September 22 in September 29.
And then the assignment for them is due on October 11 at 1139 I say specific 1130, because that's when class starts. That's the midterm review the midterm review I will show you the solutions to assignment to and then assignment one assignment to are
on the midterm two days later.
So, so yeah so that's that's that's why that deadline is there and then there's these two last two assignments.
Speaking of assignments on Team specific place to discuss the assignment. How much are we allowed to discuss. So, you're so the ice be you can be completely open about the tutorials, don't worry about you don't have to worry about giving away answers
on the tutorials on the assignments. Please do not give away answers.
You can even ask some, you can definitely ask questions about and stuff but just, but you'll you'll see with the way things are, with the way the questions I asked that if you but don't put answer don't share and some there and if we do see them we'll
probably have to delete them or something but, yeah.
Yeah, it says it does a team chat contain all tutorial correspondence.
For tutorials, go to the tutorial is are
we making programs that could potentially our alternate OS installation.
No, no, so So, I'll show you how. Let me show you the VM setup here in a second here but. So we're going to be using OpenStack have all of you use OpenStack already.
Okay.
Okay. People have okay people have not been using OpenStack okay well, you're getting us OpenStack. So let me show you what I mean by OpenStack.
So, okay, now this is not what I want.
The window.
We go.
So here is I logged in using X to go to OpenStack to get a thing here so when you log into OpenStack.
You should see see here now.
So I'm just gonna do so.
So when you go into. So first you need to go run new account. so you have to change your sex password.
If you don't, because if you don't do this you don't get added to the project. When you're in OpenStack you'll notice that there's a thing of saying projects here.
If you do not are you, if you do not see your come 3008 F 22, you may have access to OpenStack beyond access to the project. That's bad.
Go in, you know, log out do new account change your password, go back in and then this should show up, if you, if you do new account, you change your password didn't show up.
Then I'll have to talk to support people go like what the hell happened.
So.
So in terms of curriculum do our classes tutorials and assignments all follow the same material.
If they didn't follow the same material be kind of weird to have a class at home.
Yes. So you'll notice that the schedule on the tutorials are released on Thursdays.
And so the idea is on in Thursday during class, I will give you background on that week's tutorials and.
on Tuesday. generally we follow up things so every Thursday, you know, Thursdays are when tutorials come out and then you notice the tutorials on Fridays and Mondays.
So, Thursday class, I release a tutorial Friday Monday is the tutorial. The Tuesday that I can talk about, we can discuss how the how the past weeks tutorial was, and then on Thursday, you get the next tutorial.
So, so that's.
Yes. Is there a tutorial sort of setup OpenStack, yes. And in fact, it tells you everything here in the tutorial. it has, you know, lots of documentation, including a step by step guide on how to get to OpenStack.
So, but I'm going to make for you a VM right now just to
just to show you quickly what's going on with that.
So, when you, you said, I'm running this inside of a class VM.
That's not how you initially connected OpenStack but I'm doing it here because you cannot access OpenStack.
Okay, let's get rid of all these windows.
So, so first off you know broadcasting.
Wi Fi or.
Yeah.
So you needed to do one of those two things you need to. So, do this guy and then.
audios out.
Can you hear me now.
Yeah, yeah, yeah I was typing so I was typing, then talking. So, if you can hear my keyboard that's generally a good thing if you see the if you, if you see me, if you see characters appearing.
Can you don't hear my mechanical keyboard, then you know sounds out.
Yes it is mechanical.
So, So then you connect to it so,
so,
so you only have do this stuff, all this stuff what this is all setup. Once you have it, you have a VM, we just connect to it, and then just use it.
So, going to the so going here you'll see information on this, what you'll want to do to create one, they'll walk you through this but I'm just going to do this here is you'll make a go to instances, and then you go over to launch an instance.
And then here you go like now here use your name here.
So we know who's yes I am mine, my Anil yes to my second VM. Please try to create only one VM.
If you need a second one like if something goes wrong then once you've made a second one that destroy the old one.
If you don't get company thousand on OpenStack then run new account.
You change your sex password.
So here you go through this and then you know that account one yet, please do not make more than one source here now you need to select instance snapshot.
And then here if it doesn't show up here, say, calm, 3000, and then you're looking for.
Not the winner 22 you want company thousand, this is the one you want.
Calm 3008 2022 fall dash one, select that one.
There's a little window keeps crashing into a black box.
Oh this window, you can't. Can you not see the every time away from the OpenStack every time you click away from it, it flushes out.
Oh, how about now is that better if I just do this. No, it's all about just black.
It's black.
It's almost like it's not shared sort of like a privacy thing when sometimes stuff gets just not shared. Oh, stupid zoom.
You can't. Okay, so So was this.
You can see my Emacs window. Yeah, yeah. Now we can also see the window at the back so yeah that was blocking it, you know, it seems like the note you can see it like if I do this you can see it, yes now as
soon as you start using the stack it will start flashing like it's trying to hide it.
Okay, well here.
Well, after I do this I'm not go I will okay let's see if we can do this as a series of screenshots then.
Okay, so now you can see it correct.
We can see it when it's not selected the moment you select the window it hides it okay so okay so right now you can see that this is so selected, so I heard you say select the instance snapshot 3008 22 Africa you do that, I'm gonna go over here I have
Now I'm gonna go over here I have to go to the next screen. Next, and then and now you see there's a flavor it's a sport you need to make sure you select this one So, and then that should look like this.
And now it naturally selected.
And then we go next.
Then you should see that the.
You see that that not even see a network you're already selected. And then you go here, you shouldn't need to change anything with the ports security groups you have to make sure you add the SSH ping egress to basic connectivity key pair you can skip.
Although we will talk about that later.
Then configuration will skip that so gross and skip that metadata skip that.
And then you click on launch instance.
So, please use your ideally use your my Carlton one name, and then dash one or two.
And then, so it's not set schedule creation one instance.
So now, if I say his name.
Ok so now you should see filtering.
Sorry. Hold on, I'm just trying to see if I
can I see my stuff.
Okay, there we go. Okay, so now you will see you see these are all the VM so I have I have three, I will normally keep it to two and one of them is this a dev VM via shut off.
Now, by the way here, there's a button here that says Create snapshot. Do not press.
Well what happened to T Preston, they start eating.
So that's what happens. You go it you click on it, they never finish, so I have to go in and delete them. it's very annoying.
So this is.
So notice this is all the point is when I go through a tutorial on Thursday, you're not going to understand everything.
Which is why it's a tutorial, which is why you spend time on it, and then Tuesday. if you still understand stuff. We can talk about it more.
So, once you have a. So, once you have the VM here. Now, selling very important here.
So I've got this VM here, now you think a lot of you might be tempted to click here and then say, go to the console.
And so this is, this is what the console, you know, we get this sort of thing here, and as some of you click on this.
Don't do this. No.
Okay, so don't don't connect through this.
Don't be typing things in here.
So, don't do that.
So,
but, but one of the reasons why some of you may be doing this is because.
I just messed this up here, I do not want this here.
Okay so, so Oh the other big thing you have to do, which I know you can't see this right now so this Hold on one second here,
and says, Okay.
So, you're going to need to go here and the first thing you need to do is say is, select this first option associate floating IP address and select an IP address
VS code server, you might be able to use VS code for remote server I gotcha you can use over SSH yeah you can use that over SSH VS code does have some stuff for that.
So associated floating IP address.
So you'll see a window like this where it says select an IP address, and then you go here and I'll select one like this, and then I'll click associate.
And that IP address matters because that's what you're going to connect to.
So like right now I've got 134 1171 3325
associating.
So, and then what you want to do is now this is a cool trick you don't have to be on. So normally what you do is send students at.
You can do this at any command prompt on Windows or Mac iOS. It works.
Now, if you do this, if you're not in the VPN, that will work. I am not in the VPN still work. There's a trick here, which
you this little trick, it goes through access.
Yes.
So, One thing that happens is the moment you log in, it asks you to change the password
change the password login again,
new password, and you're on because the default password is student.
Yes, so.
So when you're when you first connect you'll need to change the password immediately. Please change it to something different. Not saying the same as all your other passwords and not trivially guessing.
So this is, this is important.
And then once you once you've got your password, you can connect then by,
you know, then you can log in. So, so this you notice after I changed my password. I could then login and I have a command line.
Now,
when you if you decide to connect the X to go.
So I'm not going to go through the things again, review it out there, there's also.
There's also tutorials to FCS again, once you get through it once you don't really have to worry about it. Because then you have it, and this is also a good reason to go into tutorial because a TA can help you with it directly.
If you have problems, which is part of, so
that, so that's why so in terms of the.
Once you're on the class VM.
Then you can start going through things. Oh, one of the cool thing here is.
So, you all have an access account which you can SSH to.
So, you SSH to access, you can get on there and you have files there. If you run this command FCS backup and you give your my Carlton one username.
This will back up your user directory on the VM to MCs. And this is important to do in case you do something that crashes your VM.
This can happen.
So make sure you do that.
In terms of if you decide you want to, I encourage you to use the command line and doing your stuff. Now, if you, you can't quite see this watch reality, I said to them, I can show you here.
So, right now Here I'm using Firefox, Firefox is there, Firefox is not installed in the class of the M's. Instead, what I have installed, is something called surf.
And this is surf. You see surf works great in terms of this, but it has no tabs. And in fact, the way it wants you to to work is you type in
type surf
you type it in and then you get this, and you can go to.
You're finally here.
Wonder how far down the wiki is ok ok so when you go. Now, one of the reasons why I have installed surf surf is not my first choice of browser, but really, in the VM, you should not be doing most of your surfing.
I keep clicking on the icon instead of this one. There we go. So if this right now I'm accessing this.
I'm accessing the window through.
What do you call it through surf.
And if you look here at the bottom.
I have a there's a at the bottom now you'll see there's a bunch of icons for things start the star gets you to the wiki, and the world icon gets you to go.
But if you just go to a command line you can type surfing the URL and go to wherever you want, or if you're inside of a window here this, you can always tight control G.
And then you get the bar to edit things. So,
and to learn about surf.
You can say, man. Man surf.
And this is gives you the information on surf, and one of the cool things about surf, is it has lots of keyboard shortcuts for doing things.
I want you to feel comfortable with command line.
In this class, and having a full web browser inside of the class VM just felt wrong, you can install it. There's actually enough disk space I this a 12 gig distance about how a little over half full, so there's definitely room for installing a full web
browser, but I did not do it by default, I just put surf there and one of your tasks is how do you install it.
What is control G is a shortcut to get the URL. So, you see here I've got this little URL thing and it's I want to say to cure go google.com.
Then I feel lucky Where is that going to take me.
Okay. But then you hit like control, ah, takes you back like there's no
no little things here for control it. So,
this is where the info in the browser is this thing called. So what's up. So what is DWL quest for simplicity clarity of frugality.
It's a, it's a farmer.
But our philosophy is that keeping things simple minimal and usable this this is a very unique see way which I thought this is a good thing for introducing you guys to the culture of things.
And then, so surface our web browser, and it tells you about it so that's what's installed in the VM.
Try using it if you find it like want to bring up the class web pages or that you know the tutorial that's good if you're doing through extra go, or just use your browser on your regular machine, and then just SSH in a terminal window.
So we are.
We still got a bit of time here so this is good. So that's the in terms of logistics.
can take my own URL here.
There we go.
So what kind of Linux knowledge is level is expected starting this course I expect you to know C Programming. I don't expect you to know Linux, that's kind of the point of this course is to learn stuff.
And if you go through this first tutorial you will learn a lot. There is. So, first of all you gotta get OpenStack running, you've got to do all this.
And then what you do is you're going to learn about the show me when I say the show, that's what you're doing here when you type in commands here.
And then this is going to talk to you about commands processes permissions environment variables, controlling prophecies, you know, do a Hello World program, you're actually see the code for a simple shell.
I shall finance with the terminal, not quite.
So let me start with resist start with the basics of this way here.
And let's start.
Let's start talking about some actual content. What is operating system
instance. So, what is an operating system, I would say.
So the operating system our guard particularly from a developer's perspective, is the software that changes the computer that you have into the computer you want to program.
So,
so that's so that's what you're kind of conceptually you want to do that then into practice what is the operating system in terms of.
It does to basic purposes.
The two things you are do with an operating system is you want to abstract, you manage the resources of the hardware and abstract those resources. So they want to turn discs storage.
So like this is the classic thing that we.
So, you turn the thing that you have is a natural abstraction here.
This is more there now.
So your turn those into.
Will you will see assembly language in this class.
This is what you're turning it into from from this to that.
The specific operating system we're talking about here is Linux.
So,
so Linux is a, it's something that you know it's a flavor of Unix Unix picks back to the 1970s
place called Bell Labs we're not going to talk too much about the history of it but the thing is that, this comes from an, the concepts of Linux date back a long ways, if you want to understand why it is the way it is.
You have to that history can be very useful.
So
it's Colonel, which we will talk a lot about.
So, the kernel is really the core of that we'll talk about what the kernel actually is that's. And then you have.
So, so that's what the major parts of the OS is the, is, is there's all these pieces but
what the mental model you should have is, whatever you're interacting with you are and you aren't interacting with the operating system like sitting here when I type into my window here and I'm doing these things, I'm clearly interacting with an application
that's case I'm interacting with Emacs.
But I'm also interacting with the operating system, because the operating system is part of what's accepting keys that I type at the keyboard, that's allowing me to see something on the screen.
And that is, you know, allowing me to communicate over the network and run zoom and the operating system is doing, huge amounts of work on my behalf.
And, but it's all there to enable me to use my applications.
So,
this is a.
Now, what if we're talking about other operating systems like where do we sit so you know Linux kernel is everywhere.
We will define what the cloud is but basically you can say no to us.
So,
so the heart of Android
Chromebooks
to us.
Yeah, there's so many embedded systems, your fridge if you have your refrigerator, and it's connecting to the internet, it might be running Linux.
So, I'm just so I'm just saying there's a yeah there's a lot to talk about with kernels, I will be talking a lot about this year and there's there's a lot to get into here.
The, but just to understand there are other operating systems out there, there's you know Mac OS, iOS, there's and, you know, I mentioned Android or Windows, windows there's Q and x.
There's actually lots more out there but.
While there are there are architectural differences between beings and we will talk about the sort of the nature of these, the basic concepts of what operating systems do the tasks and how they organize the world for you are very similar across systems.
And the reason why they're similar is because
it is because of what that, you know, what's the problem that an operating system is solving. It's really.
this is, this is the core thing you've got lots of programs running at the same time.
And they are all talking to the network and other devices.
The moment you have this requirement of having multiple programs effectively running at once, and you want them to talk on the network.
You basically have to have an architecture, similar to what we're talking about.
We're going to talk about in this class I mean it's just it's just the nature of the domain I mean not to say.
There are other ways of solving it. Certainly, but there's huge amount of usability for regular developers in terms of this model, and in particular what I would say one of the biggest thing that helps with his.
And that's really the thing that a modern operating system gives you is that when you're developing, you don't have to think about all the other things that are happening on the computer.
At the same time, you can just think about your program, doing its own thing, and whatever else the computer is doing.
Doesn't really matter to you. That's all separate stuff.
and.
And so then
what is the show.
So really, the concept of a shell me the reason why it's called a shell is really about you have this kernel it's the center and the shell is the thing, outside of it, and really classic shells are, are things that are just.
They try to minimal functionality.
In order to expose the power of the kernel so you'll notice in the shows that we interact with they really do expose that underlying functionality. Then
what's the terminal.
So the terminal is an IO mechanism traditionally for interacting with a show.
When you think of a terminal window what you really should be thinking about is a
teleprompter so classically there were like things like this, where you type into them and they print out and stuff.
And then you had,
you know,
to one.
and then you eventually got things like this The bt 100, which was instead of printing out on a piece of paper, they would go to a screen and stuff and then what would be.
This is not a computer. This is a terminal. This is a keyboard this the screen but it has very little in the way of smarts.
It connects to an external computer you have traditionally serial cables even modems that would just connect to a mainframe computer you could run many of these terminals.
Each talking to the same computer.
That was the model so when I say, without interacting with this. This is that, that's what this, that's what this actually is, this is what it's actually emulating, and in fact this Vt 100, you use the terminal codes that were designed for this.
They work in here. Yes.
So, and in fact.
Notice if I type s TTY it says things like speed 3030 800 400 baud that's bits per second. this is talking about a serial line that's connecting to the mainframe that you're talking to.
That's the model here so really the terminal is this the the shell is the program you're talking to, on the computer.
Now, the weird thing of course here is here, this is not a real terminal. This is a virtual terminal, which is run a Windows system so this is another application, as opposed to a physical device, but from the underlying application perspective, you could
have it as a separate box hooked up by a wire to a computer. In fact, any modern laptop or something you could set up hundreds of terminals, like like this vt want to have them all connect by wires.
And they could all work at the same time and be perfectly functional.
So, so this is, so this is what you know so it's a.
When we say historic artifacts, I mean, he's our machine this came out in 1978.
This is not new technology. But here's the funny thing about
about modern operating systems, is it's really a.
It's layers and layers of history. It's not just one thing you know it's this.
You know, there's a lot of stuff, you know, going on here. And so, and it's really,
you'll you'll see those layers and it's funny how the newest stuff combines with the oldest concepts and it all
all fits together because you want because every so often people talk about. Let's start over. Let's just throw scratch it's all too messy but it's like, we have so much software that depends on it.
So if you start over, you have to throw it all away.
And that makes people sad.
So we don't.
I'm at a time, I'm going to stop here I'll stop recording, um, I have office hours on Thursdays after lecture. So, I am happy to stick around here for a few minutes in this zoom and then I'll switch over to my office hours, Zoo, and, you're welcome to
come say hello.
As you questions but otherwise, please go to tutorial tomorrow, start working on that tomorrow tomorrow and Monday. I will be posting and teams just to send reminders and stuff so please join teams, that's where I'll be interacting with you when I'm not