0% found this document useful (0 votes)
144 views

The Linux System: Speaker: Bilal Ahmad

Linux is an open-source operating system based on UNIX standards. It was created in 1991 by Linus Torvalds and has been developed collaboratively worldwide. The document discusses Linux's history and design principles, including process management, scheduling, memory management, file systems, input/output, network structure, and security. Key points are that Linux is free to use and distribute, uses a kernel for core functions, and supports multiple users and tasks through its process management.

Uploaded by

Bilal A. Salimi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views

The Linux System: Speaker: Bilal Ahmad

Linux is an open-source operating system based on UNIX standards. It was created in 1991 by Linus Torvalds and has been developed collaboratively worldwide. The document discusses Linux's history and design principles, including process management, scheduling, memory management, file systems, input/output, network structure, and security. Key points are that Linux is free to use and distribute, uses a kernel for core functions, and supports multiple users and tasks through its process management.

Uploaded by

Bilal A. Salimi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

The Linux System

Speaker :

Bilal Ahmad

What is Linux?

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

Contents to be Discussed
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Contents to be Discussed
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Linux History
Linux is a modern, free operating system based on UNIX standards First developed as a small but self-contained kernel in 1991 by Linus Torvalds, with the major design goal of UNIX compatibility

Linux History
Its history has been one of collaboration by many users from all around the world, corresponding almost exclusively over the Internet. It has been designed to run efficiently and reliably on common PC hardware, but also runs on a variety of other platforms.

Linux History
GNU project started 1984 to produce a Unix-like OS
1. Founded by Richard Stallman 2. Wrote the GNU manifesto in 1985 outlining philosophy 3.Software that is free means more than free of charge

Linux Distributions
Early distributions included SLS and Slack ware. Red Hat and Debian are popular distributions from commercial and noncommercial sources, respectively.

Linux Licensing
The Linux kernel is distributed under the GNU General Public License (GPL), the terms of which are set out by the Free Software Foundation.

Contents to be Discussed
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Design principles
Linux is a multiuser, multitasking system with a full set of UNIX-compatible tools. Its file system adheres to traditional UNIX semantics, and it fully implements the standard UNIX networking model Main design goals are speed, efficiency, and standardization.

Components of Linux System

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 functions through 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.

Contents to be Discussed
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

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 information that the operating system must maintain to track the context of a single execution of a single program. Under Linux, process properties fall into three groups: the processs identity, environment, and context.

Process identity
Process ID (PID). The unique identifier for the process; used to specify processes to the operating system when an application makes a system call to signal, modify, or wait for another process.

Process Environment
The processs environment is inherited from its parent, and is composed of two null-terminated vectors:
- The argument vector lists the command-line arguments used to invoke the running program; conventionally starts with the name of the program itself. - The environment vector is a list of NAME=VALUE pairs that associates named environment variables with arbitrary textual values.

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 the scheduler needs to suspend and restart the process

Contents to be Discussed
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Scheduling
The job of allocating CPU time to different tasks within an operating system

While scheduling is normally thought of as the running and interrupting of processes, in Linux, scheduling also includes the running of the various kernel tasks

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 absolute priorities are more important than fairness.

A processs scheduling class defines which algorithm to apply.

Process Scheduling
Linux implements the FIFO and round-robin real-time scheduling classes; in both cases, each process has a priority in addition to its scheduling class

Content 5
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Memory Management
Linuxs physical memory-management system deals with allocating and freeing pages, groups of pages, and small blocks of memory It has additional mechanisms for handling virtual memory, memory mapped into the address space of running processes

Memory Management
Splits memory into 3 different zones due to hardware characteristics

Splitting of Memory

Content 6
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

File Systems
To the user, Linuxs file system appears as a hierarchical directory tree obeying UNIX semantics. Internally, the kernel hides implementation details and manages the multiple different file systems via an abstraction layer, that is, the virtual file system (VFS).

Content 7
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Input and Output


The Linux device-oriented file system accesses disk 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 separate cache indexed by the physical disk block.

Input and output


Linux splits all devices into three classes: 1. Block devices 2. Character devices 3. Network devices

Content 8
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Network Structure
Networking is a key area of functionality for Linux.
It supports the standard Internet protocols for UNIX to UNIX communications It also implements protocols native to non UNIX operating systems, in particular, protocols used on PC networks, such as AppleTalk and IPX

Network Structure
Internally, networking in the Linux kernel is implemented by three layers of software:
The socket interface Protocol drivers Network device drivers

Content 9
Linux History Design Principles Process Management Scheduling Memory Management File Systems Input and Output Network Structure Security

Security
The pluggable authentication modules (PAM) system is available under Linux.

PAM is based on a shared library that can be used by any system component that needs to authenticate users.

Security
Access control under UNIX systems, including Linux, is performed through the use of unique numeric identifiers (uid and gid).

Thank you

You might also like