Linux System

39
The Linux System Speaker : Bilal Ahmad

Transcript of 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 2/39

What is Linux?

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 27/39

Splitting of Memory

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).

7/30/2019 Linux System

http://slidepdf.com/reader/full/linux-system 39/39

Thank you