© Distribution of this video is restricted by its owner
Transcript ×
Auto highlight
Font-size
00:18 Okay. Okay. Well, I have two minutes to tell you the

00:27 news. First values, I've almost all the queen. And the results

00:33 very my Some people live very well many people. New standard should be

00:44 from. Thank you. The same details you. But first of,

00:55 you should be a wake up it could also be that some of

01:00 first semester we're not gonna or So that that's only the first bad

01:14 . The second bad news is that be discourse. Pope. Okay,

01:23 group Don't worry too much. Remember we five there is a total of

01:29 quizzes or more creases. Mhm. won't be great for everybody. What

01:37 would like to do today is to about the first assignment and for that

01:52 have a PowerPoint presentation. The first was posted on Friday night because some

02:00 wanted it to have it for the . And, you know, I

02:05 they were right. And I did . Yeah. So what? Do

02:11 have the purpose off? The first is to uh huh is to

02:21 right are very simply speak shell. me go backward. Yes, I

02:33 . We'll call it my shell should able to do ls minus. It

02:40 also be able to, uh, something like being a Jew. This

02:46 easier. This can be done directly using exactly If you do ls

02:52 you have to do you pet search because the specification tell you you can't

02:58 exactly p will be too Are all arguments are separated by space or redirection

03:07 people who do the class last semester a much harder assignment They were supposed

03:13 implement Pikes Unlimited number of pipes and fact, the best implement. These

03:21 recursive implementation of pipes And you realize problem. Of course you know,

03:27 something recursive with forks in it. a big chance, you know,

03:31 run over your limit. And so he added something. And look

03:37 for instance, work out minus the Councilor words from the fight text.

03:44 here you know the greater than sign , which means input, redirection,

03:50 a separator. There is no space the value and the greater than this

03:56 and your space When those abandoned that means you know, if you

04:01 to recycle could of somebody else, know you will have to modify the

04:06 to start. So let me let review how well do that process

04:13 And so far, by the the reference for the assignment is

04:19 Always hand up, hand out as what to do. And he had

04:25 explained things. But it's not as because this creation for exactly argument vector

04:33 saw that in class is repeated. basic system calls for creates a carbon

04:41 of a calling process. Sharing it's five. That's the only thing the

04:48 and a child share, who they . A code segment that nobody speaks

04:54 . That is done haven. But know, the child doodle shared address

05:01 of its parents. Everything the parent is not reflected in the child.

05:09 could prepare little demo for Wednesday. will be exit V overrides the contents

05:16 process outer space and creates an executable . So what about fork?

05:26 every UNIX process has apparent, except first process we should create by brute

05:35 . You know, when the system ? No, no, it Where

05:43 the first human. The first human had a her parents. They were

05:49 human in some way. So So happening when you have a fork?

06:01 look at the tax skier, but more interesting to look at the drawings

06:07 . Parents in China are different address . This address space is the code

06:16 the address states of the parent, they include. It's not sharing honey

06:25 in my pocket. A $20 It could be a clone off a

06:32 bill that you may have, but not sharing it. They're different.

06:42 for returns process idea of child The Return zero. So first example.

06:55 . Seabrook program includes Ustream. They've Standard Fork. I do see out

07:02 offline. This will print two lights after the four, because we run

07:09 the parent and by the child. way to look at it is the

07:17 world. We have a fork for a child parent and child run the

07:22 code waiting for child completion. Wait zero wait for the completion of any

07:33 . Now what's happening is defined as the child sorry has already complete that

07:40 have some kind of error? No. In fact, it returns

07:48 . This is because, as most you now unique keeps track off the

07:55 that have completed and have not been by the pound. Yeah, any

08:03 or all Children. But I need . So he returns any child.

08:09 . So let me this way. suppose you're president. 4 to 20

08:14 to wait for the completion. You a loop and you do wait 20

08:20 . You will see things will be little bit different when we'll we'll go

08:25 be friends in p threat. You , the snow wage called a joint

08:31 the joint is is specific to a threat you are waiting for. Anybody

08:36 already program with the French? they are fun. Except the call

08:43 creating a threat is and passing arguments the parent and child. You have

08:51 . You only pass only one argument it has a type voice. So

08:57 you have to pass, then you pass them instruct or even a

09:01 . They're all the same time. other example here. You know,

09:05 have the cease types this rage can't . If KP I'd resolve before

09:18 That means I am in. The is on child. I am the

09:21 process. The child process here executes in original program. So here we

09:31 one program creating two processes and we underscore exit zero, which is abnormal

09:41 . Some of you may be tempted use exit instead of underscore Exit

09:49 It's not a system call. It a function that calls underscore, exit

09:56 do a lot of crazy things before that, including rewinding input Far,

10:03 , in most program will have to . The results you will get will

10:07 fun but unpredictable. So you Exit off the faith y zero.

10:14 can explain to me why we have zero. Sorry. It was

10:22 but what? Zero doesn't mean No error, no error there Tradition

10:31 the eunuchs world and I've been explored many or others is that there shall

10:38 no completion messages if things happen So you now UNIX. It's not

10:46 your grandmother. Are you happy to a grandmother make a good test cocoa

10:50 you? Are you not happy of ? And the world. Yes,

10:54 , yes, yes. You if you have to thank you for

10:58 with my mother, how I learned sue my buttons myself, it was

11:03 with myself. Then you have to so many. Thank you.

11:08 Okay. Well, this gave a nice picture of my personality, but

11:13 not right. So what you have is the error code. Everything is

11:21 different ways for the child does our for any process. The process,

11:28 course. Big. You will need use code like this because in your

11:35 program, you will have to wait the completion of the task created by

11:42 . Exactly. Exactly. Exactly. . P Exactly. While does the

11:51 search for you for both. And cannot use other thing. You cannot

11:56 it system. Why? Because if were writing your program with system is

12:02 simple. You will read one line system with that line. Go to

12:08 next line. And so far, system essentially takes a string of

12:16 Interpret them by, like a comment the shell. Exactly. Exit v

12:25 path. A argument vector in the vector. This scripture will be

12:32 Argument Vector is the first argument is short name off comment, though the

12:43 buffet and then the other arguments. you program with our CSI, our

12:49 , you say, Well, there argument vector on argument count here there

12:53 no argument. Count its simplicity by and no. So here we have

13:01 description off exactly with an argument count to name of the name of the

13:08 executed and the and the argument. the way, the shell is not

13:16 flags in UNIX flags with the minus They are. They are things which

13:24 specifying options for the command. They're names of FARC's. The shelters,

13:29 process them is of each program, that? So it happened. Ls

13:36 the convention that the flag start by . You will not this end.

13:41 modern programs the flag start by minus and other stuff. There is no

13:48 . People just, you know, the convention because off social pressure.

13:54 the system doesn't have any way to deal with flax, which gives the

13:57 simple, exact the exact VP we You cannot use them. So

14:06 You will expect here is to have like this for the dynamic creating

14:15 If process idea off. If the pages off our problems and presidents,

14:21 I should have better. So my there I will take XXV p My

14:28 argument I had working to with finding . Exit one here is different.

14:37 code is not zero. It's one . Why? Because normally the underscore

14:44 be executed. Exact will take place over that, if you want to

14:51 about it exactly. It's like programming learning in a different way. Thing

15:01 that let's suppose that when we're arriving at the University of Houston, they

15:06 a big helmet on your head. you learned before coming to Texas will

15:11 removed and replaced by new stuff. , for instance, you learned engineering

15:21 with the metric system. Forget about . We go back to the British

15:25 here, and, of course, program you to to drive the right

15:32 of the road. So when you that here and here with a pound

15:42 , so yeah, we'll show you very basic shell, and you will

15:47 once you look at the shell It give you a picture of how your

15:52 should be. Some details have been , for instance, from the problems

16:01 , the handoff subjects that use my as the problem. Why? Because

16:09 you shall will be working, he look very, very close to the

16:14 shell. The big difference would be special character here. We know to

16:21 characters Greater van unless of them. else. Vertical bar for pipes normal

16:33 star Normal corrector So my column normal Everything is just normal. It's wonderful

16:42 you. If you ask you To treat all those special corrective letter

16:47 does it will not be after It will be a semester project for

16:53 people maybe an extension for next Now what you will notice also is

17:01 you can, if you want, five school. It's semi colons,

17:05 colons X y z. Now the problem with those fives they're not that

17:12 to remove with a normal shop. we prefer you to thio to know

17:18 you are into your shell, my and nothing the normal Shanteau avoid doing

17:24 Surprised? So what we do here lie italics. Iconix means that it's

17:34 you have to write yourself part of input line, and to get the

17:38 vector, you parse. Er is straightforward part, sir. Remember,

17:43 needs to stop for consecutive blanks and detect greater than less, less less

17:53 that. Once you have that, have essentially a list off arguments on

18:02 life you need immediately to extract the after the lesser Dan. And after

18:11 greater than we do, So I direction. You will never pass them

18:15 the program, then up. Then know when you have done that,

18:20 built in argument. Vector zero sum are built in, for instance,

18:28 . Commit to terminate the shell You call a program to do that.

18:32 shell terminates itself after taking care killing the the background processes that's specifying

18:40 hand up. Well, you have a commerical of BG for background,

18:47 I've created for you own fun. means the process is to be sent

18:53 the background. What follows So those two, uh, two built in

19:01 . This a third one change directory . It's not a program that shall

19:09 that. The shelter do itself because , the shell changes default directory.

19:17 if your modified the state of the , you don't execute a program and

19:21 system called to use its CHD ir supposed to find that on your

19:27 But still you are here in I will tell you to you.

19:33 you know that you have the catchall . Do it Implement that handles the

19:39 off BG Seed you on here. we sort of built in command.

19:53 thing fine path Find Pan is not extremely simple program. Find Pat reads

20:04 path and breaks the path into that off possible directory names. So find

20:21 path essentially start by parsing. The difference here is that you parse stopping

20:30 columns. There are no tricks. , you know they So you get

20:37 list off the directory So I should like this like this. And for

20:42 of them, you have to check there is a binary that's execute herbal

20:51 . To do that, you have use a command called access and you

20:56 for X underscore. Okay, Then when we have found that you

21:09 . Uhh ! You have found the name of the command to execute for

21:14 it will be slash being such a so far for all the conventional take

21:18 time. So it's only you iterative trying all the director is the right

21:23 . That means that essential to the being played by, uh by the

21:33 list is the order in which each center because you search in that

21:46 No, What do you do? a you fogged the process You do

21:53 your direction in the Iot process mawr the EU redirection That's very easy is

22:03 few lines of code. Then you the exact with the full path name

22:10 their agreement factor that you have Remember the argument vector. It's simply

22:17 on your input line and you remove it. You know the redirection code

22:23 part of the command is um then know either processes interactive, which is

22:29 before you have the apparent waiting for child because so, yeah, finding

22:38 right execute hable, you do a in your path. My but its

22:47 your local is being used uncle being ? Uh huh. And you

22:52 how do you get that? You it like string copy into a

22:57 get environment. And then, you , the backer gives you the whole

23:06 . Then I told you, you it into a directory on Max in

23:13 campaigns one one directory that you can and you try them successively. What

23:21 do, for instance, suppose that program that you have to execute it's

23:29 bozo. Then you spite slash user local slash has been slash Bozo,

23:37 it execute herbal? Yes. A founded. Otherwise it slash use

23:42 following balls. Oh, no, , no. And at the

23:46 you can have a good program of on. Then you paint a message

23:52 or fun. Are you sure this explained? Here, look here.

24:01 I'm doing is oh, I need to I I'm not sure I do

24:10 to have a flash here. here I show my I like to

24:20 print spring we that brings in the string directory, string argument vector.

24:30 a few things. Let me see I need to add this slash or

24:39 . Probably Yes, I by the . Yeah, as sprinter. And

24:52 scan it are you friend, because can do a lot of things.

24:56 with them. There are some So the last thing I need to explain

25:06 you is input Redirection. I have shall construct here, work out from

25:19 . What does it mean? the static input off word count is

25:25 by content with five other ranks so getting its input from summit input

25:32 for the country, this is a powerful construct because when you write

25:40 you know, tech space programs in shuttle environment rather than opening fires,

25:47 know I use are your redirection It's much more flexible. Let me

25:55 you a new example. Thinking about off the graduate students we like to

26:03 our first assignment simulation off process, through pews in a computer, you

26:14 , to process arrived, going to , you the game Really CPU go

26:19 the dish or there's a way to for the disk and so far,

26:23 you know, of course, the A s want to test the assignments

26:27 not exactly the input that was sampling given by the students would like Thio

26:33 try something else to prevent people to a program that will just bought that

26:39 . That means you know, that would like to ta to be able

26:42 have different far input input five with system is very simple. You to

26:49 changed that. But what if you a hard wired named for the

26:55 Fine. It was the work then right thing to do is okay.

27:00 know, at the argument vector off program. You have the name on

27:05 fire. You check your argument. is correct. You reject if people

27:11 to put it. And then you you read the staying your opening

27:16 And so far, this is a of work for nothing. So I

27:19 to do that. So how do do? The are you redirect First

27:26 opened the fight and he opened in only by doing almost all right declared

27:38 the proper includes So it's a responsibility addle. The program includes So your

27:45 How do you which includes to use instance, I will type man open

27:51 man too you give me a description what opens Supposed This description is not

27:58 user friendly, but has in the although includes a need to being

28:10 Then what I do, I clues . Why do hello? Matching?

28:20 have the five, the scripture for five and I do pit Make a

28:25 it where I would have to create new file Descriptor pointing to the fight

28:33 scripture there Which new? Five of ? Oh eunuchs always speaks the first

28:42 entry in the find The script of Yes, normal. If I use

28:50 the next five open be five I that will be six and so

28:54 But here rigged the game I closed So what's the first five descriptor

29:02 Zero Because it makes available. So what? After this thing here I

29:13 redirected the input in such a way where the program we'll try to read

29:22 zero senate if he will really stand the fighter scripture. Bingo. I

29:28 almost up. Why almost now? have the Paris staying here. I

29:37 need FD anymore. And after a to get rid of so very bad

29:48 . Yeah, you were in the . First three prepared. It's not

29:55 fault. Yeah, this is good but we want the That's transparent.

30:07 . Take care. The other Yeah, I need to. They

30:16 funding view, activism rule Frankfort First I opened, uh, five

30:30 read A remote I closed Stand Create a duplicate of the five descriptor

30:38 will be extended in. And then , the final scripter. My work

30:43 done. Officer direction here. What have is that you know, I

30:50 to make a listing. What's in directory minus l long listing. That

30:56 that I d list the culture of directory and I supplement each entering by

31:01 fetch from the i note of the . So access control list, you

31:07 , Name of the owner name of group. Last time it waas

31:14 And you know, the thing thinks like it like that. And then

31:18 I would like to do is the here should be redirected to this

31:25 So the speed is very simple. know, I opened fire directory takes

31:37 right, always. But in many you were direct the output into a

31:46 that doesn't exist. You wanted to creative. And then, you know

31:52 open system called has an option. , underscore. Creates. They

31:59 you know, when you try to the fight for writing into it.

32:03 the five doesn't exist, created by the way, it's interesting to

32:14 how those options are. Who represented ? Essentially, it's a macro for

32:29 big map Means you and the 32 word and you want it up saying

32:34 option time, Look at all good exclusive or so We're whoring all the

32:43 maps to say all the flags being raised. No, The last thing

32:48 is the little mystery stuff. Why we have that? That somebody explain

32:52 me what it means? I yeah, okay. You create a

33:01 five, you have to give some full permission here. You know,

33:07 use a crass method to described it octo. When I was in school

33:17 just a long time ago, Octel the barricade. Why? Because when

33:22 have a bite, architectures is easier do it in Exodus symbol, but

33:29 started before I became very motivated to something in computer science. They were

33:35 doctor. Article six, 44 It's There's six is 11010 while for

33:49 let's restart 110 year old 10010 That I created five, which is right

33:59 by Neo Lee and readable by me everybody else. All the five

34:04 I don't know if I care about . I could put a better protection

34:08 be five months. There are Stand out to eat a duplicate of

34:14 five at the first available space. this the first available space is what

34:24 I redirected here and that close. marvel that you have is that everything

34:32 is very basic UNIX is in simple. When a assignment repeat threats

34:39 synchronization purpose, you will see the calls for patriots are long. But

34:47 now we have. We are living the real off simplicity, which is

34:57 , so I will end. It's show the questions I give you until

35:11 tend to do the assignment. The will require some work to decide how

35:18 use the system calls. Otherwise it's a hard assignment. The key thing

35:25 to ride good partial. You have have one part for the scanning

35:34 One part sir, for breaking into fine names into You know, the

35:43 names the path strange, but that's . You can even, you

35:52 try to do one scanner doing That, except that the scanner for

35:59 import has to recognize security for That's for that. So it's a

36:04 between duplicate to duplicate simple program or more complex program doing both. If

36:13 have questions, you know, in . Also, keep in mind that

36:18 have Ah, you know this guy by the way, I still have

36:28 issues with the way the system recovered the big crash, when I lost

36:34 all my data. The system only the data for my W W.

36:41 directory, which is the one visible the outside world. But everything I've

36:47 , um, this system is lost . The good news is that I

36:58 that because starting a long time I decided that the system of the

37:05 was not trustworthy and I shall be on my own data, Which means

37:13 , you know, I'm very sorry lost all this stuff, but it's

37:16 contain anything interesting relief. Who this ? I lost data from before I

37:26 here and I was a Purdue. I still have probably some old

37:32 Uh, you know, whenever You. So what I did is

37:40 I and that posting everything off, some low pizza, has now a

37:51 entry called papers with the pdf off papers and also the Paul Paul representation

37:59 will use for this lecture. And the next lecture, I will start

38:06 presentations about, you know, more memory. And this time I need

38:17 talk to you about a very nice . Sorry. Yeah. You submitted

38:31 Blackboard. And what? I want to explain your assignment to the why

38:38 do that too. She their shells around Hi. A few things to

38:51 them less off this off. But you have to explain what you do

38:59 . So I Hi. Maybe raise hands high, in fact.

39:18 Okay. Hey. Yeah. stop signaling well. The third Society

39:47 For they from that? My Some old computer. Okay.

40:07 Yeah, very good. Well, when you don't exactly one himself.

40:25 , Poor. You see there. ? Yeah. Oh, for

40:36 of course. Experience was likely Right? Fight of available to

40:51 Yeah, no problem. Uh Fine. Right. Are you?

41:20 . Holding for right people, want to Valley software people?

41:39 Ray. Parole. Yeah. Time . I understand. Maybe by the

41:49 . Yeah, the doctor. People here, the book, all

42:04 Yeah, Yeah. Mhm. Or before these scores. Space

42:29 Sure. And army. Nothing The problem? Horrible. But,

42:50 know, we need to embrace the and realizing that that's the way to

43:00 that. So I need That's a bad idea of going there, but

43:11 happened there. So what I will instead, I will go to directory

43:21 and go to the directory of a point because I want to talk to

43:28 about Mac trying to do that Okay, So is recording beginning?

44:50 , go and get block in the . And it's important because you find

45:08 off it in, Of course, ah, Mac os Stan Mac,

45:19 next step in France and also you know, in the in the

45:29 virtual memory to speak of the Pema I will show you there. But

45:35 me, the most interesting stuff is they explain to you how really to

45:39 the virtual memory outside of the confines what Berkeley UNIX did, and they

45:46 here three important new issues. Extra . Concept of inheritance. Copy

45:54 The paper is horrible. Good. to read it. It's a short

46:00 off other disturb Indians dissertation at Kennedy . The Mac team is really

46:09 This macron's developed in academic environment. you know both the adviser and you

46:15 he went to the industry regression. went to Microsoft in a have a

46:23 of Banyan went to Apple. First went to next, and then we

46:28 to our and evidence. Dominion is guy who brought Mac OS that as

46:36 way to get out of the old systems. They were basically a glorified

46:43 , but very little things for providing from modern computers. So show the

46:50 very poorly done. What I did that I don't know it a long

46:55 ago. I have a list of , exhortation. I read it and

47:00 the paper start to make sense with . And I wrote a little one

47:04 summary off it, and I put name on it because normally when you

47:10 a summary, it's just, you , a hack. But I believe

47:15 making sense off that paper wasa creative . I'm proud of it. So

47:23 general objectives to be exportable as UNIX memory system while supporting more functionality match

47:35 explain to you why my prize are , why we should embrace them and

47:41 through page inheritance. In fact, beauty off the skin of Mac proposes

47:50 to save the lightweight processes. And processes are just a special case off

47:57 way you do the form nothing more that. Also, they want to

48:04 multi processing distributed systems and large address is supporting multi processing waas. That

48:13 something that was dated in the sense you know, in the eighties,

48:20 believe that the future will be taking lot of cheap microprocessors putting them together

48:26 say, Oh, no fast you start a simple as that.

48:31 when you put together several multi processors a problem cash consistency. And this

48:39 a message item. So, you , for most of the nineties and

48:44 first use of this century Okay. processor. Yes, they are

48:49 Okay, yes. Forget about Now we have multi car architectures which

48:55 basically built in microprocessors and is yet . If you're BMB, If you

49:02 armed now, cash consistency issues are for you. So let's try to

49:09 by looking back to virtual memory and you buffering? And we look here

49:16 this picture and how do we Are you posted compared virtual memory on

49:26 left, you have virtual memory, essentially you have the process memory and

49:32 have a swept area. And when get expelled, if they are

49:38 you can record them from somewhere. they're dirty, they put back in

49:42 swamp area and they recovered Lee. the whole thing you realize because you

49:50 those transfers are transparent to the Those things they happen, you

50:00 by magic. And that's the beauty virtual memory. Your address space of

50:07 program is managed for you with some of the space in main memory,

50:13 parts elsewhere. Now let's talk about system courts. Remember that any system

50:21 will use, we'll use some card attracts. That means the transfer during

50:26 audio buffer and that this drives are to you. You do know what

50:32 will happen or a reasonable amount of . A few seconds. You can

50:38 them to happen by doing a And so far, nobody. You

50:41 this what the user controls of the calls between. Are you a buffer

50:49 made member? So essentially your vision when you do a read or write

50:56 your program is that you're just specifying between the main memory of your program

51:03 above. Right. Good. The spell so far as being This is

51:15 because you read and your rights do result into a disk Access. This

51:23 are very slow. Do you have there very, very fast.

51:32 but was the cost of transferring something the main memory in a buffer?

51:40 to context switches. The big rule you should be aware is that anytime

51:47 ask the colonel to do something trivial a program. The most important component

51:56 the cost is the cost of context . You are the example in real

52:01 , The example in real life is simple. You call the plumber you

52:08 call the plumber because you know, need to in style something new and

52:12 far. Or but sometimes you call atomic I'm a dripping faucet deployment,

52:21 . Cut the water and screw something , but a newly little piece of

52:28 or whatever back it will take exactly minutes. You get the bill from

52:34 plumber won the $20 Why? The was dominated by the cross of bringing

52:42 plumber to your home house. Call for the house girl and then peanuts

52:50 once we have the same situation But what I want you to notice

52:58 we have experts transfers here controlled by programmer. We had implicit transfers here

53:05 there. This implicit transfer make me that maybe there are more similarities between

53:16 fights. Have managing the virtual memory we're willing to accept. So we

53:25 the next slide, saying that in English, my partner. My friends

53:36 say Okay, unless you the virtual for everything. So when I open

53:43 file, I will associate with Manu , some range of address and my

53:49 memory, and then it will try access it. Fold, fold,

53:55 , fold, fold. I bring in so my read still exists.

54:01 they read inside my program. I get rid off the reeds completely and

54:09 Just, you know, my client honoree advice and access it using c++

54:16 for for by Tory's I could also I know I want to keep the

54:22 function, but those becoming the every extremely, extremely cheap now, what

54:28 the rights? Well, when I things, I just modified the bytes

54:34 memory and then, you know something the external page. Here, we'll

54:40 track off them till we need to something with that. When I modified

54:49 in my memory, corresponding to a off my father, you know,

54:54 be explored, why do we call pagers? Because they're not normal

55:01 Noble virtual memory system. When you your program bagels your memory here.

55:08 , When you close your program things thinks that to be saved. And

55:14 far so what we do here when process opens, a five full five

55:23 into the process, no data and then we bring the things on

55:27 man. What if you want to the five, you're going to share

55:34 . Second, So the Mac implementation to say, Well, okay,

55:41 have the usual virtue already paid. disrupt area. And this is responsible

55:48 one address free. Here I have not filed, and I use on

55:58 pager in the park system and this different rules. The biggest difference is

56:04 everything being modified needs to be saved , rather than being wiped out in

56:10 front. Do remarks there first. is a strong motivation to have larger

56:24 space. 32 bit address space works . Provide You don't open too many

56:33 files. Otherwise, for gigabytes is a bit tight. So we moved

56:45 64 date address spaces realize that 60 be to virtual memory is way too

56:53 . And then we settled for 48 ad and this already create some problems

57:02 the page table because we have, , several levels off page of pages

57:13 for you, the programmer. Nothing to change even though into address

57:20 you can still use all the system used to accept that their library function

57:27 the benefit is that library functions are . It will be different from scripting

57:36 . But you know, you program Java c++ or even the old see

57:43 function calls are very optimized. Some you have been in school for a

57:49 time, and I'm sure none off got a note on a program great

57:57 ta. You have too many function . Make your program ma analytics or

58:03 fashion? No. So it's wonderful . Little problems, which is my

58:14 worry here. How do you know exercise off a five before all the

58:20 were done through system problems. Now receive pages you find a tricky all

58:27 problems. The right I've done in speaks being guarantees they are coming.

58:37 means that multiple writers accessing the same will be even less reform. The

58:46 to that. It's a very simple . Unique fives are rarely shared,

58:55 when they're shared, Ihsan read all . If you want to share five

59:01 write mode and you know basic locks not are not sufficient, call it

59:08 database. They're essentially, you multiple conquer and writing to a

59:15 It's a database with data base base people they killed that French or lightweight

59:28 shared with her space on their parents be kernels supported or implemented user

59:35 The trend started to be implemented at level. I know they are hybrid

59:40 where they are half wish Colonel supported . I'm trying to use argument for

59:48 level. Something worked very well, for girls supported. This is essential

59:55 you want to do multitasking inside a . Now that we have all Tyco

60:02 , we like for some programs to able work and several course at the

60:06 time. Mark Virtual Inter Fix. Mike was designed, there was not

60:17 simple uniformed model of virtual memory. was quite the opposite, you

60:27 as the youth of the sixties experimented several ways. The architects of the

60:35 experiment with different multi processors pictures, so far, in this sense,

60:43 you look at architectures off computers. living now in a boring world where

60:49 is marriage with intel architectures, you a magic it Intel chips inside.

60:57 that's a real problem about, you , giving a user interface and be

61:01 for think and everything. They decided it will be consistent and even

61:09 even though some of the features will participle by some machine, the future

61:18 be present. But if you're around machine X, you go to a

61:25 . Full support for multi processing support and everything. Modular paging means

61:32 essentially we do mapping by giving external that mapping to the five system some

61:41 and also recoverable virtual memory. Everybody about recoverable virtual memory. This is

61:49 atomic transaction atomic transaction. He's that bring or system one state A to

62:00 B, and either it's successful or to state A. The best example

62:08 the atomic transaction is when you purchase on one hand, you you have

62:18 money and you have promised off alone hand. You have the owner,

62:26 is probably a alone, too, reimburse and expect some cash and a

62:32 of face could go around now the will be patients and so forth.

62:39 it's certainly what's happening is that you , you go to in this

62:46 officer, and essentially they decide to . Dozen of paper, literally.

62:52 bought the house, you know, spending time signing, signing and then

62:59 magic is Either everything goes through. have the house, give the guy

63:06 a cash the alone. It's paid . You have a new loan with

63:11 . Nothing happens. Then you go . How do you implement that?

63:18 great idea is recovered from virtual You start their transaction. You do

63:25 only operation in virtual memory. Special . That means that before you modify

63:31 , they have Old State. And started somewhere on this. Then they

63:37 , modifying, modifying, modified. yet everything is okay. Pass the

63:40 . Shave the old state, Save new state. Something is that Roll

63:45 to the Ulster and Mike was used in the eighties to do a very

63:53 and rather Slover transaction management system. memory made in place. Problem waas

64:04 incompatibilities? Yes, because they were on multiple machines. Culture is that

64:10 previously previously is designed for the Intel . So be is the virtual

64:17 the one that will know Berkeley essentially , assuming that everything will be like

64:25 . I heard a lot of stories that. Like I post classical Cirque

64:29 C is because all the PDP live then actually, so far. So

64:36 thou, uh, unique is architectures . They were influenced by what's happening

64:47 . So Mac designs won. The of the architectures need mutual.

64:54 So they did. The structures there a virtual memory were designed to be

65:04 independent off the system. And what they do? First, you have

65:11 realize most of the time the colonel's have to do anything with virtual the

65:19 main memory. And the only thing do is that is keeping the big

65:26 more about it. You'll be, went, so you know the big

65:35 to be dealt with. It is to do when there's a page fault

65:39 we have to bring a new and so otherwise nothing. So the

65:44 structures reason pH tape of memory object map their private to Mac. The

65:52 rate is not residents they stay track , which means that main memory memory

66:03 , a memory object is staying clean there. Area Are you backing story

66:13 area? I do like to stay object, but we'll start with address

66:21 . That's essential. And when I through the next slide, I want

66:26 to pay attention to it. Then . Sometimes the colonel has to interact

66:33 virtual memory. We're being paged limits and therefore there we have the

66:40 which is the memory of being the . There's a hard way if they

66:46 . And then, of course, interaction between those three day blocked while

66:50 is basically reporting. But all the dealing those three tapes is very

67:01 No, the address man. Let's it here. It's a circular.

67:11 know. It's a Double Inc Why do you go through a link

67:20 ? Essentially because they will not And because we use access them

67:27 The only exercise address map one of page. Hold on. When you

67:32 like what? Three pollinators? First working. Remember that what we saw

67:49 address ring the temptation to say, , we handle a code segment and

67:58 for five and so forth will will to use a segmented architect. Segmental

68:05 are pain in the neck. Use program because you cannot move large at

68:12 space. The segment boundaries do You know, Mike decided will be

68:19 . Race in virtual memory from this has this is marriage and what he

68:32 you Rachel address. It's not this so range here. It's supposed that

68:47 side object is the execute herbal somewhere the file system and we started

68:56 Zero For all this range of We get this protect and you

69:04 since he is a good segment, good segue, Monday's no right

69:09 maybe readable and surely exist pointers here for the nation. Now we have

69:19 specify the inheritance inheritance. Say, do we do when we create a

69:27 ? Using for the code segment can shared with parent and child. We

69:36 pretend they're totally different, but nobody see the day just like you

69:41 if you're around gcc um, Iran . We will fare the same code

69:47 and believing we have to some The truth is that read Onley data

69:53 be shared very easy. Then you he say Well, okay.

70:08 I took you the semantics off the for the files. What's happening when

70:19 for you know, the charge in often find So basically I the range

70:26 reversal fights is shared because of this of a range of address I can

70:35 read only find I can access read finds for So I have all the

70:42 here to do two things first to memory in that trial and I also

70:52 on the have also that great processing Attribute here three value can be copy

71:06 . Don't do anything. Forget regular roots segment. We shared China copy

71:17 data segment and we we can modify evaluation Mark possible posed as much as

71:34 evaluation of tasks because we suppose that be unnecessary. So copying whole data

71:43 apparent process before what to do We use copyright. Sure, you

71:49 back. There were enforced all that . European writers are the present accent

71:56 so far I don't think I need explain that in too much. The

72:00 is getting close to the end I finish page replacement policy. They wanted

72:08 page of priests and policy that waas nude. The dummies will probably implemented

72:15 there any architectures. So they decided use a very simple one. What's

72:24 is that the memory is managed as large global fight for pool. Why

72:32 ft is very simple to implement does require any special hardware to do it

72:40 we can do on any machine. problem is that 5 ft does not

72:46 between pages that are being used repeatedly pays or used only once, so

72:54 pretty terrible. So what's happening here expelled ages go on a second chance

73:04 view and they can be reclaimed on you If you get access, then

73:11 know, when they moved to the que they find felt. I don't

73:18 a the slides. You think But, you know, they were

73:25 . What? Have a page reference available. And then they say,

73:30 we can refine these and minimizing the transfers. And so so the only

73:39 of policy is that it does not real time process. Advantage is very

73:49 . You could be tend to Hey, it looks like a little

73:51 like the Windows Policy is the ancestor policy. No, the Ancestor Windows

73:58 Waas, the VMS policy and this dated by several years. So it's

74:03 simplification we could think about locks and . Oh, deadlocks are a

74:18 We heard in any course supreme system section about that log prevention have Berman's

74:26 condition and then any good in You This is wonderful in theory,

74:31 in practice, you know any system you have exchanged messages car Vermant conditions

74:39 be Yeah, you read out. Here they were able to deadlock prevention

74:46 building system did not free from the . So this is interesting because this

74:51 a case of the theory. Works works absolute now total sized machine dependent

75:01 of 3rd 16 kilobytes. Do memorize the big for a copy and write

75:07 to implement efficient message passing between custom same machine you know normally, when

75:15 do, exchange of data between two in the same machine. You have

75:20 methods. The fast methods is shared to save Methodist Church. If message

75:29 nothing is shared, You know, are you data? You do whatever

75:34 want with them. Take damage so , Mark as accent was doing

75:41 Use copy and write to say, , this is shared. But I

75:46 see what you are doing, and can see what I'm doing. So

75:50 had the benefits of both shared What are shared library? When you

75:58 programs, you will notice that many those C programs and so forth use

76:03 same libraries the libraries air read Why not to share So essentially,

76:09 you do with shared libraries that when load the programming to main memory below

76:15 binary, you do know the libraries already two main memory them if need

76:23 , use them and very much more in doing. I want this list

76:28 being wasted by multiple copies Thieves, . And also, when you fetch

76:35 , you fish in the past come the market problems with inverted based able

76:47 rt The machine no, for forgot paid stables, but they were using

76:57 based tables. Also know a hash eight. They were one hashed paste

77:03 entry for memory frame in main memory the sister was designed to make it

77:13 to implement. Shared PhD. I . They've had to belong in one

77:18 or so the Mac implementation rt of based table means that, you

77:24 they changed the thing about it. page stages, like some of the

77:31 to passport in many case, is simple, very convenient. You gain

77:39 your nationality, you keep the previous and sometimes you know one passport gives

77:46 access to some countries or the other go. For instance, even American

77:51 is a visa to go to I am a Belgian citizen. European

78:00 . I enter with no problems that some cases impossible. So essentially,

78:07 way they do that here is you ? Okay, you want Texas saying

78:12 are Belgium, then you want to on your passport, OK, you

78:17 become friends, become belt. Mac offers the future. Wanting you

78:24 very bad comments paper. It's hard read but cover sort of ground.

78:36 the concepts, read my summary, by the power points line. You

78:48 it took me sometimes to make the with the with the page table handling

78:57 the address. Strange. I spent for a reason. This is fundamental

79:03 the way Mac work, so pay to it more about Mac. Toe

79:14 provides unique simulation through either unique simulator the kernel or are unique simulation server

79:22 use the space. So they tried do a micro Carla. Of

79:27 micro kernel introduced extra context, which they are not a good idea.

79:35 even try to emulate unique through a of specific servers, all the use

79:40 space, the loose project heard. think this is finished. The staff

79:50 stopped. Question for the for grace now Lennox is an accident. We

79:58 have a new operating system. The team and Richard Stallman wanted to write

80:07 whole upgrading system and they start. they use this hard approach because they

80:16 told by the smart people. That the way to do future. Belongs

80:21 micro kernels and micro kernels will have modules. And so forth was a

80:28 Stallman extended How it was making the complicated, difficult, and making you

80:35 fast was even more difficult. So happening is that the new project to

80:41 with a hard colonel went to nowhere you have this guy in Finland that

80:49 a colonel specifically tailored for the intel of the time. And he got

80:56 project on time and running with a performance. That's why you have this

81:01 slash no system. Which means that believing the gospel is not the rial

81:09 to do things right. In the designer off Lennox, the Linux

81:21 did the thing they were not supposed do, but it was successful and

81:26 the competition, so that should be little inspiration, So Okay,

81:44 with a

-
+