CSE3303 Week 1 (Sep 24-28)

This course will not teach you how to write an OS. That is the subject of an advanced course. This is an introductory course. This course will tell you how an OS works. And this, in turn, will help you use your OS more efficiently when you write code or click away :-) as a simple user. Knowing a bit more about OSes, you may be able to write faster and smaller (less memory) programs.

Let's ask the question how you define what an operation system is. There is no single definition. The most prevailing but yet vague definition is all the software on a computer that serves as an interface between application programs and the hardware. As Sema puts it, it is mostly the "main program" but also the services (drivers and so on) which that come with the main program.

According to Microsoft for example, everything they sell as Windows OS is part of OS. To eliminate companies from the market, they bundle more and more application softwares with their operating system and call them part of OS. When they are sued and experts look at their source code, they really find that the Internet Explorer code for example is a spaghetti code and cannot be removed from the true OS code.

On the other extreme, there is Linux. In Linux context the true OS is the "kernel". It is the code that is released by Linus Torvalds himself. Kernel (core) of an OS is a code that is loaded into memory (RAM) after boot-up. And unlike services the kernel code has to be up in the memory at all times.

Let's talk a little more about Linux. Linux is modular: kernel, drivers, shells, Xwindows, window managers, and daemons (ie. services). We said Linux is part of UNIX family. UNIX has been ported to many CPUs. Linux is a UNIX-port to Intel and Intel-clone processors. We said the first PC UNIX was Xenix made by a company called Santa Cruz Operation in California (in fact on special request from Microsoft). However, it did not get popular because it was not free.

After talking about what this course is about, we watched a movie about Steve Jobs of Apple (father of Mac and iPod) and Bill Gates, called Pirates of Silicon Valley (see here too).