Introduction To Unix OS (Final)
Introduction To Unix OS (Final)
A Report on
CASE STUDY ON UNIX BASED SYSTEMS
Bachelor of Engineering in Computer Science and Engineering
Submitted by: MANASA S
USN: 1GG23CS060
Semester: 3rd Semester (CSE)
Under the guidance of
Mrs. KOMALA K V
~1~
GOVERNMENT ENGINEERING COLLEGE RAMANAGARA-562159
CERTIFICATE
Certified that MANASA S bearing USN 1GG23CS034 has submitted report on topic CASE
STUDY ON UNIX BASED SYSTEMS carried out during III semester, in partial fulfillment of
Internal Assessment [CIE for the theory component of the IPCC] for the subject OPERATING
SYSTEMS (BCS303) in Computer Science and Engineering Department for the academic year
2024-25.
10
~2~
UNIX Based Systems
Introduction to Unix OS
What is Unix?
~3~
to be portable to various platforms, a key factor in its longevity and widespread
adoption. Its modular design allows for easy customization and extension.
This document chronicles the evolution of the UNIX operating system, from
its humble beginnings to its enduring impact on the computing world. It explores the
key figures involved, the technological innovations that shaped its development, and
the influence it has had on modern operating systems and software development.
The origins of UNIX can be traced back to the 1960s, a time of rapid
advancements in computer technology. The Bell Labs research group, known for its
groundbreaking work in telecommunications, was at the forefront of this
technological revolution. They developed the Multics (Multiplexed Information and
Computing Service) operating system, a highly ambitious project aiming to create a
revolutionary time-sharing system. However, Multics faced significant challenges
and ultimately proved too complex for the limited resources of the time. This led to
the eventual withdrawal of Bell Labs from the project.
~4~
He started developing UNIX in 1969, using a discarded Digital Equipment
Corporation PDP-7 computer, a much more modest machine than the ones used for
Multics.
1BSD (PDP-11)
The earliest distributions of Unix from Bell Labs in the 1970s included
the source code to the operating system, allowing researchers at universities to
modify and extend Unix. The operating system arrived at Berkeley in 1974, at the
request of computer science professor Bob Fabry who had been on the program
committee for the Symposium on Operating Systems Principles where Unix was
first presented. A PDP-11/45 was bought to run the system, but for budgetary
~6~
reasons, this machine was shared with the mathematics and statistics groups at
Berkeley, who used RSTS, so that Unix only ran on the machine eight hours per day
(sometimes during the day, sometimes during the night). A larger PDP-11/70 was
installed at Berkeley the following year, using money from the Ingres database
project.
Also in 1975, Ken Thompson took a sabbatical from Bell Labs and came to
Berkeley as a visiting professor. He helped to install Version 6 Unix and started
working on a Pascal implementation for the system. Graduate students Chuck Haley
and Bill Joy improved Thompson's Pascal and implemented an improved text
editor, ex. Other universities became interested in the software at Berkeley, and so
in 1977 Joy started compiling the first Berkeley Software Distribution (1BSD),
which was released on March 9, 1978. 1BSD was an add-on to Version 6 Unix rather
than a complete operating system in its own right. Some thirty copies were sent out.
Unix versions from Bell Labs were designated by the edition of the user's
manual with which they were accompanied. Released in 1979, the Seventh Edition
was preceded by Sixth Edition, which was the first version licensed to commercial
users. Development of the Research Unix line continued with the Eighth Edition,
~7~
which incorporated development from 4.1BSD, through the Tenth Edition, after
which the Bell Labs researchers concentrated on developing Plan 9.
V7 was the first readily portable version of Unix. As this was the era
of minicomputers, with their many architectural variations, and also the beginning
of the market for 16-bit microprocessors, many ports were completed within the first
few years of its release. The first Sun workstations (then based on the Motorola
68000) ran a V7 port by UniSoft; the first version of Xenix for the Intel 8086 was
derived from V7 and Onyx Systems soon produced a Zilog Z8000 computer
running V7. The VAX port of V7, called UNIX/32V, was the direct ancestor of the
popular 4BSD family of Unix systems.
DEC distributed their own PDP-11 version of V7, called V7M (for
modified). V7M, developed by DEC's original Unix Engineering Group (UEG),
contained many enhancements to the kernel for the PDP-11 line of computers
including significantly improved hardware error recovery and many additional
device drivers. UEG evolved into the group that later developed Ultrix.
The adoption of UNIX began with its use within Bell Labs and other research
institutions. The early adopters recognized its power and efficiency, particularly for
software development. This early adoption played a crucial role in its success, as it
provided a platform for developers to create innovative applications that further
fueled its adoption.
The popularity of UNIX soared in the 1970s and 1980s, driven by its
portability and its ability to handle complex tasks. Its popularity spread to
universities, government agencies, and eventually to the commercial sector. UNIX
became the preferred choice for researchers, programmers, and systems
administrators worldwide.
~9~
As UNIX gained popularity, numerous variants emerged. The development of
these variants was spurred by different requirements and the desire to tailor the
operating system to specific needs. The most notable variants include:
The Unix file system is hierarchical, meaning files and directories are
organized in a tree-like structure rooted at a single directory, typically referred to as
the root directory ("/"). Every file and directory resides under this root, creating a
clear and organized system. This structure facilitates navigation, access control, and
efficient management of large amounts of data.
~ 11 ~
Unix Commands and Utilities
Unix provides a rich set of commands and utilities for various tasks. These
commands are typically short and efficient, allowing for powerful command-line
interactions. Common commands include `ls` (list files), `cd` (change directory),
`cp` (copy files), `mv` (move files), `rm` (remove files), and `mkdir` (make
directory). These are fundamental tools used for file management and navigation.
More advanced tools exist for text processing, network administration, and system
maintenance.
Popular scripting languages include Bash (for shell scripting) and Perl and
Python (for more general-purpose scripting). Shell scripts are often used for
~ 12 ~
automating system administration tasks, while more powerful languages like Python
are used for more complex automation and data processing.
Unix manages processes using a sophisticated system that allows for efficient
multitasking and resource allocation. Each process has its own memory space and
resources. The operating system uses scheduling algorithms to allocate CPU time
fairly among running processes. Commands like `ps` (process status) and `top` (real-
time process viewer) provide information about running processes, allowing
administrators to monitor system activity and identify potential bottlenecks.
Unix employs a robust security model based on user accounts and file
permissions. Each user has a unique account with a specific set of privileges. File
permissions control access to files and directories, determining which users can read,
write, and execute them. This granular control allows for fine-tuning security to
protect sensitive data and system resources. The `chmod` command is used to
modify file permissions.
~ 13 ~
The Evolution of OS: From Mainframes to Mobile
The future of OS will be shaped by several key trends: the continued growth
of cloud computing, the pervasive adoption of AI and ML, and the rise of edge
computing. Challenges include ensuring security and privacy, addressing ethical
considerations of AI, and managing the increasing complexity of OS. Opportunities
~ 14 ~
exist in developing more efficient, sustainable, and personalized OS. The evolution
of OS is an ongoing process, driven by technological advancements and evolving
user needs. This continuous evolution will unlock further innovations, transforming
how we interact with technology and shaping the future of computation.
***
~ 15 ~