Download - Linux System
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 1/39
The Linux SystemSpeaker :
Bilal Ahmad
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 3/39
What is Linux?
A Unix-like Operating System
A famous open source project
Free to use, distribute, modify under a compatible licence
Produced by a large developer and user community
A combination of many projects
Cost of commercial development estimated at USD 7 billion
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 4/39
Contents to be Discussed
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 5/39
Contents to be Discussed
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 6/39
Linux History• Linux is a modern, free
operating system based on
UNIX standards
• First developed as a small butself-contained kernel in 1991 by
Linus Torvalds, with the majordesign goal of UNIXcompatibility
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 7/39
Linux History
• Its history has been one of collaboration by many users from all around the world,
corresponding almost exclusively over theInternet.
• It has been designed to run efficiently andreliably on common PC hardware, but also runson a variety of other platforms.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 8/39
Linux History
GNU project started 1984 toproduce a Unix-like OS
1. Founded by Richard Stallman
2. Wrote the GNU manifesto in 1985 outliningphilosophy
3.Software that is free means more than free of
charge
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 9/39
Linux Distributions
• Early distributions included SLS and Slack ware.
▫ Red Hat and Debian are popular distributions from
commercial and noncommercial sources, respectively.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 10/39
Linux Licensing
• The Linux kernel is distributed under the GNUGeneral Public License (GPL), the terms of which are set out by the Free SoftwareFoundation.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 11/39
Contents to be Discussed
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 12/39
Design principles
• Linux is a multiuser, multitasking system with afull set of UNIX-compatible tools.
• Its file system adheres to traditional UNIXsemantics, and it fully implements the standard
UNIX networking model
• Main design goals are speed, efficiency, andstandardization.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 13/39
Components of Linux System
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 14/39
Components of Linux System• The kernel is responsible for maintaining the important
abstractions of the operating system
• The system libraries define a standard set of functionsthrough which applications interact with the kernel, and which implement much of the operating-system
functionality that does not need the full privileges of kernel code.
• The system utilities perform individual specialized
management tasks.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 15/39
Contents to be Discussed
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 16/39
Process Management• UNIX process management separates the creation of
processes and the running of a new program into two
distinct operations.▫ The fork system call creates a new process
▫ A new program is run after a call to execute
• Under UNIX, a process encompasses all the informationthat the operating system must maintain to track thecontext of a single execution of a single program.
• Under Linux, process properties fall into three groups:the process’s “identity, environment, and context .”
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 17/39
Process identity• Process ID (PID). The unique identifier for the
process; used to specify processes to the
operating system when an application makes asystem call to signal, modify, or wait for anotherprocess.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 18/39
Process Environment
• The process’s environment is inherited from itsparent, and is composed of two null-terminated
vectors:
- The argument vector lists the command-line argumentsused to invoke the running program; conventionally starts
with the name of the program itself.
- The environment vector is a list of “NAME=VALUE” pairsthat associates named environment variables with arbitrary
textual values.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 19/39
Process Context• The (constantly changing) state of a running program at
any point in time
• The scheduling context is the most important part of the process context; it is the information that thescheduler needs to suspend and restart the process
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 20/39
Contents to be Discussed
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 21/39
Scheduling• The job of allocating CPU
time to different tasks
within an operating system• While scheduling is
normally thought of as therunning and interrupting of
processes, in Linux,scheduling also includes therunning of the variouskernel tasks
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 22/39
Process Scheduling
• Linux uses two process-scheduling algorithms:
▫ A time-sharing algorithm for fair preemptive
scheduling between multiple processes.
▫ A real-time algorithm for tasks where absolutepriorities are more important than fairness.
• A process’s scheduling class defines whichalgorithm to apply.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 23/39
Process Scheduling
• Linux implements the FIFO and round-robinreal-time scheduling classes; in both cases, each
process has a priority in addition to itsscheduling class
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 24/39
Content 5
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 25/39
Memory Management
• Linux’s physical memory -management systemdeals with allocating and freeing pages, groups
of pages, and small blocks of memory •
• It has additional mechanisms for handling
virtual memory, memory mapped into theaddress space of running processes
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 26/39
Memory Management
• Splits memory into 3 different zones due tohardware characteristics
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 28/39
Content 6
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 29/39
File Systems• To the user, Linux’s file
system appears as ahierarchical directory
tree obeying UNIXsemantics.
• Internally, the kernelhides implementation
details and manages themultiple different filesystems via anabstraction layer, that is,the virtual file system(VFS).
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 30/39
Content 7
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 31/39
Input and Output
• The Linux device-oriented file system accessesdisk storage through two caches:
▫ Data is cached in the page cache, which is unified with the virtual memory system.
▫ Metadata is cached in the buffer cache, a separatecache indexed by the physical disk block.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 32/39
Input and output
• Linux splits all devices into three classes:
• 1. Block devices
• 2. Character devices
• 3. Network devices
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 33/39
Content 8
• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 34/39
Network Structure• Networking is a key area of functionality for
Linux.
▫ It supports the standard Internet protocols forUNIX to UNIX communications
▫ It also implements protocols native to non UNIXoperating systems, in particular, protocols used onPC networks, such as AppleTalk and IPX
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 35/39
Network Structure• Internally, networking in the Linux kernel is
implemented by three layers of software:
▫ The socket interface
▫ Protocol drivers
▫ Network device drivers
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 36/39
Content 9• Linux History
• Design Principles
• Process Management
• Scheduling
• Memory Management
• File Systems• Input and Output
• Network Structure
• Security
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 37/39
Security• The pluggable authentication modules (PAM)
system is available under Linux.
• PAM is based on a shared library that can beused by any system component that needs toauthenticate users.
7/30/2019 Linux System
http://slidepdf.com/reader/full/linux-system 38/39
Security• Access control under UNIX systems, including Linux, is
performed through the use of unique numeric identifiers
(uid and gid).