This course has been updated! We now recommend you take the Full Stack for Front-End Engineers, v3 course.
Transcript from the "Operating Systems" Lesson
>> Jem Young: And now, I'm gonna talk about operating system just for a little bit. Why do we chose Ubuntu? Anybody? What is Ubuntu? What type of operating system is that? Yes.
>> Speaker 2: Linux.
>> Jem Young: Yes, it's Linux. Linux is based on the unique system. Just why I choose Ubuntu. And there's two main types of operating system.
[00:00:24] There's windows and there's Unix based. The way they work is very different. Windows has this idea of MS DOS. Which is kind of their underlying core. It's kind of the shell you use versus Unix which is a system designed in 70s 60s. I don't remember it's very old but Unix is
>> Speaker 3: Is in the 60s
>> Jem Young: 60s yeah
>> Speaker 3: Bell Labs
>> Jem Young: Yeah, Bell Labs, yeah. Bell Labs,yeah, they said a lot whatever the Bell Labs. Anyways probably mismanagement. Unix is not terribly friendly. Unix is. What the nerds use so we use a flavor of Unix called Linux. Linux is much friendlier.
[00:01:05] It stays up to date as invented by Linus Torvalds. Hence the name Linux. Yeah. There's also different flavors of Unix. There's BSD, there's solaris BSD is a, runs down to freeBSD. And OSX the laptop I'm using most you're using here. It runs on freeBSD. So it's a flavor of Linux or flavor of Unix, not quite the same as Linux.
[00:01:31] But it's close enough for most tools we care about today. But we're gonna use ubuntu which is. Arguably the most popular distribution of Linux. There's Debian, red hat, fedora. There's a lot. There's tails which is like a super privacy heavy Linux version. There's a lot of Linux versions the great thing about Linux I'd say vs windows is it's open source.
[00:01:57] So if you're like, I don't like the way this thing looks. You can modify it, you can make your own version. And there are a tonne of versions of Linux. There's a tonne of goodies on top of Linux. But today we're not gonna be using any gooey, just straight, good old fashioned command line.
[00:02:11] there any questions about Linux. Because we're gonna dive in. Alright. Linux, it works on the principle of two. It's actually as straightforward as they can make it. There's the kernel. The kernel is the layer that talks to the actual machine hardware. So the CPU, the scheduling all these things threading, that's what the kernel does.
[00:02:35] And then utilities. Today we're just using utilities. What I really like about Linux and the idea behind it is instead of baking everything into the operating system, baking everything into the kernel. You're baking the utilities. Utilities are just the tiny little applications that do one thing, generally one thing.
[00:02:54] But they're, because they're tiny little applications, they can be updated and not break the kernel. And all they are is just ways of interacting with the kernel interacting with other other applications on the system. And so everything we're doing today is just gonna be these utilities and it's, really is a brilliant model that they invented.
[00:03:10] That makes it much simpler versus windows where everything's baked into Windows. So you wanna do an update, if to update all of windows, generally. So we choose Ubuntu. Switch back over, and we're gonna choose the lowest, slowest, cheapest server there is. You won't need anything more advanced than that today.
[00:03:31] You might in the future, but generally, it's better to choose kind of the medium tier that you need. And then you can always scale up or scale down as you need. But for this I wanna go as cheap as possible. So at 7 cent, no was that a fraction of?
[00:03:45] It's of a fraction of a fraction of a cents an hour and that's generally what compute charge is charging in terms of hours. So it's gonna run about $5 a month, so it's not too bad. And with the credits, you should get 10 months free. If you want, you can switch to AWS or something like that.
[00:04:02] But for learning purposes, let's choose the standard. And how big is ago? Wow. Goes 32 that's pretty impressive. And all of these are, they're going to have solid state drive so that means the data read is gonna be a little bit faster than standard centre computers. We could also choose something, if we're doing a lot of things in memory.
[00:04:24] So if we wanna do, say, video editing in memory or something like that, a lot of compute, we can choose something with a lot more memory. But again, choose standard, and choose the data center region that's gonna be closest to you. It won't matter too much generally, unless you choose Bangalore in India.
[00:04:44] Which is gonna a little bit slower github. But I'm gonna go to San Francisco because if I'm working in that, that's where I'm gonna be. But depending where you are in the world to choose datacenter, that's a little bit closer. And we choose the version we chose was the LTS version.
[00:04:58] That's the long term support. If you're building things for production and not just developments, something that's gonna live a long time. You always want to choose the LTS version. It's tempting to say Ubuntu 19 is out, let's use that instead but that's gonna change over time, there's gonna be version 20, version 21.
[00:05:15] And that the commands might change a little bit, the way things are installed might be a little bit different. But I chose the LTS version because that's gonna be around for many years. At Netflix, we use the LTS version of node as well. Which it kind of sucks because we're not if node says, Hey, we now support top level a sink await I can't use that until that moves to the LTS version.
[00:05:35] But because we're real application that needs a live a long time, we don't stay on the bleeding edge. That's the downsides of being at scale. But for this class, we chose ubuntu LTS version because it'll work even two years from now.