Unix-Linux Architecture
Unix-Linux Architecture
ARCHITECTURE
Unit 8
Introduction to Unix
• Unix is an Operating System that is truly the base of all Operating
Systems like Ubuntu, Solaris, POSIX, etc.
• It was developed in the 1970s by Ken Thompson, Dennis Ritchie,
and others in the AT&T Laboratories.
• It was originally meant for programmers developing software rather
than non-programmers.
• UNIX is a family of multitasking, multiuser computer operating
systems developed in the mid 1960s at Bell Labs. It was originally
developed for mini computers and has since been ported to various
hardware platforms.
• UNIX has a reputation for stability, security, and scalability, making it
a popular choice for enterprise-level computing.
• The basic design philosophy of UNIX is to provide simple, powerful
tools that can be combined to perform complex tasks.
• It features a command-line interface that allows users to interact with
the system through a series of commands, rather than through a
graphical user interface (GUI).
Key features of UNIX
• Multiuser support: UNIX allows multiple users to simultaneously
access the same system and share resources.
• Multitasking: UNIX is capable of running multiple processes at the
same time.
• Shell scripting: UNIX provides a powerful scripting language that
allows users to automate tasks.
• Security: UNIX has a robust security model that includes file
permissions, user accounts, and network security features.
• Portability: UNIX can run on a wide variety of hardware platforms,
from small embedded systems to large mainframe computers.
• Communication: UNIX supports communication methods using the
write command, mail command, etc.
• Process Tracking: UNIX maintains a record of the jobs that the user
creates. This function improves system performance by monitoring
CPU usage. It also allows you to keep track of how much disk space
each user uses, and the use that information to regulate disk space.
Unix Architecture
Unix Architecture
• Layer-1: Hardware: It consists of all hardware related
information.
• Layer-2: Kernel: This is the core of the Operating System. It is
a software that acts as the interface between the hardware and
the software. Most of the tasks like memory management, file
management, network management, process management,
etc., are done by the kernel.
• Layer-3: Shell commands: This is the interface between the
user and the kernel. Shell is the utility that processes your
requests. When you type in a command at the terminal, the
shell interprets the command and calls the program that you
want. There are various commands like cp, mv, cat, grep, id,
wc, nroff, a.out and more.
• Layer-4: Application Layer: It is the outermost layer that
executes the given external applications.
Linux Architecture
Kernel:
• Kernel is the main core component if Linux, it controls the activity of other hardware
components. It visualizes the common hardware resources and provide each
process with necessary virtual resources. It makes the process to wait in the ready
queue and execute in consequently to avoid any kind of conflict.
• Memory management
unit: This kernel sub unit is
responsible for proper
distribution of memory resources
among the concurrently running
process.
System utility:
• System utilities are the commend line tools that preforms
various tasks provided by user to make system management
and administration better.
• These utilities enables user to perform different tasks, such as
file management, system monitoring, network configuration,
user management etc.
Unix file System