Page 405 - DCAP103_Principle of operating system
P. 405

Principles of Operating Systems



                   Notes           14.7  Security in Linux
                                   14.8  Summary
                                   14.9  Keywords
                                   14.10  Review Questions
                                   14.11  Further Readings


                                 Objectives

                                 After studying this unit, you will be able:
                                    •  Discuss overview of Linux

                                    •  Explain process of Linux
                                    •  Understand of Booting process of Linux
                                    •  Explain Memory management of Linux
                                    •  Explain Input/output of Linux

                                    •  Discuss Linux file system
                                    •  Understand Security of Linux

                                 Introduction
                                 During the early years of MINIX development and discussion on the Internet, many people
                                 requested (or in many cases, demanded) more and better features, to which the author often
                                 said “No” (to keep the system small enough for students to understand completely in a one-
                                 semester university course). This continuous ”No” irked many users. At this time, FreeBSD was
                                 not available, so that was not an option. After a number of years went by like this, a Finnish
                                 student, Linus Torvalds, decided to write another UNIX clone, named Linux, which would be
                                 a full-blown production system with many features that MINIX was initially lacking.
                                 The first version of Linux, 0.01, was released in 1991. It was cross-developed on a MINIX machine
                                 and borrowed numerous ideas from MINIX, ranging from the structure of the source tree to the
                                 layout of the file system. However, it was a monolithic rather than a microkernel design, with
                                 the entire operating system in the kernel. The code size totaled 9,300 lines of C and 950 lines of
                                 assembler, roughly similar to MINIX version in size and also roughly comparable in functionality.
                                 Linux rapidly grew in size and evolved into a full production UNIX clone as virtual memory, a
                                 more sophisticated file system, and many other features were added. Although it originally ran
                                 only on the 386 (and even had embedded 386 assembly codes in the middle of C procedures),
                                 it was quickly ported to other platforms and now runs on a wide variety of machines, just as
                                 UNIX does. One difference with UNIX does stand out however—Linux makes use of many
                                 special features of the gcc compiler and would need a lot of work before it would compile with
                                 an ANSI standard C compiler.
                                 The next major release of Linux was version 1.0, issued in 1994. It was about 165,000 lines of
                                 code and included a new file system, memory-mapped files and BSD-compatible networking
                                 with sockets and TCP/IP. It also included many new device drivers. Several minor revisions
                                 followed in the next two years. By this time, Linux was sufficiently compatible with UNIX that
                                 a vast amount of UNIX software was ported to Linux, making it far more useful than it would
                                 have otherwise been. In addition, a large number of people were attracted to Linux and began
                                 working on the code and extending it in many ways under Torvalds’ general supervision.
                                 The  next  major  release,  2.0  was  made  in  1996.  It  consisted  of  about  470,000  lines  of  C
                                 and  8000  lines  of  assembly  code.  It  included  support  for  64  bit  architectures,  symmetric
                                 multiprogramming, new networking protocols and numerous other features. A large fraction
                                 of the total code mass was taken up by an extensive collection of device drivers. Additional



        398                               LOVELY PROFESSIONAL UNIVERSITY
   400   401   402   403   404   405   406   407   408   409   410