11-1
THE LINUX SYSTEM
DesigneD by:
Nilesh Jaiswar
gdfdgdfdh
fhfjdfhjgfh
gfgjdfhgjd
hffkkfjgkfj
11-2
INDEX
• History
• Design principals
• Components of linux system
• Kernel modules
• Process management
• Process and threads
• Scheduling in linux
• Process scheduling
• Memory management
• File systems
• I/O in linux
• Interprocess communication
• Linux networking structure
• Security
• Conclusion
11-3
HISTORY
11-4
DESIGN PRINCIPLES
 LINUX: A Multitasking, Multiuser and
full set of UNIX compatible tools.
It is capable of operating under 4Mb of
RAM
It contains POSIX standards.
It act as a interface for both the
programmer and the user.
11-5
USER INTERFACE
Users operate linux through CLI and
GUI.
On desktop systems: KDE Plasma
Desktop,GNOME and Xfce.
Linux kernel and other components are
free and open source software.
11-6
COMPONENTS OF LINUX SYSTEM
Linux system consists of three main bodies:
• The kernel
• The system libraries
• The system utilities
11-7
KERNEL MODULES
Three components of the module:
• Module management
• Driver Registration
• Conflict Resolution
11-8
PROCESS MANAGEMENT
Two different operations:
•The creation of process
•Running of new program
Terms in linux:
•Fork-a new process is created by fork system call.
•Execve-a new program is run after a execve call
•Clone-creates a new process sharing parent data structure
having it’s own identity.
11-9
PROCESS MANAGEMENT
Process properties:
• Process identity:
a. Process ID(PID):
b. Credentials:
c. Personality:
• Process environment:
• Process context:
a. Scheduling context:
b. Accounting:
c. File table:
d. File system context:
e. Single handler table:
f. Virtual memory context:
11-10
Processes and Threads
• Threads are light weight processes(LWPs)
• Processes are heavy weight processes(HWPs)
• Fundamental parts of process:
a. code(text)
b. data(vm)
c. stack
d. file I/O
e. signal table
• Threads: user level and kernel level
11-11
PROCESSES AND THREADS
1. REPRESENT THE EXECUTION
OF SINGLE
PROGRAM
2. TWO SEPARATE
PROCESSES WILL HAVE
THEIR OWN INDEPENDENT
ADDRESS SPACE
1. REPRESENT SEPARATE ,
CONCURRENT EXECUTION
WITHIN SINGLE PROCESS
2. TWO THREADS WITHIN A
PROCESS SHARE SAME
ADDRESS SPACE
11-12
SCHEDULING
• The linux scheduler is a pre-emptive , priority-based
algorithm
• Two separate priority ranges :
1. Real-time range( 0 to 99)
2. ice-value range (100 to 140)
• Once kernel code start running , then it is the only kernel
code till the following event occurs.
1. An interrupt
2. A page fault
3. A kernel code call to the scheduler function itself
11-13
PROCESS SCHEDULING
Linux supports two process scheduling algorithms
• Time- sharing algorithm
• Real- time task algorithm
1.First-in first-out (FIFO)
2.Round Robin
11-14
MEMORY MANAGEMENT
Two components in Memory management:
• Physical memory management
• Virtual memory
Physical memory management: This deals with allocation
and deallocation of pages, group of pages and blocks of memory.
Virtual memory: it is the memory mapped into the address
space of running process.
11-15
PHYSICAL MEMORY MANAGEMENT
•Physical memory manager is a page allocator, which uses
“buddy heap” algorithm in order to keep track of available address
space .
Ex. Splitting of memory in buddy heap.
16 KB
8KB
8 KB
8 KB
4 KB
4 KB
11-16
VIRTUAL MEMORY
• Virtual memory is responsible for maintaining the address
space visible to each process.
• There are two situations where the kernel creates a new
virtual address space
a) when a process runs a new program with the “exec”
system call.
b) When a new process is created by the “fork” system call.
11-17
FILE SYSTEMS
• Linux file system retains UNIX’s features. here file can
be anything capable of handling I/O of stream of data.
• The virtual file system is designed using object oriented
principles. It consists of two components,
i. A set of definition which define what a file object is
allowed to look like.
ii. A layer of software to manipulate those objects.
3 main object defined by VTS are
i. Inode object
ii. File object structure
iii. File system object
11-18
I/O IN LINUX
Linux splits all the I/O devices into three groups
a. Block devices
b. Character devices
c. Network devices
• Block devices include all devices that allow random
access like HDD, floppy disk & CD-ROMS.
• Character devices include other devices with the main
exception of network devices like Magnetic tap devices.
• Network devices are dealt differently from both devices.
user cannot transfer directly data to network devices
but communicate indirectly. Ex. Tty discipline.
11-19
Inter-Process Communication
VARIOUS types of MECHANISM
• SIGNAL
• PIPES
• FISOS
• Message Queues
• Semaphores
• Shared Memory
11-20
LINUX NETWORK STRUCTURE
Linux kernel is implemented using the
three layers of software internally-
• System call interface
• Protocol agnostic interface
• Network protocols
11-21
SECURITY
In Linux, Security issues can be
classified in two group-
• AUTHENTICATION
• ACCESS CONTROL
11-22
Conclusion
“When is it best to use Linux and when
should some other operating system be
preferred?”
It all depends on the user
11-23
REFERENCES
•www. Wikipedia.com
•www.trimble.com
•www.wiley.com
•Book: Operating system concepts

Linux intro to advance

  • 1.
    11-1 THE LINUX SYSTEM DesigneDby: Nilesh Jaiswar gdfdgdfdh fhfjdfhjgfh gfgjdfhgjd hffkkfjgkfj
  • 2.
    11-2 INDEX • History • Designprincipals • Components of linux system • Kernel modules • Process management • Process and threads • Scheduling in linux • Process scheduling • Memory management • File systems • I/O in linux • Interprocess communication • Linux networking structure • Security • Conclusion
  • 3.
  • 4.
    11-4 DESIGN PRINCIPLES  LINUX:A Multitasking, Multiuser and full set of UNIX compatible tools. It is capable of operating under 4Mb of RAM It contains POSIX standards. It act as a interface for both the programmer and the user.
  • 5.
    11-5 USER INTERFACE Users operatelinux through CLI and GUI. On desktop systems: KDE Plasma Desktop,GNOME and Xfce. Linux kernel and other components are free and open source software.
  • 6.
    11-6 COMPONENTS OF LINUXSYSTEM Linux system consists of three main bodies: • The kernel • The system libraries • The system utilities
  • 7.
    11-7 KERNEL MODULES Three componentsof the module: • Module management • Driver Registration • Conflict Resolution
  • 8.
    11-8 PROCESS MANAGEMENT Two differentoperations: •The creation of process •Running of new program Terms in linux: •Fork-a new process is created by fork system call. •Execve-a new program is run after a execve call •Clone-creates a new process sharing parent data structure having it’s own identity.
  • 9.
    11-9 PROCESS MANAGEMENT Process properties: •Process identity: a. Process ID(PID): b. Credentials: c. Personality: • Process environment: • Process context: a. Scheduling context: b. Accounting: c. File table: d. File system context: e. Single handler table: f. Virtual memory context:
  • 10.
    11-10 Processes and Threads •Threads are light weight processes(LWPs) • Processes are heavy weight processes(HWPs) • Fundamental parts of process: a. code(text) b. data(vm) c. stack d. file I/O e. signal table • Threads: user level and kernel level
  • 11.
    11-11 PROCESSES AND THREADS 1.REPRESENT THE EXECUTION OF SINGLE PROGRAM 2. TWO SEPARATE PROCESSES WILL HAVE THEIR OWN INDEPENDENT ADDRESS SPACE 1. REPRESENT SEPARATE , CONCURRENT EXECUTION WITHIN SINGLE PROCESS 2. TWO THREADS WITHIN A PROCESS SHARE SAME ADDRESS SPACE
  • 12.
    11-12 SCHEDULING • The linuxscheduler is a pre-emptive , priority-based algorithm • Two separate priority ranges : 1. Real-time range( 0 to 99) 2. ice-value range (100 to 140) • Once kernel code start running , then it is the only kernel code till the following event occurs. 1. An interrupt 2. A page fault 3. A kernel code call to the scheduler function itself
  • 13.
    11-13 PROCESS SCHEDULING Linux supportstwo process scheduling algorithms • Time- sharing algorithm • Real- time task algorithm 1.First-in first-out (FIFO) 2.Round Robin
  • 14.
    11-14 MEMORY MANAGEMENT Two componentsin Memory management: • Physical memory management • Virtual memory Physical memory management: This deals with allocation and deallocation of pages, group of pages and blocks of memory. Virtual memory: it is the memory mapped into the address space of running process.
  • 15.
    11-15 PHYSICAL MEMORY MANAGEMENT •Physicalmemory manager is a page allocator, which uses “buddy heap” algorithm in order to keep track of available address space . Ex. Splitting of memory in buddy heap. 16 KB 8KB 8 KB 8 KB 4 KB 4 KB
  • 16.
    11-16 VIRTUAL MEMORY • Virtualmemory is responsible for maintaining the address space visible to each process. • There are two situations where the kernel creates a new virtual address space a) when a process runs a new program with the “exec” system call. b) When a new process is created by the “fork” system call.
  • 17.
    11-17 FILE SYSTEMS • Linuxfile system retains UNIX’s features. here file can be anything capable of handling I/O of stream of data. • The virtual file system is designed using object oriented principles. It consists of two components, i. A set of definition which define what a file object is allowed to look like. ii. A layer of software to manipulate those objects. 3 main object defined by VTS are i. Inode object ii. File object structure iii. File system object
  • 18.
    11-18 I/O IN LINUX Linuxsplits all the I/O devices into three groups a. Block devices b. Character devices c. Network devices • Block devices include all devices that allow random access like HDD, floppy disk & CD-ROMS. • Character devices include other devices with the main exception of network devices like Magnetic tap devices. • Network devices are dealt differently from both devices. user cannot transfer directly data to network devices but communicate indirectly. Ex. Tty discipline.
  • 19.
    11-19 Inter-Process Communication VARIOUS typesof MECHANISM • SIGNAL • PIPES • FISOS • Message Queues • Semaphores • Shared Memory
  • 20.
    11-20 LINUX NETWORK STRUCTURE Linuxkernel is implemented using the three layers of software internally- • System call interface • Protocol agnostic interface • Network protocols
  • 21.
    11-21 SECURITY In Linux, Securityissues can be classified in two group- • AUTHENTICATION • ACCESS CONTROL
  • 22.
    11-22 Conclusion “When is itbest to use Linux and when should some other operating system be preferred?” It all depends on the user
  • 23.