230 likes | 346 Views
Operating Systems. Why Bother?. We do not know: Who is Linus Trovalds Who is Andrew Tanenbaum What does the “red devil” logo represent How Bill Gates made his $$$ …. What is this fuss about “open-source” software In addition, we want to learn: What is an Operating System (OS)
E N D
Why Bother? • We do not know: • Who is Linus Trovalds • Who is Andrew Tanenbaum • What does the “red devil” logo represent • How Bill Gates made his $$$ …. • What is this fuss about “open-source” software • In addition, we want to learn: • What is an Operating System (OS) • How it manages computer hardware • IMO, “the” most important subject in a IT degree: • We are doing one!
Applications like Internet Explorer Operating System Computer Hardware A Simple Definition of OS • A complex layer of software between applications and the computer hardware (my own definition) • An operating system (OS) is a computer program that manages the hardware and software resources of a computer (wikipedia) • Its hard to agree on an authoritative definition: • The bad news is that it is not possible (IMO) • The good news is that it is not important
What Needs Learning? • Background: • Computer architecture -- what exactly is managed by the OS • Evolution of OS • Processes: • How OS is executing applications • Memory: • How memory is managed • Scheduling: • How are multiple applications managed • Input, output, and file systems: • How do computers store data on hard disk • Networking: • How do two computers talk to each other • Security: • How to ensure that your data is safe
Text Book • “Operating Systems”, 5th Edition by William Stallings Currently its not available in the library but we have ordered it • We might have to live with the 4th edition!
Why this Book? • This book is very simple and “simple is good” • If time allows, we will cover the whole book • The slides for this books are freely available: • I will use customized slides in the class and will upload it on my website • Do not expect that slides will help you in exams • I’ll be testing your concepts! • Do not expect a question like: • “define operating system and give two examples” • I will recommend that you read through the book (Chapter by Chapter): • Try to understand the OS concepts!
Rules of the Game • Grading Policy: • I will upload it on the course website • We’ll have normal stuff like 2 OHTs, 1 final exams, quizzes, and assignments • In addition, I’d like every student to present something interesting about OS or its applications in the class: • List of topics will be uploaded soon
Anyway .. .. .. • Early computers (1940s era) had no OS • Things got interesting in 1964: • IBM developed System/360 hardware • OS/360 was developed with the aim of “one OS for IBM hardware” • OS/360 evolved in Multics, which inspired UNIX in 1970s • And UNIX changed everything!
Tanenbaum and Minix • Professor of CS at Vrije Universiteit, Amsterdam in the Netherlands • Wrote Minix for research and teaching purposes • http://www.cs.vu.nl/~ast/ • http://en.wikipedia.org/wiki/Andrew_S._Tanenbaum
Linus and Linux • Linus Trovalds is the guy who wrote Linux when he was a student in Finland: • Evolved out of Minix • He is the ultimate authority of Linux OS: • Current estimates suggest that he has 2% contribution to Linux
Linus vs. Tanenbaum • Background: • Linux has “monolithic” kernel • Minix is based on “microkernel” approach • AST posted an email “Linux is obsolete”: • “ … the debate is essentially over. Microkernels have won …” • “ … portability …” • Reply from Linus: • “… look at who makes money off minix, and who gives linux out for free …” • “… your job is being a professor and researcher. That's one hell of a good excuse for some of the brain-damages of minix …” • “.. From a theoretical (and aesthetical) standpoint linux looses ..“ • “.. Linux wins heavily on points of being available now ..” • Linus vs. Tanenbaum: • http://people.fluidsignal.com/~luferbu/misc/Linus_vs_Tanenbaum.html • More on : • http://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debateand Google • Today, Linux is much widely adopted than other non-M$ (Microsoft) Oses: • Of course Windows is the clear market leader
Some Linux Distributions • Red Hat Fedora Linux • Debian • Gentoo • SuSE • Slackware • Ubuntu • Knoppix • Many more …
How Bill Gates made his $$$ • In terms of market-share, M$ Windows is the big boy in OSes … • I’ll let you find out more about this …
Open Source Software • Open source refers to any computer software whose source code is available under a license (or arrangement such as the public domain) that permits users to study, change, and improve the software, and to redistribute it in modified or unmodified form (Wikipedia) • Open Source Initiative: http://www.opensource.org/ • Free Software Foundation: http://www.fsf.org/ • GNU (GNU’s Not Unix) Project: http://www.gnu.org/ • According to GNU: • “Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free coke” • How will companies make money then?
Now About Me • Name: Aamir Shafi • Computer Software Engr. from MCS (2003) • Did my final year project at NIIT • Ph.D. from the Institute of Cosmology and Gravitation at the University of Portsmouth, UK (2006) • Ph.D. Supervisors: • Mark Baker • Bryan Carpenter • Thesis Title: “Nested Parallelism for Multicore Systems Using Java” • Taking care of the Center for High Performance Scientific Computing
Research Interests • Research, development, and evaluation of parallel programming libraries, languages, and paradigms • Also interested in scientific computing and simulations: • Ported a cosmological simulation code to Java • I’m the developer and maintainer of MPJ Express: • A Java HPC library • http://acet.rdg.ac.uk/projects/mpj/ • http://mpj-express.org • My old outdated website: • http://acet.rdg.ac.uk/~mas
Parallel Computing Workshop • At NIIT, we will be conducting a three day workshop on parallel computing: • More details on: http://www.niit.edu.pk/hpsc • All BIT-7 students are encouraged to attend this workshop: • Registration • High Performance Computing or Parallel Computing or Scientific Computing is a very specialized area: • Probably our only chance to get into NASA or ESA …
Lets Start Parallel Computing • Get to know Parallel Computing: • http://www.llnl.gov/computing/tutorials/parallel_comp/ • Get to know Message Passing Interface (MPI): • http://www.llnl.gov/computing/tutorials/mpi • Get to know OpenMP: • http://www.llnl.gov/computing/tutorials/openMP/ • Try running a “Hello World” MPJ Express program: • Download and install MPJ Express from (http://acet.rdg.ac.uk/projects/mpj) • Need help: • See me in the HPC lab
My Take on Research • In CS, research and development are strongly tied together • Normally researchers in HPC are excellent programmers: • Fortran, C, or Java • A simple definition of research is “better understanding of things” • Research could be very frustrating and challenging at times • Good research always start with a lot of reading and thorough literature review • Anyway, its an OS class …
Summary • Covered some popular UNIX-based OSes • Reminded ourselves the importance of operating systems • Linux is a good OS, and deserves “a try” from us • Center for High Performance Scientific Computing is up and running: • Maybe you could join us while we are starting • Next week we will talk about “computer architecture and evolution of OS” -- basically Chapter 1 and 2 of Stallings book