1 00:00:00,804 --> 00:00:03,604 This is Alan Pope with the second screencast in the 2 00:00:03,623 --> 00:00:05,623 Ubuntu Month of Screencasts. 3 00:00:05,663 --> 00:00:08,447 All of the screencasts in this month can be downloaded for free from 4 00:00:08,495 --> 00:00:12,711 our website, which is screencasts.ubuntu.com 5 00:00:13,242 --> 00:00:16,395 In this screencast we are going to talk a little bit about Linux. 6 00:00:16,508 --> 00:00:19,662 We won't go into massive detail about how it is programmed 7 00:00:19,726 --> 00:00:21,029 or what it is made up of, 8 00:00:21,078 --> 00:00:23,942 just some high level stuff to familiarise people. 9 00:00:24,505 --> 00:00:27,369 The first thing to mention is this guy, Linus Torvalds. 10 00:00:27,533 --> 00:00:30,217 He is the guy who began the Linux project 11 00:00:30,346 --> 00:00:32,518 started back in nineteen ninety-one, 12 00:00:32,566 --> 00:00:34,754 as a hobby to scratch an itch. 13 00:00:34,790 --> 00:00:38,294 He wanted to have a Minix-like operating system at home. 14 00:00:38,471 --> 00:00:42,043 So initially Linux wasn't developed to be a competitor with 15 00:00:42,143 --> 00:00:43,620 any other product out there. 16 00:00:43,765 --> 00:00:47,787 It merely to achieve something that Linus wanted to do at home 17 00:00:47,884 --> 00:00:49,943 on his own computer. 18 00:00:50,957 --> 00:00:53,145 So, Linux is an operating system 19 00:00:53,245 --> 00:00:56,106 and an operating system is the software that manages 20 00:00:56,206 --> 00:00:58,206 the sharing of resources in a computer. 21 00:00:58,503 --> 00:01:00,386 So what are those resources? 22 00:01:00,486 --> 00:01:03,202 Well the kinds of resources that we are talking about 23 00:01:03,250 --> 00:01:05,181 is the hardware inside the computer and 24 00:01:05,281 --> 00:01:08,190 some of the peripherals that are attached to the computer. 25 00:01:08,270 --> 00:01:13,242 This might be the CPU, where the Linux kernel will decide 26 00:01:13,419 --> 00:01:17,248 what programs get access to the CPU and when. 27 00:01:17,361 --> 00:01:19,372 and how much of the CPU they get. 28 00:01:19,472 --> 00:01:24,232 It could be the memory, the kernel decides how much of memory 29 00:01:24,441 --> 00:01:29,380 gets allocated to one particular program and when that memory gets given back. 30 00:01:29,960 --> 00:01:34,336 In addition it can allocate space on disk and lay out format on the disk 31 00:01:34,352 --> 00:01:37,796 and also decide what to do with packets of information that flow 32 00:01:37,860 --> 00:01:39,292 across the network. 33 00:01:39,598 --> 00:01:43,073 So the Linux kernel is an operating system and the operating system 34 00:01:43,173 --> 00:01:45,728 manages some of these hardware resources. 35 00:01:45,828 --> 00:01:49,220 That is kept separate from the applications that run on top of the kernel. 36 00:01:49,397 --> 00:01:52,856 These programs are often called user space programs. 37 00:01:53,162 --> 00:01:56,074 There are whole load of user space programs 38 00:01:56,171 --> 00:01:58,439 that are written to run under Linux. 39 00:01:58,488 --> 00:02:01,030 Some of them are called the GNU tools. 40 00:02:01,078 --> 00:02:05,052 GNU was created by this man, Richard Stallman. 41 00:02:05,133 --> 00:02:08,045 GNU stands for GNUs Not Unix. 42 00:02:08,142 --> 00:02:13,451 We will talk more about the GNU GPL licence and a little bit more about GNU 43 00:02:13,532 --> 00:02:16,847 in the next screencast, when we talk about licences. 44 00:02:17,281 --> 00:02:21,802 Suffice to say Linux is licenced under the GPL, 45 00:02:21,899 --> 00:02:25,374 which is a very permissive licence, allows people to copy it, 46 00:02:25,455 --> 00:02:29,928 make changes to it, redistribute it and so on. 47 00:02:33,484 --> 00:02:38,777 This guy is called Tux. He is a penguin, as you can see. 48 00:02:39,003 --> 00:02:42,639 He is the mascot of the Linux kernel. 49 00:02:42,897 --> 00:02:48,399 So you might see this image on websites that are Linux oriented 50 00:02:48,512 --> 00:02:50,451 or you might see them on products. 51 00:02:50,551 --> 00:02:54,015 For example I bought this device a couple of weeks ago. 52 00:02:54,144 --> 00:02:57,909 and I was surprised to see on the box "works with Linux" and 53 00:02:57,973 --> 00:03:00,531 has a little picture of Tux the penguin on there. 54 00:03:00,773 --> 00:03:03,637 Which is great because it is showing people that this hardware 55 00:03:03,717 --> 00:03:07,096 will work with Linux based computers. 56 00:03:07,515 --> 00:03:11,296 It is worth noting that Linux actually supports a vast amount of hardware 57 00:03:11,360 --> 00:03:12,229 out of the box. 58 00:03:12,293 --> 00:03:16,219 Probably more than most other operating system, certainly more than Windows 59 00:03:16,332 --> 00:03:19,019 and certainly more than Mac OS X. 60 00:03:19,630 --> 00:03:25,021 The hardware support is great within Linux for a large number of devices 61 00:03:25,262 --> 00:03:28,914 and you can actually install Linux on a large number of devices. 62 00:03:29,014 --> 00:03:33,758 For example we have here a server, a desktop PC and a laptop, 63 00:03:33,809 --> 00:03:35,809 which can all run Linux. 64 00:03:35,909 --> 00:03:40,306 We also have devices that you would not traditionally think of as a computer 65 00:03:40,403 --> 00:03:45,793 like a personal video recorder, TV recorder, mobile phone, a media player 66 00:03:45,986 --> 00:03:50,540 and also portable tablet PCs and the one laptop per child, 67 00:03:50,652 --> 00:03:53,693 the green computer at the top is an OLPC. 68 00:03:54,369 --> 00:03:56,171 They all run Linux. 69 00:03:56,236 --> 00:04:00,837 You can get Linux from the kernel archive website, which is kernel.org 70 00:04:00,937 --> 00:04:04,152 What you can get here is the source code, the actual program code 71 00:04:04,281 --> 00:04:07,145 that can be compiled into a runable program 72 00:04:07,225 --> 00:04:13,533 But most people do not do that, most people take their kernel from elsewhere. 73 00:04:14,418 --> 00:04:18,971 You can get your kernel from the vendor of your Linux distribution 74 00:04:19,196 --> 00:04:24,554 Here are a few Linux distributions and they all have one thing in common, 75 00:04:24,654 --> 00:04:27,515 which is they have, well they have many things in common, 76 00:04:27,615 --> 00:04:30,556 but one of the things they have in common is that there is Linux at the heart, 77 00:04:30,656 --> 00:04:34,611 the heart of all of these distributions. 78 00:04:34,852 --> 00:04:40,516 So on top of Linux they all supply GNU utilities and other applications. 79 00:04:43,010 --> 00:04:47,612 Those applications are compiled to run on Linux. 80 00:04:47,724 --> 00:04:50,958 Another distribution, my particular favourite, is Ubuntu 81 00:04:51,039 --> 00:04:56,027 and this also has Linux, the GNU tools and a load of other applications, 82 00:04:56,139 --> 00:04:58,199 which we will look at in just a minute. 83 00:04:59,052 --> 00:05:03,782 First of all let us take a look at the history of some of these Linux distributions 84 00:05:03,895 --> 00:05:06,984 There is a great diagram you can view online, 85 00:05:07,113 --> 00:05:08,698 which gets updated regularly. 86 00:05:08,798 --> 00:05:12,133 It is the GNU/Linux distribution timeline 87 00:05:12,406 --> 00:05:15,271 If we just scroll up to the top of this very large image 88 00:05:15,367 --> 00:05:19,744 you can see the URL is futurist.se/gldt 89 00:05:19,844 --> 00:05:22,125 I will put that link on the website. 90 00:05:22,849 --> 00:05:26,502 You can see that it dates from nineteen ninety-two all the way 91 00:05:26,537 --> 00:05:29,993 through to present day two thousand and seven. 92 00:05:30,524 --> 00:05:35,174 If we scroll down a little we can see some of the early Linux distributions 93 00:05:35,303 --> 00:05:38,473 and the little dot dot dot means that they are no longer supported 94 00:05:38,573 --> 00:05:41,353 or they are not being used as much any more. 95 00:05:41,868 --> 00:05:45,263 There is one that is, SLS, which is now Slackware Linux, 96 00:05:45,298 --> 00:05:47,564 which is very popular. 97 00:05:47,612 --> 00:05:50,170 You can see as we scroll across, it is still used 98 00:05:50,235 --> 00:05:53,066 and there are derivatives of Slackware. 99 00:05:53,115 --> 00:05:55,947 Further down we have Red Hat, which is also very popular. 100 00:05:55,999 --> 00:06:02,077 and there are many derivative distributions of Red Hat. 101 00:06:02,177 --> 00:06:05,359 We can see one example here Red Flag. 102 00:06:05,459 --> 00:06:11,281 Red Flag Linux is based on Red Hat, designed specifically for one particular market. 103 00:06:11,381 --> 00:06:14,145 one particular geographic region, for example. 104 00:06:14,209 --> 00:06:17,491 There you can see Red Hat itself, the main line through the middle, 105 00:06:17,591 --> 00:06:20,050 it is still maintained through today. 106 00:06:21,433 --> 00:06:24,169 Another distribution that was popular in the early days 107 00:06:24,233 --> 00:06:27,081 and is still popular now, is Debian. 108 00:06:27,596 --> 00:06:29,768 Debby and Ian's distribution. 109 00:06:29,868 --> 00:06:32,713 You can see here, this has also spawned a number of derivatives 110 00:06:32,793 --> 00:06:38,199 including Ubuntu and it's derivatives Edubuntu, Xubuntu and Kubuntu. 111 00:06:38,299 --> 00:06:45,070 Ubuntu itself has also spawned derivatives like gNewSense. 112 00:06:45,166 --> 00:06:46,904 and Linux Mint 113 00:06:47,004 --> 00:06:49,961 So that just shows you a little snapshot of what 114 00:06:50,090 --> 00:06:53,437 the history of the Linux distributions are. 115 00:06:53,710 --> 00:06:56,703 The distribution I use is Ubuntu. 116 00:06:57,186 --> 00:07:02,270 And as I said Ubuntu uses at it's core the Linux kernel. 117 00:07:02,370 --> 00:07:08,497 With each release of Ubuntu there is a newer version of the kernel supplied. 118 00:07:08,594 --> 00:07:13,775 This is a slightly modified version of the kernel than the one you get from kernel.org. 119 00:07:14,032 --> 00:07:17,073 So on the left hand side you can see the versions of Ubuntu 120 00:07:17,138 --> 00:07:17,975 that have been released. 121 00:07:18,075 --> 00:07:20,323 The ones that are crossed out are no longer supported. 122 00:07:20,533 --> 00:07:25,569 On the right hand side you can see the version of the Linux kernel that is supplied. 123 00:07:25,746 --> 00:07:29,881 We each successive version of Ubuntu we get a newer version of the kernel 124 00:07:29,962 --> 00:07:33,405 and the newer version of the kernel provides additional drivers, 125 00:07:33,501 --> 00:07:37,685 newer functionality, better resource management, 126 00:07:37,785 --> 00:07:41,337 better power management and so on and so on. 127 00:07:42,287 --> 00:07:44,845 The latest version of Ubuntu is seven ten, 128 00:07:44,909 --> 00:07:46,406 otherwise known as Gutsy Gibbon 129 00:07:46,486 --> 00:07:49,350 and uses kernel two six twenty-two. 130 00:07:49,415 --> 00:07:52,391 Which works very well on laptops for example. 131 00:07:54,258 --> 00:07:57,508 On top of the Linux kernel, which is symbolised with a little penguin, 132 00:07:57,608 --> 00:07:59,439 we also have the GNU tools 133 00:07:59,696 --> 00:08:02,013 and we have loads of other applications. 134 00:08:02,113 --> 00:08:05,215 These other user space applications that sit on top of Linux. 135 00:08:05,315 --> 00:08:07,773 We have got the GNOME desktop environment, 136 00:08:07,873 --> 00:08:10,605 Tomboy note taking, Firefox web browser, 137 00:08:10,657 --> 00:08:12,745 GIMP image editor, Evolution email client, 138 00:08:12,845 --> 00:08:15,400 F Spot photo management, 139 00:08:15,500 --> 00:08:18,023 SANE for managing your scanners, 140 00:08:18,123 --> 00:08:20,420 Ekiga for doing voice over IP, 141 00:08:20,549 --> 00:08:22,802 Pidgin for doing instant messaging 142 00:08:22,866 --> 00:08:25,022 and Python if you wanted to do some development. 143 00:08:25,122 --> 00:08:27,661 All of that gets packaged up as a distribution 144 00:08:27,741 --> 00:08:31,941 and that distribution is Ubuntu. 145 00:08:33,566 --> 00:08:36,543 Now you do not generally communicate with kernel directly 146 00:08:36,643 --> 00:08:38,747 you use these user space applications. 147 00:08:38,940 --> 00:08:40,742 But I will give you an example of where you might 148 00:08:40,842 --> 00:08:42,979 see some interaction with the kernel. 149 00:08:43,079 --> 00:08:46,342 Here is an example, if I go to System, Administration, 150 00:08:46,390 --> 00:08:48,337 System Log, on Ubuntu. 151 00:08:48,385 --> 00:08:51,925 We see messages on my machine, which is called wopr. 152 00:08:52,150 --> 00:08:54,676 and the messages are coming from the kernel. 153 00:08:54,757 --> 00:08:56,800 You can see on the right hand side all this 154 00:08:56,849 --> 00:09:00,549 strange text is information from the kernel. 155 00:09:00,839 --> 00:09:03,944 If I do somthing like unplug my USB webcam, 156 00:09:04,105 --> 00:09:07,388 you can see a message appears at the bottom of this log 157 00:09:07,581 --> 00:09:09,093 saying USB disconnect. 158 00:09:09,157 --> 00:09:11,523 If I plug it back in again, 159 00:09:11,668 --> 00:09:14,499 my webcam is recognised and registered 160 00:09:14,612 --> 00:09:18,402 and you can see there it is a Philips 740 ToUcam. 161 00:09:18,635 --> 00:09:21,113 Let us just prove that it works 162 00:09:21,338 --> 00:09:23,816 If I open a handy webcam application here 163 00:09:24,668 --> 00:09:27,613 and connect to my Philips 740 webcam 164 00:09:28,273 --> 00:09:29,930 choose an apropriate resolution 165 00:09:29,946 --> 00:09:32,030 Remember the driver for this is inside the kernel. 166 00:09:33,598 --> 00:09:35,932 So this application doesn't need to know what camera I have got. 167 00:09:38,377 --> 00:09:40,678 He is a handsome fellow, isn't he? 168 00:09:40,871 --> 00:09:42,062 Hello! 169 00:09:42,162 --> 00:09:44,781 Now if we just save a snapshot of this for later. 170 00:09:47,533 --> 00:09:49,898 If I go to my home directory. 171 00:09:50,767 --> 00:09:52,601 You can see the webcam works. 172 00:09:52,701 --> 00:09:53,615 Marvelous! 173 00:09:53,715 --> 00:09:55,899 So I used a user space application 174 00:09:55,999 --> 00:09:58,216 to communicate with a device, 175 00:09:58,316 --> 00:10:00,316 the driver was provided by the kernel. 176 00:10:01,467 --> 00:10:02,979 Thanks very much for watching, 177 00:10:02,545 --> 00:10:04,620 all of our screencasts are available on the website, 178 00:10:04,720 --> 00:10:07,661 screencasts.ubuntu.com