Let's go and get started
Okay, Good morning, everyone morning. So today, So just to you know we've only had one lecture what you should be all been working on it at this point.
Is, you should have all at least looked at 2 tutorial one.
That was on Friday, and Monday if you haven't looked at this, and at least made a temp.
If you haven't finished it that's okay just to be clear you have for tutorials.
They are due. when that the tutorials related to a given assignment are, do when that assignments do.
That's the last they will accept it so if you look at the schedule.
You'll be able to see that basically tutorial one and tutorial. 2 are for assignment, one tutorial, 3 and 4 are for assignment.
2. So you need to have Marx in for tutorial 1, 2 tutorial 2.
When you have to submit assignment. one but and of course they're given on a weekly basis.
You should try to keeping up with them, you know, as we as they go everyone else, hearing all laggy voice.
Can you all hear me? Okay. Yes, yeah, Okay, yep. Okay, So it's just yes, some people may have some issues with.
Yeah, I I have a pretty strong Internet connection. So sometimes things that happen in zoom is pretty good.
But if there are connection issues, do let me know so so do you have an assignment due in a week, not in a week. in 2 weeks it's due September 20 eighth, and the assignment will come out
basically by the end of this week, especially based on I think so.
So So your ta you have to find time. to talk to your ta to get a mark for your tutorial, basically to show them that you've gone through and do this the easiest way.
I do. this is during a tutorial. you just chat with them and say, Hey, look!
This is what I did, whether you do it over zoom or you do it in person.
You spend 2 min saying, like, Yeah, I did this this and then go.
Okay. great 4 points. but if you have if you have problems with that, and for somebody you can't find a time to talk to Tm: You'd message them you'll have that in on bright space the name.
Of your ta you can't look into the grade book it's under progress, because bright spaces annoying but
But if you look under progress you should be able to see it.
Get your ta communic with them you can get marked up by other tas, but that ta will have to communicate with your ta to let them know that you did that work because they're the ones.
Responsible. So try to talk to your site a all possible there's not something to submit.
You just show them that you you talk with them about. say, like I I tried this.
I tried doing this. Yeah, there's a there's not so there are questions at the bottom that I you should be. These are the these are the things you should be trying to do. these So you don't have to give an explicit thing But you
can talk through. Yeah, I did this. I looked at this. I was confused on this.
Have a short conversation, anyway, but that's so the core of the material of this course is the tutorials, the tutorial lead into the assignments.
The assignments lead into the midterm final. but my approach in lecture is a bit different.
I don't approach the information the same way, and so I am willing to talk about the details of the tutorial. but right now I would like to start a bit of a story, and a bit of a set of questions.
Now, if i'm I I think that's yeah so I think I got I looked at that. So so what we're looking for here. What I want to talk about is this so So we've got this here this is my this
is a shell. This is on my desktop.
You see this little thing here? This is a tempor. This is a backup file automatically created by emails.
I hit, save then I get the actual file. But any case, this you all should be basically familiar with.
You use the command line before in 24 o one, you know, either.
Virtually. You ask the H to a computer. You get this whatever, but you get a prompt and you can take type in commands.
Things happen. What I want to talk to you about is what is this really what's really happening here, and where does this come from?
I think the only real way to understand what's going on is to understand a historical context.
So previously. I talked about the Vt. 100.
So this is one of a number of teletype you know i'll. i'll, you know, a computer term rules the tele types originally have more paper that printed in that you would type on them and the original purpose of a
teletype was as an advance over the telegraph.
So instead of having 2 people on either end, just going to do to do to do, yeah, you still have the same connection.
There still be wires, but on one end they'd be on each end there'd be a keyboard and a printer.
And so if you you know so that's a tele printer, so these teleprinters you would type, and it would potentially be echoed to the local thing.
But the mate. but what you typed in would be sent to the other side, and another human on the other end would see what what you would type coming out of the printer and then you could type and it would come out and so
that's that was a form of you go from telegraph to tello printers.
You could do communication it's not voice it's not a phone call, but it's potentially more useful in a lot of contacts.
So when computers came along this existing hardware what's hooked up to them, and the way they were connected was when you think of a telegraph line, it's just basically some simple wires where you just have a voltage that goes high and low and
so you're sending bits literally ones and zeros, and that's exactly what a serial port is for.
I mean there's a couple of the wires and things but primarily.
There's you know one for setting data one way and one was saying data the other way, and they're both are used to send bits by changes in voltage, and it's called serial because it's one bit
after the other. Now there are there were all you know, so if I talk about a parallel port, so parallel port is the same thing.
But instead of a serial one, there's a lot more wires because it's sending many bits at the same time.
And so you have multiple wires. They all send bits and parallel, so you can have in principle higher bandwidth.
Then, just I I you could send more bits per unit time over a parallel port traditionally than a serial port.
But this is the classic way. You would connect a tele printer to a computer.
And then, when we got modems, basically a modem was just an interface to turn a serial port into a.
You connected the phone line the other side. The phone would then be connected to a serial port.
In that way you would have telepers connected on both ends, or maybe connected to a computer.
So why this matters
Yeah, What is the snow?
So
So when we talk about a serial line, you would abstract it to be saying it's a way of sending bits bits.
So So so! How? how, how, how does, How do motors play in the modem?
So
When you use a modem, you're connecting a serial line to the phone network.
So essentially the phone network is acting as a giant extender for a serial line, because logically, a serial line is just a series of wires that you connect between 2 devices.
They could connect to to tele printers where and one person can type it one and then see output.
There you could talk to each other, but more commonly we think of at least one or both being computers.
And so they are speaking in the language of computers. this, and sending them back and forth.
Now when we see bit straight, so that's why we talk about bits, Kilo bits kvps, we're talking with the number of bits per second.
Now, you never actually want to work with bits most of the time you normally want to work with something a little more usable.
So normally we chunk these bits up together, so we get a stream of bytes by E chunks of 8 bits.
And why 8 bits
So so, so 8 bits are enough to encode text
So 8 bits are enough to concoct. Text will really 7 bits is enough, but you know, do 8 bits Now, hey?
I see. can I get? Yeah, we type man Ascii.
And this is asking Now
So when we say Ascii, this is American Standard I I forget what I ask for the American standard code for information exchange.
So many nowadays. We talk about 8 bits things. Let me talk.
You Tf: 8 or something. they all in their lower 7 bits are using, asking, So what are the characters now?
The low, the low byte ones are all control things, and if you look at these, these are all useful things or a teleprinter.
There are things like, you know, the null character. start of heading.
Start taxing like, you know, End of transmission Bell backspace, No device control like you.
If you look at the and you realize these were used between things that were typing on each other.
They make a lot more sense you know what's control as an up Yeah.
W. What? What's control? when we say Oh, I see here? control characters? That just means that these are characters that you normally would type on a keyboard by holding down the control key along with a letter But ultimately
they're just these characters. this is an octal decimal hexadecimal.
You know that's what they are and so you send see? Oh, like here we got space exclamation point here all things.
So there's the numbers, and then more kind of Okay, so oh, yeah, here's the other side for the letter.
So 100. so a B Cdfgu uppercase, and then lowercase, and it goes all the way up to 1, 7 727, which is the delete character
Yeah. So So technically, you could have used another, you know 9 bits.
Well, what you could have used, how me a care there's no intrinsic reason for us to package up bits into bytes
So when you're translating from binary binary it's much easier to represent powers of 2.
Because that's what fun you know cause that's what you're doing, you know, 2 states.
So yeah, controls. Yeah, is that control that's control c Yeah.
Did arithmetic I wouldn't say it's arithmetic.
I think it's really about what you need to encode this so you can use 6 bits to really get letters numbers and symbols.
But if you wanted to have room to have like these control things in here for a like Oh, this is how you go to the next line, or this is how you're doing a bell.
This is how you have a tab character synchronous You know, like all these other things, you really needed that other bit.
It's just It's just it's nice because you know 8 is 2 to the 4, right? and so typically what we've done in most computers.
We do it either in bytes or chunks of bytes.
So So we talk about thirty-two-bit system computers or 60 four-bit systems, really, because those are, all, you know, like 4 Byte, 8 Byte.
Oh, yeah, you're right, thank thank you 2 2 3 is 8, Yeah.
16 is 2 to the 4, and then 2, 56 is 2 to the you know before is to 2 to the 10, and
Yeah, every time you add a bit, you increase, not. yeah. So this is, you know this is so.
We tend to do some sort of chunking like this.
So So if you did 7 notice, if we do 7 bits it doesn't fit evenly into like how do you represent that as a binary number, you know you have you know in terms of the index into it Anyway, you have access that so it's
just
You start so so. But any case, bites are around. Bits are around.
This is this is really a an encoding this is not the only encoding By the way of things.
There's actually a another way to do this
They are. Oh, there we go! E. B. C, D. I. C.
Yeah, no, I didn't think that e B. c v Ic.
So extended binary coded decimal interchange code.
This is an Inc. completely separate encoding that's used up traditionally for Ibm mainframes for converting bytes into characters.
Yeah. Now it's just release a pic care separately from the Southern thing casting created there.
Yeah, signed for punch cards. Yeah, corporate oste.
So this nowadays, if you work with a mainframe or an Ibm legacy system, you'll see this.
Otherwise you don't it's just it's just not used but i'm saying there's there's no re.
This just happens to be just, happens to be a standard that we use, and if we and nowadays of use utf 8
What we nowadays use for encoding text to typically now it that's because is you want to do unicode, which is which is the way we because, of course, what's the problem with if you, look at ascii it
only has basic, you know, letters and numbers that work for English.
Do you want to do French it doesn't work let alone you know Russian or he's, or Jack you know Pandora, Japanese users, and what it means is you need a lot more characters.
Which is why we have unicode to be able to code things, and we also get things like Emoji.
You need a lot more than 8 bits to encode that.
So instead have these, you know much longer. thing unicode is much more complicated.
I'm not gonna talk about it, but but the classic encoding.
That's there's utf 16 in utf 32 which are ways of encoding it with 16 bit or 30 two-bit chunks.
But now what's taken over mostly is utf 8 and utf 8 has this nice property that's backwards compared with asking.
So an Ascii attacks the document, and Ascii is also basically utf 8.
What do? Oh, so what do I mean by the mainframe?
Yeah. Okay, So so okay, So So this is going back to history of computers.
Past terms, or computer
So
Mini computers really on a thing anymore. but mainframe.
Still very much are they're the things the mainframes are the things that run large corporations and governments because they were the first one to adopt these computers.
They still want to run their code. And yeah, yeah, background meal work with legacy system.
Exactly, but you know backwards compile means that the newer system can use the old stuff.
Affordable means that it goes both way if you want for is compatible, it means the the older system can use the new stuff
I don't know what bomb Is but backwards? compatible.
But so why am I talking about all this because when you're interacting with this shell when you're not doing a shell?
What you were, what this interface is is emulating.
Vt: 100 underlying it. there is a concept of
Yeah, there is a concept of a serial line which is transmitting characters
So we can do things like. So if I type Stty
So
So change in pric terminal line settings so we say change in print terminal line settings.
It's saying the settings that you would use for a serial line
And there's all kind of things like you can say what's the end of file character, and the line character or the interrupt character.
How do you stop the connection? The bond rate, you know, which is the speed of it both directly.
So that's all there when you're interact with this now older bog rates would be emulated.
I mean older systems. I mean my first modem worked at like 300 bods, so that's like 300 bits per second.
Later on. I think the fastest mode of my use was like 19.2 K.
So not 19,200. This is 38, 400.
So this is super fast, but still very slow. For a month our computer
So. yes, so it's appropriate to say modern also concurrently.
A modern Os is running a bunch of processes which is equivalent, which is analogous to how a mainframe interacted with a bunch of terminals
Yeah, thank you thank you for the exactly that's that's that's correct by Utf 8.
So why this matters is
So the terminal is the interface. But what is that thing on the other side
Now it's really what we want to focus on a shell is a program used to run other programs that is the fundamental purpose of a shell
The purpose is to run other programs. but yeah cause that's what you're doing with it.
So. But wait a second i'm typing in commands and like I'm doing things like ls and I type in who or something I can type in commands
So okay, so That's A question what's this relationship with the kernel, so that's so so it's safe to some way.
Say that the Os has replaced the show with a graphical user, he said.
It runs the work so
So and see. so you can save my entire desktop.
Environment is a graphical shell which which is a program used to run other programs.
But
A show on the terminal is fundamentally very simple, and the reason it has to be simple is because it was designed to work on systems from
It was. This is this is an interface that comes from literally 50 years ago from the early seventies, and even the sixtys computers
So commanders are other other running separate programs, even with internal commands.
You know, so internal. So, to be more specific.
That is a pretty, sophisticated shell, relevant.
But there are more sophisticated ones
Yeah, why do you build functionality into the shell for efficiency?
And for convenience there aren't no so when I so for example, a well, eventually convenience.
Okay, so I will tell you that some commands like CD. CD.
Is a built-in command, and in fact has to be a built in command.
Why, that is, is is a is worth thinking about. We can talk about that.
Well, we will talk about that. But then, if I type ls so is there now.
I'm gonna is this command and internal command or an external command
So if I say which CD it gives me nothing because it's not there.
But then, I say, which ls it's there I say which talk. So if I type So when I type top I'm actually running the program user bin top is there
Yes, so So when we see this, when I say which what this is doing, is this is giving out a path, if which returns no path to it, It's not there.
Now what I say what is this let's i'm gonna
Okay, that's good. We don't need all that which I can't get out of this.
So i'm i'm getting on to access here Okay, So now I am on access, and then i'm on this.
So notice that this part here, this this banner drop to here, is stuff from access.
Be logging into it, and then from access i'm logged into my Vm.
And that's this message, and notice what It says is welcome to a bunch of 22.0 4.1 lts.
This is the version of linux and this is the kernel that I'm running this is the office I'm running on to X 86, 64, so
Type.
Oh, right, that's a bash thing
There we go, with no options indicate how each name will be interpreted.
If used as a command lane if the dash t often is used type prints a string which is one of alias keyword function built in or file, that's better than which but notice this isn't a external
command. I think witches
Yeah. Which: yeah.
Yeah, which is an external command type, is built into bash and tells you about things
Yeah. So going to 22.0 4 point. one is the version of Linux.
Yes, exactly is tell you. Now, where does this come from?
So part of this is what is on your machine. So I type Ls: here.
This is my home Directory
Yeah, what? Yes, message? This is the message today. The trouble
So if there's a problem we use command as except for you know, try to follow the chat.
But I'm gonna focus on here so if I do Pwd that's a present working directory.
I'm in home student I can then CD to slash i'm now at the top level directory.
Now you might go like this is really annoying I don't wanna do this so you can explore if you start the graphical interface.
You can can look at things through there. but You also there's a program I have called Mc.
Midnight commander, which gives you some nice, you know a way to kind of just sort of run through this, you know.
I mean you can copy things back and forth but we can go here can go here and now it tells you i'm in slash on the right.
It's my home directory so it's good for like you can copy things back and forth.
It's it's got lots of fun things in here but so you look in here.
There's been you know home, live i'm not sure Why, it puts a til in front of it.
I think it's to say these are binary directories
So if we're looking at if so if I go into bin you'll notice.
Oh, look here's all the programs that are in slash bin.
These are all programs you can run many of them have man pages the things with that sign means that the symbolic link, I think.
But like that's kind of yeah there's a lot of stuff there. and if we want to go, but so if you want to, dot, Dot always goes up, goes up to the previous directory, and then we also go to user and there's things there now why is
it slash user. It's a historical artifact I could, you know?
Talk about Button
Mc. is not internal. Mc. is a whole separate program it's called Midnight Commander.
But if you look at unix file systems, so what you unix directory structure
So so bit is done. Is there
So. but so lib directories are for libraries that are for code that is added to a but up running bin is the programs that can actually be run sources for source code
That spin is for system binaries, things that normally used by administrators as opposed to regular users.
Included
Include include C. header files.
So traditionally local would be used for things that you installed in your local system as opposed to
Things that came from the operating system distributor nowadays because it's all kind of mixed together.
It's not such a useful thing, although I mean still things that you got from, you know, a bunch of or something you know, things that you didn't install from a point to it makes sense potentially put them in local because those
aren't going to be managed by your package manager so, and but then there's also this directory
Home is user home directories and Oh, yeah, Oh, oh, by the way, this sometimes will work with mice depends on your setup.
Always bar.
Mars for variable data. Oh, there's a core there that should be okay.
So slash pro and slash this. Tell you about the running system.
Okay, slash run
Slash temp that's temporary files roots
Nice route.
So slash user is the user directory used to be There's a distinction between stuff and the main the stuff. we're getting the system up and the user partition it's.
It's a lot of versions of linux are trying to get rid of it.
But there's this it's a historical thing so like binaries
There's not really a fun molder team slash biden slash users slash bin except nowadays we just dump everything in there.
No, you user is not unix system resources.
Why am I going through the time of talking about all this?
Is because you should explore your file system. Oh, and then I forgot my support
Slash, ec. which you wouldn't think of it etsy is, you know, etc., so it's etc.
So what else but in practice, what it is? is configuration information.
So if we go to here, is not here. Oh, and then
So if I go into slash at sea, you wanna know how your system works.
Just look at all these files. there's all most these these are directories. but you know, first we're listing all the directories, and then you got these files and like literally you look at these things and you can just learn so
much about your system by just pointing out what the heck is.
This file. i'm wish to show you a few things that might be of useful like this post that tells you issue
That's the issues tells me this
Message of the day where's the message of the day Oh, yeah
Hi message of the day
So traditionally. there is a file called mit which is the message of the day, but it looks like that doesn't exist, so I'd have to check to see it must be automatically being generated
Ls. also listen. So common commands
If you files are normally arranged in hierarchy, we have directories which can contain other directories and can contain files.
That's your basic file system i'm not I can't explain that more.
But I assume you all are familiar with basic directory structure.
So present working directory Tv change directory
So you can use. so we're looking at a text file we can do
Remember that you can quit less with the Q key, anyway.
Yeah. H. top is not included by default. This is H.
Top. this is top i'll be honest i'm used to top.
But H. Top is very nice. 66,
Unix is an old system. it's been around for a very long time, and in fact, it's not one system.
It's really a family of systems. modern linux systems are a kind of unix.
There are many different kinds of free bsd openbsd probably one more common Mac Os can be considered a kind of unix, which is more based on Vietnam the Bsds.
So there's a lot of stuff that just is and it's not missing.
Do the choices that were made decades ago. and people got used to it.
So that's how it works p ps is useful to so?
Why.
So this all this stuff here, this is all invention, this all can vary from system to system.
There is not a fundamental reason why this stuff is organized in this way.
It just is, and, in fact, nowadays because there's so much variation, and people are creating simplified versions.
You will come across versions of Linux where they change all the stuff completely around.
I'm just telling you this is this is how 1 2 setup and a bunch of is pretty traditional for the most part, and how it sets up its commands, and how it sets up its file system structure.
Sure, But these are all conventions. These are not fundamental.
How unix systems work. But what is fundamental
So what is fundamental is how commands or run, and what I mean is when I sit here at this prompt and I type in Ls.
What really happens is
This is the fundamental thing to assume is that it creates new processes all the time.
So that actually looks like
So does it matter on a site if you use an unstandard way?
It's the way my assignments are structured that's not gonna matter whether you something that's non-standard because i'm gonna be asking you to understand specific programs and understand the concepts behind them which
gets to this, which is, if you look at so this is where we're really getting into stuff that the textbook covers this virtualization dialogue and processes like all this stuff i've talked to up to this point he's kind in the
textbook. Was it too much? But to talk about this stuff, Yeah, this basically.
Now this is this is what you want to do and this covers the ideas I'm going to talk about.
So it is worth reading that chapter on processes to get an overview of it.
But fundamentally, what a process is is
It's really it's the it's the error
So each program runs in its own process. A given problem can be running, running in multiple processes.
Now, what do I mean by that? I mean so let's do this here I'm going to
So i'm now at ssching in twice to here, so now I have this, and so
There are 2 instances of at least 2 instance there's also this one that's running because I think I saw an Exf.
You know I have an exchange for session but i'm running bash here, and i'm running bash here, and that's what these 2 things are
Where is didn't work? What Did you Try doing with Where is Because I if where is doesn't work that suspects that that makes me think you may be using the wrong?
Vm: because this right here is a copy of the Vm.
That I gave you all, and
It works.
So So yeah, So if it yeah so, if it doesn't work you're yeah.
So how is it located in 2 file paths? so?
Oh, remember, I said so. this is user ben who what's a bin Directory binary.
This is the program binary users share. man. This is the manual page
So this is telling you where in the manual it is, and where in this.
And so when I type a man i'm actually looking at this file right here
So that will take you all about it. no the so there's some comments here.
Where is Where is worked?
What shell am I using? Well, one thing you can do is find out is well.
You can see now where i'm telling you you're using the bachelor.
The bachelorette is the shell that is by that setup by default.
In these systems. it's known as the born again. show it's so we can tighten in bash.
You know, Bash is a yeah born again. shell because the truth is called Sah is called the Born shell.
But this is a Yeah, this is this is this is the board you know there's a board again.
Show. Now this: when you're using a what is this this is a binary rich bash bash is a program
These are just programs that are programs on disc. When you run the program it runs inside of a process.
All running programs on a unix system up for one, not for one is is running inside of a process
Mean. A program instance can be x or twice, and there are different processes.
Yes, exactly, Martin, that that is that is what i'm talking about here.
These are 2 processes right here. i'm using bash here I'm using bash here.
These are both running the same shell, but 2 instances of it.
One instance right here, one instance right here, and in fact, what I can do is turn them separately.
So the way you turn you can terminate things is using the kill. command.
Now the kill command can also be used to send general signals to processes.
Just store that idea as a signal, but I can just say kill, and then I can give it the process.
Id number. So i'm gonna try killing 2 2 1 7, 4, See if it lets me okay.
That worked. Okay, okay. I gave it off a force kill to that.
And notice here. my connection dropped the moment that process got got terminated.
My connection with the computer, you know. So I have to re-log back in.
And now if I do a Ps.
Yeah. So
There's 3 concepts here
Right properly.
Yeah, So we will talk about dash 9. Just notice that if you type man, if we do, a man kill it tells you.
Send a signal to a process, and that default single, for to kill is term, and then particularly useful signals are here.
Dash 9 is you know also it's a like I guess so, and 7 signal
So if you want to see this is where you know all the different type of signals, and this tells you all about it.
Here's a list of all signals really what they are Is there a message?
What we miss saying now is Sigkill. What is it, Sig?
Okay.
Why is it not listening? killed here? i'm just a little confused?
Oh, here we go. This is what I was looking for so this so Sigkill goes by it's it's 9.
That's why I gave the number for this as opposed to saying, Dash, say, kill!
But those all kinds of these other ones and notice these I'm.
Using Ps. to check the instances. Oh, also common commands
Useful. with the pipe. command
So what is the d between the kill signal and the term signal?
I could have if I could have type killed dash, sink, kill Pid.
Yes, I could have typed that what's during the kill signal that term signal.
The big difference is the the signal sink. kill on 6 top cannot be caught, blocked, or ignored.
Sick term
That's basically what it is
So yeah, pulling the plug on your Pc. is Sigkill.
We have not so an operating system is a bunch everything we're talking about here.
You could say is part of the Os We're gonna talk a lot about something called the Kernel.
We haven't gotten to that but abstractly what you can say is
Okay, Yeah, Sig term is just not adding anything after kill.
Yes, so those are unique to a specific architecture. signals, signals.
The numbering of signals can vary between architecture that's what it's saying.
It's not so much that it's that you see there's some difference with other processors.
There's different standards of what the signal numbers are and that's due to historical things, not so much because Linux wasn't typically the first unix to run on these systems.
So to maintain compatibility with previous with previous versions of unix that used to run on those same architectures. they to often preserve things like the way signals are are handled so they'll change the numbering because of course.
underlying you're using these text messages you're using numbers.
The same names are for human consumption
Yeah. exactly 6 Numbers: Yeah. exactly.
So what have we got here? So so we can. We have talked about viewing processes kind of a little bit.
The shell, basics, file permissions.
So let's see what which ls
So now I gave these options here. If I just do, an L session user, then Ls: I just get the file.
But if I do this dash L. A. L. tells for long dash A.
Gives everything I technically. didn't need the dash the a for this particular thing.
But I get this big string here, and this contains lots of information which is important for you to understand
A shell is not a Tr. is not a terminal.
No, yes. the trouble is that interface that used to interact with the shell blame on older systems.
The terminal was this: This is the terminal. and when you when you interact with this, this is a program pretending to be that. But it's still a program. but it's still you know trying to emulate that Well, I wouldn't say your computer is the terminal.
Your computer is, we have much more complex interfaces ways of interacting with the computer nowadays.
And so when you interact with this thing here it's there's many layers.
But this is pretending to be. This is a virtual version of the Vt.
100, but it's running on here, in the window so of course it's a process, too, so and in fact, in fact, what this is
So
Yeah, your computer is closer to the mainframe.
Your internal emulus virtuality. and yeah exactly.
It's. Your computer is very, very powerful. I mean I could take my both your watch.
If you have a smart watch with the right interface, you can probably hook up hundreds of terminals to it via serial lines and have them all interact with it and have hundreds of people interact with your phone and do simple
tasks. That is a yeah I won't talk about Wayland Right now.
I will talk about Whelan at some point Oh, so change the show.
Okay, So yeah, Well, that's true so let's Hmm.
You're gonna play with different shells in tutorial too.
So you will you will play with that but there's nothing intrinsic about this.
Oh, just to give you a so i'm running emacs here.
So I think one program here I can type. Yeah, I can run a shell inside here
Inside emacs. so emacs is a process which is having a window inside of it.
It started. I it's running bash and in fact, if I locally.
Chuck.
And see if I can
So this is showing all the processes on the system based on who started?
What process and you'll notice like there's just a lot of things here.
No, no, shell my growth. Does it start emacs which is now started?
Bash, which also has a bunch of other emacs processes Then I've got firefox.
No, I've got zoom here which has got a lot of things going on.
Not sure. Why, Gjs is my oh that's probably ready to Firefox.
There's a lot of stuff going on in order to support my desktop.
This is Ps tree.
So there is a there's a lot of stuff going on
Now the the last thing i'm gonna mention in my last 5 min here is
Is there a textbook or resource that explains the architecture in detail?
Reading and reading the processes. The operating system book reads at a very high level.
The best resource for all this stuff is the man pagers.
The manual pages go into lots of detail about this.
The textbook is very high. Level parts of the textbook are very high level.
Other parts of the textbook are actually quite detailed and it's worth looking at.
Those other parts, but in terms of like, how do you use unix?
There are many books on Unix, and if you want to learn about like, you know those things.
But
They're li put it this way
If you start learning once you start learning how to use these things there's always more stuff to learn.
Yeah, and definitely as you shine re sacrified resources there's things I mean. I have to say there's a note. if you look at O'reilly o'reilly is a publisher they have lots
of books on things, and we can use access, many of them through the library.
So I would see it made them as an electronic resources.
If you want to look into those I mean there's lots to learn but you don't need to learn all of that.
Yeah, Well, there's software architecture and there's processor architecture, architecture is a term that's overloaded in many contacts.
There's not one thing for architecture I will talk about computer architecture.
Some but
Operating system is a very big field. A computer architecture is is also a big field.
If you just try learning everything you can about it I mean no that's a path to a PHD.
Or more. I mean there's just you know so much stuff to learn you're not responsible for that my purpose, and exposing this to you as opposed to saying here is this book read this book this is what's in
the book is because I want you to learn
My purpose in this course as much as I want you to learn how to learn about systems
This is why I really want you to do is I want you to pose questions about what is this, and then work on how to figure it out.
Some of the things you'll be able to do it by just looking at documentation, looking at online manuals.
So I mean the man. Pages on Linux are very detailed.
Now part of the problem with them is that if you don't have a good mental model.
You won't, be able to use them effectively so I want to help get you a mental model of what's in them. so you can explore, and so you can learn more and also to realize sometimes the way you're going to
learn how something works is to look at the code or do experiments, because there is no documentation on that thing.
And in fact, most of the time when you go in your career you're gonna be dealing with complex software and hardware systems that are insufficiently documented.
The wonderful thing learning about operating systems is there's so much so many resources out there.
You just have to learn how to use them. But at the other day even that is not enough for everything.
You may try searching the there's just not the answer to your question, How do you?
Where do you go from there? How do you learn how things work?
Once you understand the fundamentals of how systems are put together.
And the abstractions in the and the way things things work.
You can answer essentially any question. This is a question of how much efforts are gonna take.
So
What other question? Yes, i'll i'll be releasing the assignment?
By the end of the week I will not be posting solutions with tutorials.
Because the solutions, the tutorials are not the point.
I will. I will be posting the assignment by the end of the week.
Anyway, we are out of time. I will say that if you are feeling confused and overwhelmed at this point in the course.
That's what I expect if you don't that's probably because you have some past experience with things you've already hacked around with Linux systems, or similar systems and you've already spent this You've already gone
through the process of trying to figure out how those stuff works.
If you haven't done that this will be overwhelming but that's why I said up the tutorials in this way.
That is very i'm looking for you to put in the effort I'm.
Looking to try to understand things. i'm gonna show you lots of things.
And you you've got to try to build this into a coherent model inside your head. And then when I give you the assignment, the assignment is going to be very specific and it's gonna be very focused on things
that you can specific answer, and then you go like Oh, I can figure this out now.
The assignments will be very hard If you haven't spent the time exploring beforehand.
If you spend the time exploring getting to understand the tutorials, you'll find the assignments to be very straightforward.
So
I want you to work through being overwhelmed learn what you need, so that you don't necessarily feel like you know everything.
But you know the path to answer the questions that come up as You go, and it's more than just looking at stock overflow.
It has exactly the question you want, and find the answer. I want you to have more sophisticated tools in there
So I will see you on Thursday. I will stick around here for other questions.
But for now i'll i'll stop this and i'll stop recording, but I can stick around for a few minutes.