Hello dear learners. So today we are going to learn about Operating System which is a part of your third semester course in MCA and MSC-LT, syllabus of Krishna-Kanta-Handik State Open University. So today I will talk about the first chapter that is Introduction to Operating System. So I have divided this chapter into three segments. In the first segment we will talk about the definition of Operating System and its objectives. In the second segment I will talk about the Operating System Services and in the third we will talk about the classification of Operating System. So now let us look at the definition of Operating System. So Operating System can be said to be a software which acts as an interface between the computer, user and the computer hardware. Now all of the Operating System needs to fulfill three objectives. So the first objective is ease of use. So basically when we use a computer we use a lot of devices along with a computer. Now each of these devices they have a device driver along with it. Now it is the job of the Operating System to issue commands to this device driver so that we can issue commands to the particular devices. So that is the ease of use. That is we do not have to give low level instructions to the device because as a Operating System it gives us the high level commands to the device which gets translated to low level commands for the devices. Now the second objective is efficient utilization of resources. So in here the Operating System acts as a manager so that it can allot the different resources to the different users or different programs that are asking for those resources. So now let us look at the third objective. So the third objective is ability to evolve. So the Operating System needs to keep on evolving. That is it needs to keep on improving itself by adding more functions and more resources to it. For example if we consider Windows we have a number of Operating Systems that have come up within the years. So we have Windows 7, Windows XP, then we have Windows 10. So on every Operating System needs to evolve. So that is the third objective of every Operating System. Now let us move on to the second segment. So in the second segment we will talk about the Operating System services. So mainly the Operating System services have been grouped into four categories. So now let us look at the first category. That is program execution and control. Now all the services that are related to the program, for example creation of a program, deletion of a program, allotting resources for that particular program, all the services come under program execution. So allotting space for a program execution is also a service that is done under this group. Now let us look at the second group of Operating System services that is IO operations or we can say as input output operations. So all the input output instructions, the input that we give to the computer, the output that we get from the computer. So all these operations come under the input output operations. So this takes care of all of that. Suppose we need to print a file so that instruction will come from this part of the Operating System. Next, let us look at the third Operating System services which is file manipulation. We know that all the data we have in the computer are in the form of files. So the creation of these files are in the directories, the deletion of the files in the directories plus opening a file, reading a file. So all these functions are supported by this file manipulation service of the Operating System. So now next let us look at the fourth Operating System service that is error detection. Now let me ask you a question. So if we try to open an MS word file in a VLC media player, will it open? No. Yes. Why no? Because the format won't match. So how will it detect? Now who will detect that we are trying to open a word file in a media player? So that is the jump of this error detection part of the Operating System. So here we have four main services for the Operating System. So now that these four services can be again grouped into something sub-services. So now let us look at those. The first sub-system service is Process Management System. Now the services that will come under Process Management System are allocating the memory to a process, creating the process control block. That is it will keep track of where the program starts and where the program ends. The memory that has been allotted to the process. Also the life cycle of the process that is every process has a life cycle which we will again learn in the second chapter. So there this life cycle that is also managed by the Process Management System. Next we have another service that is process scheduling. Now for example let us take two processes P1 and P2.  Simply there we have a program let us say a C program when we execute it we simply say that it is now a process. So let us for example take two processes P1 and P2. Now I have only one CPU and I need to give I need to execute both of these programs. Now who will get the CPU first and who will get it the second. So who is going to take the decision. So that decision is going to be taken by the operating system. So the operating system will take that decision whether we are going to follow first in first out scheduling algorithm that is whoever comes first will get the CPU first or assortage job first. That is whichever execution time will be minimum will offer the CPU to that process first. So whether we are going to follow this strategy or this strategy or any of the other strategies that are available. So that decision is going to be taken in this service of the operating system. So now let us look at the third service that is memory management system. We have in our computer memory someone needs to keep track how much memory is there left in the computer system. How much memory the OS has captured. How much suppose we have a new process that has been created. How much memory is going to be allocated to this process from where that memory will start, from where that memory will end. So all this are being taken care of by the memory management system. Also when a process is created memory needs to be allocated. Similarly when this process has been terminated so memory needs to be deallocated. That is here it also keeps track of the free spaces that are available in the computer. So when we need to allow the space to the program it will allocate from here and when this program has been terminated again this space will be kept track of by the free space management that is part of the memory management system. Now let us look at the fourth subsystem service that is file management. Now we have already taken talking about file management that here we are going to take care of how the file is created, how file is deleted, opening of a file, reading of a file, renaming of a file copying a file. So all this functions will come under file management. Next let us look at another service that is input output management service. Input output management service will take care of the different devices that are connected with a computer. For example a printer, a keyboard, a mouse. So when we give a particular input to the computer that will be taken care of by the input management service. Next let us look at some other services that have been offered. So the next is networking system. Networking system gives us services like remote login and remote copy. Those are the services of the networking system. Next another service is user interface. That is how we try to connect, how we try to give commands to the computer. So it can be done using a terminal, it can be done using a mouse, it can be done using a keyboard. So all these different types of features will come under user interface services. Next the last one is protection. That is suppose I have a multi user computer system. So some of those files I want to be shared and some of those I don't want to be shared. So now suppose another user comes and tries to access a file that does not have the shared option. So that user should not be able to access my unshared document. So now that will come under this protection service of the OS. That any user that doesn't have access to a file then he should not be able to use it or read it or access it. So that comes under the protection service of the operating system. So we have completed till here. Do you have any doubts till here? Thank you. So then we will quickly go to the third segment. So the third segment is about different types of classification of operating system. So now the operating system classification has been done based on the purpose on which the operating systems were developed and the functions that they support now. So let us look at back at the history. So in what happened in 1940s. So in 1940s there were no operating systems. But what we had was something like a console which has 8 or 16 toggle switches. So this could only accept machine instructions. Now along with this 8 or 16 toggle switches we also had buttons for restart, shutdown, debug. So all these options were also available in this electronic computers at the time of 1940s. So whatever instructions we wanted to give could be given using machine instructions. Now next let us look at what happened in the 1950s. So in the 1950s we had something that is known as punch card system. So in this system what happened was punch. The program were written in punch card and they were being read by a punch card reader. So this era had SNLers high level languages. Those were written in these punch cards. So now what happened here was every user could get a time slot for a particular day and he could come with his punch card and he could run his program. But now for every user the compiler have to be loaded first then his program will be executed and if there was an error then his punch card would be halted and his program would not be executed. Plus the remaining slot of the time that was given to that user would be wasted. So this kind of system was very costly and it was very time consuming. So because of this defects we come to the first operating system that is the batch operating system. Now in batch operating system what was done is we had a resident monitor which could be seen to be the first operating system that is developed. So this resident monitor took files from different users and it could automatically execute these files and give results. So suppose the second user had a file which had an error in it then it will simply go on to the third file. Now the instructions for the resident monitor were given using something known as JCL or job control languages. So this job control languages in here we specified which job we wanted to do first and in what way we wanted the job to be done. So these instructions were given using JCL or job control languages. So this was the basis for your first operating system that is batch operating system. Now the next operating system is multi-programming operating system. Now all the jobs that we give the computer system to perform they can be divided into either CPU instructions or input output instructions. Really think about all the jobs or the programs that we offer that we give the computer to perform they can be either divided into CPU instructions that is either they are processing type of instructions or they are input output instructions. Suppose for example if I write a simple C program suppose simple C program so main so I take three variables a, b and c then I take a user input for variable a similarly user input for variable b. Let us put the summation of a and b in variable c. And then again let me display this variable c so the c program. So now we can see that this instruction this part of the instructions are CPU instructions these two are IO instructions again this is a CPU instruction and this is again a IO instruction. So all the jobs that the programs can be divided into these two categories. Now the user input instructions are very as we know the user input is slow because the human beings are very slow when we compare us to a CPU or a processor. So these instructions will take more time as compared to this instruction. The CPU instructions are being operated or to be processed by the CPU while these input instructions are going to be operated by a special part of the CPU this is IO operator. So now this will take more time and the CPU instructions will take less time. So while the IO input are busy we can offer the CPU to some other programs. So this is the concept behind multi-programming OS that while the input output part is slowly working on one program we can offer the CPU processor to another program so that we can work on two or multiple programs at the same time. Now let us look at the fourth type of operating system that is time-sharing operating system. Now in the batch operating system and in multi-programming operating system we do not have any real time interactions with the user or with multiple users. Now the time-sharing operating system gives us this feature that we can communicate with multiple users at the same time. Now how do we communicate with multiple users at the same time? What we can do is we take one second and this one second can be divided into multiple milliseconds. So suppose for example we have four users, user one, user two, user three and user four. So when we have multiple users and we need to respond these four users at the same time what we can do is divide this one second into four parts and give one part suppose 100 milliseconds to the first user the second 100 milliseconds of this one second to the second user and third 100 milliseconds to the third user and again to the fourth user. And once we have given the 100 milliseconds each to the each user again we can give the fifth 100 milliseconds again to the first user and this way we can continue. Now as a user I will not be able to recognize 100 milliseconds. I can only as a human we can only recognize still one seconds so when the computer gives me 100 millisecond time of a second I will not be able to distinguish for me I will realize that the computer has been in respond to me for the whole time. So that is the idea behind this my time shared operating system. Now let us look at another operating system that is personal computer or personal OS. This is one of the most common operating systems that are available nowadays. So basically personal operating systems are one user only operating systems. So the next operating system is parallel operating systems. Now the concept behind parallel operating system is such now we know that a CPU has a fixed speed limit so the speed view can only reach a particular line of speed limit. So once it reach its highest speed it cannot go any further. But suppose we need a work done more faster then what we can do is we can allow more than one CPUs for a particular computer. So that can be two or more CPUs per computer. So that is the concept behind parallel operating system. That is any job that we need to do in the more faster we can divide it into two parts if that is allowed and then we can give one part to one CPU and second part to the other CPU. And we can get the job done more faster. Next let us look at another operating system that is distributed operating systems. Now distributed operating systems are basically a connection of large number of computers that are connected through high speed internet networks. And very good example of distributed operating system is our ATMs that we have in our banking system. So distributed operating system basically it will give us a feel of a single user operating system like a personal computer. But actually it has a large number of computers and the CPU work can be divided between all of these computers. Next last operating system that we are going to discuss here today is real time operating system. Now real time as the name itself suggests means that this operating system has to give results within real time. That is the time limit will be given for the execution of jobs in this operating system. So and if the time limit is not maintained then a catastrophic or some hard measures need to be taken. The real time operating system has two parts or two different types. One is the hard real time operating system and other is the soft real time operating system. In hard real time operating system if the operating system doesn't give the results within that particular frame of time that has been mentioned earlier then it leads to a catastrophe. But in soft real time it can be relaxed a bit. For example of a hard real time software we can see about rockets or air traffic control. If we give a particular instruction and the instruction is not followed then it will lead to catastrophe. For example suppose India sends a rocket to the moon and we need to change the trajectory or otherwise it will crash to a asteroid. So in that case what we do is we need to give a real time instruction to the rocket to change its trajectory. Only then we can come out of that catastrophe. So that is an example of a hard real time operating system. Whereas for example of a soft real time operating system it can be something as a weather sensor. So if the weather sensor, instead of taking the weather sensor at suppose 20 hours instead of taking it it has taken 20-05 hours. So there won't be any catastrophe. So this kind of example is for soft real time operating system. So these are the different types of operating system classification that we have learned today. Let me give you a summary of what we have taught today. So first of all we have defined operating system followed by the three objectives that each operating system need to have. After that we have defined a different type of operating system services that any operating system needs to provide. After that we have looked at the different type of operating system classifications. So now this ends the first chapter that is production to operating system which is a very basic level chapter. So in the next chapter we will learn about process. So we will learn about processes and along with it we will also learn about trends. So we will learn about the process, what is a process, what is a process control block, what are the different life cycles in a process, what is a thread, what is multi-threading, different types of threads. So all this concept we are going to talk about in the next class. So thank you for listening to me today. Thank you.


So I missed this. I remember watching it and I think that I shared it on Twitter But I really wanted to talk about this with you all on stream, but I never did but now I'm gonna do it So back in August of 2021 David Fakman got a call from somebody who was absolutely ruthlessly dragging all of independent media David Fakman TYT and also myself, but I think that nobody was dragged as much as myself and What this person says about me as you're going to see is incredibly substantive It's a very valid critique of me. So let's go ahead and watch from the beginning By the way, David Fakman's reaction is just it's hilarious caller who called one two three four Four times in a row could be something. Let's see Just wanted to let you know I'm openly challenging any Left-wing debater to a debate. I am not a right-winger. I am far left In fact, I believe I live left while other people just talk about it He's way way way more leftist than all of us because we might talk about being leftists He lives left. Okay. He lives like a leftist every day So you already know where this is going like it already is seemingly unhinged, but let's just listen longer I would like to debate TYT, but they are very much dodging me after the crowders They're dodging him Debacle my senses TYT has no idea who this guy is where no one would devout our Prouder wasn't about today's theater because There's no reason my little channel shouldn't debate. I think Chris Vosh wants to debate this guy So then he called right back again So, I'm sorry Stephen I could one more time. I just want to finish these things I'm saying is like, you know the shirts that you wear you actually advertise and prop up that company I don't know if it is or if it isn't but is that recycled materials? I'm sorry, but if you're not living As a leftist by making sure that every article of clothing that you have is made of recycled materials Then you're a bad leftist like wouldn't somebody who's This much of a strong progressive know that there's no ethical consumption under capitalism Like even if you get something that was made of recycled materials that labor that made that particular material is going to be likely Exploited worker. I mean, this is really like this is the situation where you have to say Please touch grass, but it gets even better.  Actually, and there you go yourself and your own life as David Patman to do the things that I can tell you that are simple in your own life to make the change I don't see one less greenhouse doing that I'm actually I'm currently weaving pants from all the bamboo fibers that they're pulling off the ballots in the Arizona Arden The humanist report. Do you know how much petroleum goes into the tattoos that he has? I'm gonna have to talk to Mike from This guy's the best the petroleum footprint of his of his tattoos. Oh My god That cannot be real. Please clip it guys that okay.   Okay. I indeed have tattoos. I'm a climate criminal I love David Packman's reaction. By the way, it just makes the clip something else Let's I can't tell if this is real let's see a little bit more part of me thinks that he's memeing like I think that he I'm like torn. I don't know maybe check and help me out I think he's probably memeing overall like I don't know if he's being real Although the fact that he called and left multiple messages for David back then That leads me to believe that maybe he is a little bit psycho and unhinged, but there's also it's so ridiculous There's got to be a chance that he's memeing. Yeah, exactly kiwi bird left Leftism is when no tattoos when Azan no house and when Mike no tattoos, right? Mike tats lead directly to World War four. Thank you for pointing it out Somebody had to say it, but you all aren't ready for that conversation. Are you? like Is that not vanity bro all of those everything is vanity of course tattoos are vanity But if you get a haircut, that's vanity if you shave your face, that's vanity the clothing that you wear is vanity What's your point?  I refuse to believe that this is a serious person Well, my tattoo carbon footprint is zero. I have no tattoos that are causing The resources to be sucked dry off of this planet every lady who puts on makeup every single day That's petrol base doesn't want to take responsibility for the soldiers that dies across feet Stop putting makeup on your face men stop Making these women feel like they have to put makeup on their faces. Are you so this is getting really edgy so then he immediately called Right back Hey, David last message your message three the last thing I want to say is I will go to a TYT live chat And I will say what I just told you and they silence me on that channel Well, if it's it's like 10 pages to transcribe it is like 10 pages It probably was a wall of text you wouldn't stop we'd have to do the same thing Okay, and if you if you spam the same thing on YouTube it will automatically hold that as spam So like every single youtuber has a key has been accused of deleting comments But people don't realize that Most of us don't look at the comment section to the extent that we do we're not policing our comment section Like I think I've had to delete like two comments in my entire YouTube career because they had slurs in them But These are getting picked up by spam like if you are spamming the same thing or you're posting like a giant wall of text with like 10 paragraphs the spam filter is going to pick that up and the reason why it goes away forever is because most of us don't have Time to check our spam filter. So if I go to my spam filter, there's like a hundred thousand messages held for spam I can't review all them because whenever I try to You know, you could check the box and then like approve like 50 or a hundred on a page But it just freezes. There's there's too much like it. It's a bad system admittedly, but that's probably why they're deleting your comment It's not getting deleted. It's just you're spamming and the automated filters are picking that up And the last that is a problem dude huge problem And also why are you calling me about TYT? I have nothing to do with you It really silence me. I follow every TOS rule. I am never disrespectful I am literally nicer than Dan Bailey was to Tucker Carlson to these people with the exception of saying I will decimate them in a debate That's it. And that's not ban worthy. We all know it's not So what I'm trying to get out here is what happens when they do that So I don't feel comfortable on a left-wing channel. I can't say what I feel and it's Well, hold on what happened there? It's from a left-wing channel. So what happens to people like that? Like, where am I left to go? You know, like this is how you so like you can only watch a particular channel If they'll accept your debate invitation. Do you know how many debate invitations leftist political commentators get from like random? nobody's Like nobody on the left would have time for anything So I don't understand why you can't enjoy something unless you engage with it Like I'm a huge fan of h3 podcast, right? I would love if Senpai Ethan Klein noticed me love him But he has not and I have never interacted with Ethan Klein I haven't debated Ethan Klein, but I can still enjoy the content. This is so weird It leads me to believe that he's not that petulant, right where it's like No, I I demand the attention in order to consume the content. The dude's got to be trolling I hope he's trolling. Otherwise his brain is just genuinely rotten To the right is because I literally look at it and go wow The left I don't know what is he saying that as a left winger who's mad at left wingers He's not allowed to chat and so now everybody's on the right as a result Maybe they do not want to listen to me. Where is my choice to go to the right? Who are you like why do we have to listen to you? Why are you entitled to us listening to you? Look at the twitch chat. I can I'm talking to all of them. I'm listening to them I see Tim Bob Gamer G Hilda beast artillery joined in Gamer G like it's not like we avoid people I'm talking to people right now It's not like we like put ourselves in a in a bubble and we're insulated from anyone talking to us Like somebody can walk into the chat right now and call me a fuckhead. I'd have no control over that So like what are you talking about? Like you have to talk to us like through Skype one-on-one I just don't understand.  I should do this man. I'm gonna do that You know what tomorrow is David Pacman. I'm gonna buy a recycled shirt wear it on That's it. That's all we got to do man. It is not hard You know listen to the real left. We are the Minstual portion of this listen. This is my official response to this individual up yours woke moralists We'll see who cancels who yeah So if I had to guess I don't think that David Pacman is wearing recycled shirts And like I haven't gotten any tattoos in a long time like since the pandemic But is the request that I removed the tattoos and like this is why these types of Attacks on people for being climate criminals. It doesn't make sense like you're distracting from the real issue And it's why I'm torn about like calling out celebrities like Kylie Jenner for taking 12 minute private jet rides Even though that's clearly horrible and she's contributing to the problem like do you call that out or would you rather spend that time? You know criticizing The 100 corporations that are responsible for 71% of greenhouse gas emissions I mean perhaps this guy might say you could do both. Okay, that's fair You know you can call out the tattoos that I have I'm not the only one with tattoos But genuinely do you honestly think that people are going to? Accept your argument or be open to hearing from you when you you say things like take off that makeup Why do you have tattoos?  So maybe this is why people won't talk to you. It's it's so weird But again, I don't know. This is real.  All right, and then he promised that was his last call But he did call back again with full three minute call He's already David Steven after one more time. Just I can't discuss these things with you call We can have this discussion on air. I wasn't getting that impression Either way, I am in the last few messages. What is there even to discuss? You know, it's This frustration of being shunned by a left-wing site and feeling like you have nowhere to go with the real information I just Really need you nobody shunning you nobody knows who you are Nobody knows who you are That We have to have this discussion on there We have to get to the bottom of these issues and make people accountable on an individual level We just cannot sit around and wait for policymakers now It's not getting the job done and the point of this last message is man TYT's Moderators are calling me a paid red-wing troll dude. I think what they're moderate. I can't have I have nothing to do with TYT or TYT's moderators I have no way to adjudicate any of what is being said. It has nothing to do with my show It's just like come on guys, please please By the way, this is a funny contrast to that last one I'm thinking about it right now actually why do you interesting you should bring that up? I'm that it's it's it just occurred to me Okay, I've got to say For some reason it makes me want to go in the opposite direction and start doing voice mails because that's that's gold That content is absolutely gold That's good stuff so folks I will admit I am a climate criminal because I have tattoos But I'm a double climb a climate criminal because I have no idea if this shirt is made from recycled materials I don't know. I haven't looked at the tag. I I don't know.  What's that food that you're eating? What's that like fucking, you know Shoes that you're wearing. This is not going to win people over. Nobody wants to live their life that way Okay, you have to push for macro changes not micro changes and to the extent that we can make better Decisions at the individual level sure we should but you're not gonna do that by shaming people that never works ever But yeah, I had to share that because that is just I feel like that's gold and I'm so mad at myself for forgetting to talk about that but now I am and God bless David Pakman for keeping a straight face for most of that his reaction was fucking just hilarious Jenna the way was exposed. I let her have her way


What's up guys? Evil D here and tonight I want to respond to something I've seen raised within the doorlinger discussion area I've also seen in other areas and you probably know some speaking English I don't speak English very often on this channel anymore But I'm speaking English because this is something for English speakers Esperanto's already sold on this. We don't care about this topic But I thought this would be interesting for new learners of Esperanto So okay, so the question is is Esperanto a useful language? Well, that is so subjective.  Whatever. I'm not talking myself up here.  I studied Japanese at school and failed miserably. I can count to ten Honestly, I will say right now. I was only ever in that class because of the girls And I studied French. Yeah, I failed at that. I'm currently studying Chinese not much progress studying Spanish Slowly making inroads, you know, type of thing, but Esperanto has it's the only language. I've ever actually conquered now this This for me gave me the courage that How's the best way to put this? Okay, so I want to learn languages I've always wanted to learn a language. It made me feel cultured. Okay, I know that's probably a lame excuse But I always felt that someone who could speak another language was cultured I come from like a monolingual country Australia. Okay, nearly everyone here speaks only English unless you're in Sydney Then you've got like heaps of demographics, but generally Australians only speak English So I I felt that that was something that I needed to do but I could never find a language I could actually freaking conquer and then I conquered Esperanto and I Think the only reason I managed to conquer it is because with every language I'd start and I'd study a little bit and then I would get distracted and I'd be like Butterfly come back type of thing like I just easily get distracted I just move on okay, but first Brian I was progressing so fast that there was always something new so I couldn't Realistically get distracted. It was just like oh cool. I've got that. Oh, there's something else Oh, cool. And then next thing I know I'm fluent. Okay, now it didn't just like happen like that overnight It took time like with any language, but it gave me the courage to continue on in itself Esperanto is like the recorder of languages literally if you want to learn foreign language You want to learn many languages? Start with Esperanto. It's the easiest language It's the easiest language that's alive and you can use in every context There's obviously languages which can be easier though designed to be easier, but they're just not used Realistically, so yeah, that that was my main thing now The second thing is a lot of people go well, that's great. You could get that from any language I guess you know your own created language if you wanted, but that doesn't really answer the question is Esperanto useful Well, I've traveled through Europe using Esperanto as stage in free accommodation using Esperanto that type of stuff And then there's a lot of people that go well, you can do that with couchsurfing. Yeah, I guess you're right in that sense I guess I could do that with couchsurfing Surfing and then other people be like, okay, what about um Economically, have you made any money off this? This is the main one that everyone here asks Can you make money off of it if you can't what's the point of it? And you know I have realistically made nothing off of Esperanto like money-wise financially But it really doesn't matter for me because because of the size of the language I'm able to actually do something artistic within the language and it's seen by people look I'm I'll give you a little bit of my backstory. I'm a trained actor. Okay? I've done Year of theater training. I've taken part in local TV shows all that type of stuff I'm fully into the industry, but I'm just a nobody literally. I'm a nobody I'll probably always be a nobody in the English community now in an Esperanto community.  Yes for me because it's allowed me to do what I've always wanted to do Which was impossible in the English community community. I can't even speak frickin my own language right now Just because of the pure Saturation we have in the English community. So an Esperanto community. I am someone I have a position I know what I can do and I mean something to people but I'm fulfilling an internal need and that need is being fulfilled through knowing a secondary language and Also the fact that I'm able to make an impact on other people's lives Now one thing I have noticed and a few people have said this and it's really really strange to me So I just wanted to focus on this one thing is and people have said Well, I don't like Esperanto because it seems elitist and this comes usually from polygots Which is really strange and then when you ask them about what do you mean by it's elitist? They go well only usually educated people learn Esperanto people who've got time All that type of stuff they go and learn Esperanto and I'm like that does not make sense to me because realistically Esperanto is an easy language to learn which means that you don't have to invest so much time into it But if you want to go learn French Chinese you know, you're gonna invest the same amount of time money resources everything into it just to become Conversable a you can't even you'll never become fluent You'll never be on par with a native speaker But just to get on a level where you can speak to them about everyday topics You're gonna dedicate so much time. So how is that not more elitist than me dedicating my time Part of it to you know a language that can be learned in a temp of the time So I just wanted to focus on those things because a lot of people like to pull up studies about how fast Esperanto is to learn and all this type of stuff. But for me that really doesn't matter It's one the fact that I actually managed to conquer a language to that I'm able to make an impact in the community I'm actually I have a place here and you know another thing I didn't even mention but I've mentioned so much in my other videos is the fact that it has a very Unique culture and history unlike anything else in the world like how many other languages were born out of an idea So is it useful for making a career? Maybe not right now, but it is expanding massively this language. It's growing massively. You just go look at Duolingo They've launched Spanish Esperanto for Spanish speakers who knows what's next. So maybe yes in the future. It will be an economically important language at the moment no, but who cares because I've already given you all my other reasons So that's it if you've liked this video give it a like share it around for your friends Subscribe to my channel if you haven't already and I'll see you all in the next video And if you're not there, I will find you and I'll leave my mark on your ass And as always I'd like to thank my patreon supporters Who are alexander tolfess and jay-z knuckles will disto lupit margherita kill pack robert nielsen robberport So as see Shane power slavish glaive a tommy lindsley And if you want to donate to my channel so that it can become better in the future You can see my patreon link below in the description


Hello, I'm Claire Trevenna, Minister of Transportation and Infrastructure. The Shift Into Winter campaign is our annual reminder for people to slow down and be prepared for winter conditions. Every year, starting on October 1st, drivers need to have winter tyres if they plan to travel on most BC highways. Winter tyres are the ones with mountain snowflake or the mud and snow symbol. I also encourage people to know before you go. Check Drive BC for the most up-to-date highway travel information. Conditions can change quickly and drivers leaving bare and wet roads can encounter heavy snowfall once they hit higher elevations. We want everyone to stay safe on our roads this winter. Thank you.


So, let's start this thing. Hi, my name is Aigars and I'll be trying to answer a very, very important question for us today. Will there be a debbie in your next BMW car? Spoilers? No. But I will try to tell you what will be and why and how that whole thing comes together from a perspective of a person who am I? So, I've been a debbie developer since the year 2000 and now I'm actually closer to 12 years of developing exclusively in Python. I've worked for Nokia to help them when it was still good and help them create configuration systems for like, oh, we'll do lots of stuff, a lot of different phones. I worked for BBC to help them create the UU setup box and actually test that. And then at DevCon 15, BMW was sponsoring that event and they had a job fair and they were selling like, well, we kind of meet people with the experience in Linux systems with a lot of Python knowledge and who know how embedded software works and how to test embedded devices. And I was like, you've just described my entire CV. So, soon after that I talked to them more and joined BMW car IT and moved to UU in southern Germany. I did not have any auto-specific knowledge before that. So, basically this presentation is the story about all the interesting and non-confidential things that I have discovered since then and thought all of you might be interested in.  It's just like some framed couple of wheels preferably for a steering wheel, as I mentioned something, seats, maybe a radio. That's it. What could be really complex? What could be software about the car? But if we take a look just from the driver's seat of a modern car, we start to notice screens everywhere. You can see, not even highlighted, in the very middle there is the head unit. That's the part where the maps and navigation show up. There's a heads-up display. There is an instrument cluster. There is now even displays for the climate control system and a display on your key as well. That's just the way it wants you visible right now. And that is just the very, very edge, just the top of the iceberg because behind each of those there is a computer. And behind that computer there are multiple networks that connect them together. So, in practice modern cars are extremely complex and advanced network systems. In a modern car, this is an old slide. This is a couple years ago. It has become even worse than that. In a modern car you can find up to 80 electronic control units, basically computers, that are connected by up to eight different types of networks. And some of them are more generic, not really specific hardware controllers. Some are more generic, almost normal computers that mostly communicate over ethernet. But others are tiny, tiny, tiny real-time components with a code banked into the chip itself and they communicate with others over hard real-time networks like Flexray or something even less comprehensible than that. We have a lot of specialization, a lot of different components and even automakers recognize that this kind of stuff is kind of unsustainable if you make it box by box. So they started several years ago to standardize on high-level architectures of how the code would be built, what would be the buses. So a lot of what is in the car is the same across almost all the manufacturers. So that is getting a bit better over time. But then we hit the future and the future is bright. In the future the computational and functional demands of the computers in the cars and the cars themselves will only rise. We'll need more computing power and more computers to do that kind of computations. So we can see that, especially with autonomous driving, it's not just the computers that do the autonomous driving that will be there, it's the computers that will entertain the passengers while the car is driving themselves. And yeah, with the more computing power required, car manufacturers are starting to consider that having 80 computers or now 150 computers in a car might be a bit too much. And instead there are ideas about consolidating many of those small, hard, real-time computers into larger computers, which are more generic. So instead of tiny boxes running assembler instructions, you would have one larger box that is running a normal Linux operating system with a bunch of applications on it. That is the direction that these boxing things are just going right now. But for us at this point, at this point in time in the computer and car industry, what we would like to look at more from the Debian perspective, from the Linux perspective is the few computers in current cars that look very much like normal computers that we're interested in. And that's basically the head unit display and in some higher-level models the rear-seat entertainment. Clusters that entertain the passengers in the back. These are basically almost like normal computers. They have Ethernet. They have Bluetooth. They have SSDs and hard drives. They have USB connections. Those don't look anywhere near normal USB cables. They're round and weird. But they're secured against interference mostly. And the hardware design in large broad strokes is similar to what we see in phones. So you have basically a motherboard with everything baked in. And that goes through several iterations until it gets to something that can be actually released. But there are different requirements. So, yeah, the computer in a car will need to work for several decades. It will need to tolerate extreme vibrations. It will need to tolerate a lot of dust, possibly even oil getting onto it and all kinds of weird conditions that in a phone world it's perfectly fine for the phone to actually break if you drop it on the concrete. But not in a car world. And functionally some of those parts are very close to what we can get on the phone. So you have like navigation. You have like media playback. Internet. You get some system settings. In this case the car settings. Information. And even you get some applications installed onto those systems. And yet these systems are trying to differentiate themselves from the phones by being tightly coupled to the car. So they have access to things, to the sensors that phones do not have. For example, wheel rotation sensors. So in a tunnel when your GPS loses signal an in-car navigation can continue to show you a precise location when you are based on the wheel rotation and where your steering wheel is pointing to. In a phone you cannot quite do. And a computer in a car can interact with the car suspension for example. Sometimes that's not a good thing but it can be useful. Or it can show you a surround picture of what is happening around your car from parking sensors. Pretty useful when you try to park it. Or when you left the car behind and you want to see if somebody is approaching your car. If we go deeper there is a lot of stuff going on in there. Just don't try to read that. It's just an illustration that there is a lot of layers and a lot of libraries a lot of things that are being done inside even just the one electronic computer control unit that controls the head unit the navigation cluster. In total when we build the software we can get up to 9000 individual packages just in that one system. If we are going from the top down so the GeneVy is like a generic collaboration between the car manufacturers to create in vehicle entertainment or information systems. It has an API to allow communication between software whether it's on the same computer or different computers or remote access calls through the common API and some IP. Then we use Yopto. So we use the open embedded framework and the BitBake tools to actually compile the software that we are delivering. Underneath all that we control everything with Git we build everything with Jenkins and we review every code with Garrett. That's already getting closer to what we're getting used to. There are components that are relatively new that we now know will be in the next cars. I'm happy to say that we will be shipping systems with SystemD and Wayland for the next cars. That is kind of a future that is coming to life even if our desktop systems are not quite ready for that. We can control the environment so we can actually have all the applications written in Wayland from scratch so we don't have the problems of backwards compatibility with that. The good stuff from this whole approach of building the source packages is building from the source. You've seen in previous talks here what BitBake kind of looks like. In BitBake files we basically declare to get LibGTK we want to go to that Git repository. We want to check out this particular Git revision. Then we want to apply these patches and we want to compile it with these options. We can customize everything on that stack. We can customize all the build options. We can apply whatever patches we really require. All the contents of the images that we have are controlled from our Git repository. These BitBake files in Git repository fully control what will end up in the end image. There is no change somewhere upstream that would in any way influence the end image on our side. We have to build a lot of images so there are different targets. We need to build SDKs and we need to also build packages that developers could install to bring extra functionality for the software. In time development for example. It's a big process. When we build the whole system from scratch it can take more than 8 hours to fully compile the system. But incremental builds are definitely much faster because everything is cached. One thing I wanted also to touch is licensing requirements. In this phase the licensing requirements are taken extremely seriously. Every BitBake build when it identifies that the license is one of the licenses that require software distribution there is an additional build artifact created which contains all the sources of all for example GPL packages that go into this particular build. And that is happening for every build including just developer builds that are happening several hundred times a day. So that's a good practice so that we have the source all the time and we make sure that it appears. And if there is some package that tries to include something and doesn't declare a license specifically it will be blocked from execution. It will not pass into the software. So every piece of software that goes in must declare a license and license requirements are taken seriously by the tools automatically so we don't have to worry about that later on. And of course we actually cross compile everything. So that's a good practice whether your target environment is the same as your base environment or not we just use cross compilation the whole time. What is not so good in this process of having everything through BitBake? We kind of need a lot of base packages so a lot of software that we have minimal changes or almost no changes from what the upstream or the VIN ships but they still need to be maintained because we kind of want to be very specific about okay we want this particular git comment of the software to be in our systems and unless we update that particular hash nothing will change. By being this specific we have the power but we also have the responsibility of maintaining these versions which basically leads to the situations where they get frozen at some point. And then the internal security team needs to go and search for whatever security vulnerabilities are happening and track that down. In some cases things like runtime dependencies can trigger massive rebuilds of the whole thing so at one point we updated that system D and because everything depends on system D to get their services running everything got rebuilt. That was not fun. Anything that a developer needs either during development or during a test needs to be included in this here or here packages into the SDK. That means that the SDK that we are giving to the rest of the developers can grow really, really big very, very fast so it can exceed several gigabytes of the SDK package and that is a problem that is pretty hard to manage and we'll try to limit the dependencies that developers are trying to bring in. When you have several hundred builds happening every day you probably will not do the same server. And when you have multiple servers and you are trying to cache intermediate compilation results the cache management starts to become extremely tricky how it happens and yeah the caches are in tens of gigabytes and they need to be synchronized and yeah that's a lot of fun. At this point the builds that we are having are not reproducible. There is a bunch of stuff that we are doing that is bad and should change and that was one of the goals that my employees sent me here hey find out everything about reproducible builds because for example it would be nice to figure out if we have a car, we have a car that was in an accident especially if it was an autonomous driving accident we kind of need to be able to verify what binaries it was running what was the source of those binaries what were the compile options that were produced them we need to actually verify that sometimes in court and that is important. The other thing that is of more immediate importance is updates so we compile the whole system from scratch and if we then do an update of one particular function somewhere in navigation it would be nice if only the navigation binary changed both from an auditing perspective like okay this changed, this didn't, that's fine but also from the incremental updates perspective so the update is much smaller and that goes into not just reproducible builds as a whole but okay can we do something about having the locality of the changes inside the 200 megabytes binary that's another problem that we're trying to solve BitBake has interesting connotations for example when you try to run a big project with a 9, 10,000 BitBake tasks well each of those tasks has sub tasks like do fetch, do configure, do compile, do install the problem is the BitBake sometimes really really eagerly schedules the same type of tasks simultaneously so you have 16 threads running but all of them are stuck on do fetch they are all downloading source code from somewhere and when they've done that they all execute do compile and some of those compilers they take more memory than the system would have if all of them are running in parallel yeah we have some crashes BitBake is also extremely prone to escalating complexity because basically every layer, every file in BitBake could modify anything else it could layer on top, below, in the middle of any other process or layer or anything it is super useful for example we have the security team specifying compile options for the whole project in one file super cool except then other developers would kind of need to understand the rest, the whole of the project to really know what options are used when compiling their software so the complexity can really escalate without organizational needs for that so where is the beginning, the whole of this at this point, not so much there is an initial build environment that is used to compile GCC and libc for the start of this whole process and that is, well currently it's actually bootstrapped from Ubuntu but it will be bootstrapped from Debian soon but there are other things that could be done that I could see from the inside and from Debian perspective that could be done to bring these worlds closer together for example there is a lot of auto specific tools that are kind of not really auto specific so the tools for managing the logging from embedded devices so a DLT is kind of like a binary log format for outputting information out of a device that doesn't have enough storage to write its own logs locally and that kind of thing and other tools and libraries could be packaged for general Debian consumption and then maybe propagate to other embedded areas as I said we really really love reproducible builds having them perfect and having the documentation about how other developers in their own projects can do reproducibility of builds especially with language specific logs like okay if you're doing it in C go through this list do these options, do not do these options definitely that will be a big help not just to us but to other communities as well there are tools that we are using there are libraries that we are using that by improving them yeah you are basically helping improve the software that will be going into cars and other devices eventually as well currently a lot of the packages that we are using in the cars we are not checking out anything the source from Debian we are checking out the source from upstream Git repositories so the more code, the more fixes go upstream the better it would be to developers that do the same kind of thing there are some things that also were a problem like the bootstrap well we really like to use the bootstrap more except we were faced with GPL compliance issue because when we generate an image with the bootstrap we don't get a target of sources next to it and that would be very, very useful because that's the way how a company with white policy would set that yeah the easiest way to comply with GPL is just shake the sources right next to the binaries and we don't get that from the bootstrap it's pretty annoying so we will probably be trying to do that kind of thing as a feature but if somebody pieces to it that would be amazing and one other thing that has also come up in this morning's talk was that ok, Bitbake basically is a thing in embedded community so it would be nice if we had an easier way to use Debian source packages, Debian binary packages from a Bitbake recipe so I would probably want to say ok I want to get this particular Debian package with its from source or from a binary and if it's from source I want to add this particular patch on top of that and have that as an easier way to reuse the word that is already in Debian to targets that are created by Bitbake but in general it is easier to get these whole things together if there are more developers with our mindset inside those things so, yeah, there's a link Thank you Questions? First of all, thank you I'd like to know if you'll be back porting all this cool stuff to my 2011 335D but the answer is probably not My real question is, I'm sorry you weren't able to be at my compliance talk because there's a commonly overlooked other prong in the fork of what the GPO requires and that is the installability of modified versions of the code Doing source code disclosure is critical and it's wonderful that you guys are doing that when I was at Cisco we spent a lot of effort trying to make sure our engineering teams would actually comply with that and it's all too rare but there is that other aspect even of GPLv2 that says the end result needs to be installable and GPLv3 requires this too I think a car qualifies as a consumer device at least for things that are commercial fleets Yes, due to this reason the software that is GPL is actually not allowed to be on the car so there are tools that are packaged in the whole framework but they are in the SDK so that's the thing that is not shipped with the car and therefore this thing kind of gets worked around Why we actually care about this compliance tool with this concept because the SDK and the other development things get distributed to other companies and that is where the legal problems start So there is no copy left at all that is in the devices on the car? No Wow, okay, that's too bad I was really opening for an angle there Yes, there is a legal team that is working on that So just to clarify that the Linux kernel does not appear in the car at all anywhere The Linux kernel doesn't have its license enforced, so it's okay A busy boat Anyway, that may be something to consider for the installation structure The big part, we actually thought about doing these as individual packages and actually patching the packages and using the Debian build tools and then using archives and things like that The problem is that this whole process needs to work on hundreds of different machines completely independent from each other So we have developers We have developers that are building these things that are completely remote from the systems that we have So the thing is they need to build these images completely locally and we have a lot of build servers that are creating those local images without then publishing anything So the versions that they are actually compiling are different They have different patches installed, they have in progress development So I've thought about this when you proposed this in the morning And I'm pretty sure it would be very hard to work out because it would require way more moving parts working together to get this into a working order But you would just make a disability and you would get sharing of the bind-based model and you wouldn't have the cash model We would still want to have the developers and other teams rebuilding the other binaries with their updated versions of libraries so that they could actually check that stuff works automatically There is an idea to do that, to have a base layer that is less changing The problem is we also changed the base layer quite a lot So we changed, even like we changed compilation settings In some cases we inject libraries that do runtime audit of the binaries that are running on the system So there is quite a lot of changes that are in the base layers and they evolve over time as well The other thing is that I have actually written some code which does the obtaining of the source code packages, the DSCs and stuff After when in deep bootstrap it's relatively simple to actually go through if you've got, as you've got the sources found in deep bootstrap at the end then it's relatively easy to actually then tune in change the, or add a depth source and go through the package and get the source in So that's one way around deep bootstrap so it's like, you get the full depth incomprehensible It would be better if we just have an extra the bootstrap option, like, oh produce also a thing here that has all the sources but to get that we could do the search as well It would be the same code whether you do it as deep bootstrap runs afterwards, you're not actually going to save any time during deep bootstrap because deep bootstrap doesn't care about depth source normally so you're not actually going to be saving any time when you do it during or straight up Yeah, we can do it like that So Toshiba is building a deep end source package using BitBake, are you aware of this work? I personally am definitely not aware of that and would like to look at how that would be useful Yep, hi, okay, so I would like a clarification on the whole is Linux accurate on the car thing and also sort of, because my original question was what happens if system D spikes and the car freezes? Is that a thing, is system D running on the car? The kernel and the system D are definitely running on the entertainment cluster of the car So it's not in the engine control unit which actually controls the car So in the worst case scenario, even nowadays what happens is that there are separate watchdogs that monitor the processes, the key processes and if any of them stops responding, freezes, crashes, whatever happens basically what happens is the system reboot Sometimes, well let's say that most of the time we hope that users will not actually notice that because it can take less than two seconds But the whole reinitialization of the UI is the same state as it was before Well that's handy But there is a Linux bit that's plugged into the sensors like reads the sensor network or something? It reads the network which includes the data from the sensors Okay, cool, thank you Okay so you said that it reads the network I wasn't here for the start of the talk So does the Linux have access to the canvas? Yes, the Linux has access to the canvas That sounds a bit dangerous There are multiple canvases It speaks only to the entertainment canvas I guess? Yes, basically there are up to eight different types of networks and each of them has multiple instances inside the car So you only have the buses that are required for the communications that are requested And on top of that there are also firewall rules for many of those networks like you might be able to communicate with the tire pressure sensors from the entertainment cluster because you need to show the pressure indicators but there are some other data that you don't need so that is actually blocked from them and it's available through a different network to a different issue Alright, thank you Hi, thanks for the talk I just wanted to make a little comment Earlier this week I gave a talk about secure software updates and several people asked me why New York University who developed the framework hadn't talked about it earlier and so I just wanted to drop another project that's actually a spin-off of the secure updates framework that's called Optane and it's specifically designed for updates in cars and for the special requirements of the tiny ECUs So I don't know if you guys are already aware of the project but it might be interesting I guess Let me say it this way There is a team that is working on the remote updates and software updates in general and they're a very isolated team for security purposes and so I don't specifically know what they are using but that is information that I would definitely pass on to them the concepts that might be useful would be nice to see Okay, thank you Okay, thank you very much