Module-5
Module-5
1
Function of Operating system
1. Process Management
2. Process Synchronization
3. Memory Management
4. CPU Scheduling
5. File Management
6. Security
The Three Main Os
Windows Operating System
Features
It is designed to run on any standard x86 Intel and AMD hence most of the hardware
vendors make drivers for windows like Dell, HP, etc.
2
It supports enhanced performance by utilizing multi-core processors.
It comes preloaded with many productivity tools which helps to complete all types of
everyday tasks on your computer.
Windows has a very large user base so there is a much larger selection of available
software programs, utilities.
Windows is backward compatible meaning old programs can run on newer versions.
Hardware is automatically detected eliminating need of manually installing any device
drivers.
Drawbacks
Windows can be expensive since the OS is paid license and majority of its applications
are paid products.
Windows has high computer resource requirement like it should have high ram
capacity, a lot of hard drive space and good graphics card.
Windows slows and hangs up if the user loads up many programs at the same time.
Windows includes network sharing that can be useful if user has a network with many
PCs.
Windows is vulnerable to virus attacks since it has a huge user base and users have to
update OS to keep up-to-date with security patches.
MacOS
Mac OS
Features
User-friendly interface: macOS has a clean and intuitive graphical user interface,
making it easy to use for both beginners and advanced users.
Integration with Apple’s ecosystem: macOS integrates well with Apple’s other
products, such as the iPhone, iPad, and Apple Watch, allowing for seamless
connectivity and data transfer between devices.
3
Built-in applications: macOS comes with a range of built-in applications, such as
iMessage, FaceTime, and Safari, making it possible to perform a wide range of tasks
without having to install additional software.
High-quality software: Apple is known for its focus on quality, and macOS is no
exception. The operating system includes high-quality applications and is known for
its stability and reliability.
Drawbacks
Price: macOS is a proprietary operating system, and Mac computers are typically
more expensive than other types of computers.
Limited hardware compatibility: Because macOS is only available on Apple’s Mac
computers and laptops, users are limited in terms of hardware compatibility, especially
when compared to other operating systems like Windows or Linux.
Proprietary software: Many of the applications and software available for macOS
are proprietary and only available from Apple’s App Store, which can limit user choice
and flexibility.
Lack of customization: Unlike other operating systems, such as Linux, macOS has
limited customization options, making it less flexible for advanced users who want to
change the look and feel of their operating system.
In conclusion, macOS is a high-quality operating system with a user-friendly interface and
tight integration with Apple’s ecosystem. However, it is more expensive and less
customizable than other operating systems, and is limited to Apple’s hardware.
LINUX Operating System
The Linux OS is an open source operating system project that is a freely distributed, cross-
platform operating system developed based on UNIX. This operating system is developed by
Linus Torvalds. The name Linux comes from the Linux kernel. It is basically the system
software on a computer that allows apps and users to perform some specific task on the
computer. The development of Linux operating system pioneered the open source
development and became the symbol of software collaboration.
Features
Linux is free can be downloaded from the Internet or redistribute it under GNU
licenses and has the best community support.
Linux OS is easily portable which means it can be installed on various types of
devices like mobile, tablet computers.
4
It is a multi-user, multitasking operating system.
BASH is the Linux interpreter program which can be used to execute commands.
Linux provides multiple levels of file structures i.e. hierarchical structure in which all
the files required by the system and those that are created by the user are arranged.
Linux provides user security using authentication features and also threat detection
and solution is very fast because Linux is mainly community driven.
Drawbacks
There’s no standard edition of Linux hence confusing for users and also becoming
familiar with the Linux may be a problem for new users.
More difficult to find applications to support user needs since Linux does not
dominate the market.
Since some applications are developed specifically for Windows and Mac, those might
not be compatible with linux and sometimes users might not have much of a choice to
choose between different applications like in Windows or Mac since most apps are
developed for operating systems that have a huge user base.
Some hardware may not be incompatible with Linux since it has patchier support for
drivers which may result in malfunction.
There are plenty of forums to resolve Linux issues, but it may not always match the
user’s own level of technical understanding.
File management is a critical component of every operating system since it involves the
organization, manipulation, storage, and retrieval of data stored in files. Files are data units
on secondary storage devices like hard disks, solid-state drives, or external storage media.
Operating systems include operations and utilities for efficiently managing these files.
File Hierarchy
The concept of a File Hierarchy is crucial in operating system file management. It involves
organizing files and directories (or folders) in a hierarchical structure that resembles a tree.
This system allows users to logically and conveniently arrange and handle their files. The
file Hierarchy concept is utilized by various operating systems, such as Windows, macOS,
Linux, and others.
o Tree Structure:The file hierarchy is organized in a tree structure with the root
directory at the top. The other directories and files branch off from the root,
like branches and leaves. Users can navigate to different directories and access files
from the root directory.
5
o Directories: Directories, or folders, are like storage containers for files and
subdirectories. They serves the purpose of organizing related files and folders. As each
directory can hold multiple files or other directories, a hierarchical structure is created.
o Subdirectories: Directories can contain subdirectories or directories within
directories, allowing for deeper organization and structure in the file system. This
nesting enables a more organized and easily understandable file organization system.
o Paths:In the file hierarchy, every file and directory has a specific path that shows its
location relative to the root directory. A path consists of multiple directory names
separated by delimiters, such as '/' in Unix or '\' in Windows. For example, the Linux
path "/home/user/documents/file.txt" refers to a file named "file.txt" within
the "documents" directory, which is inside the "user" directory, itself contained
within the "home"
o Navigation: Users can navigate the file hierarchy by moving up and down the
directory tree. Uphill travel is commonly referred to as "going up" or "going back",
whereas downhill travel is referred to as "going down" or "entering" a directory.
This navigation allows users to access files and directories stored throughout the
system.
o Path Resolution: When a user types a file or directory path into the operating system,
the path is resolved to find the desired file or location. The resolution involves
traversing the directory tree from the root to the specified location.
o Current Directory: Most operating systems maintain the current working directory. It
refers to the directory where a user is actively working. When a file or directory path
is given without specifying a starting point (e.g., "file.txt" instead
of "/home/user/file.txt"), it is assumed to be relative to the current working directory.
o Symbolic Links (Symlinks): Symbolic links, known as Symlinks, are unique files
that act as pointers to other files or directories within the file system. They are
supported by certain operating systems. The purpose of symbolic links is to provide
shortcuts or references to frequently accessed files and folders, simplifying navigation
to those locations.
The File Hierarchy concept is an important component of file management in operating
systems because it provides a systematic and organized approach to storing and accessing
files and directories. It streamlines the data organization process, improves file system
navigation, and improves the overall user experience when working with data on computers
and other devices.
File Operations
File operations are key operating system functions for successfully managing files. Users
and applications can utilize these activities to interact with files, read and write data, create
new files, and execute different operations on existing files. Understanding file operations is
essential for managing files in any operating system.
6
o Create: The create function enables users and programs to generate new files in the
file system. When a new file is created, it begins empty, and the operating system
assigns it a distinctive file name, along with attributes such as permissions,
timestamps, and file size.
o Open: The open function is a crucial feature that enables users and applications to
access files stored in the file system. When you open a file, it establishes a connection
between the file and the application, allowing the application to interact with the file
by either reading or writing data. This functionality serves as a fundamental
mechanism for managing and manipulating files within computer systems.
o Read: An application can use the read action to read the contents of a file. When a
file is opened for reading, the operating system grants the application access to the
data within the file. After that, the application can process or display this data.
o Write: The write action in programming enables an application to make changes to a
file. When a file is opened for writing, the application can add, modify, or replace
data. In a file, write operation can be done at any position within the file or by
appending data at the end.
o Close: Closing a file in an application marks the end of communication between them.
When a file is closed, any changes made by the application are usually saved, and the
file becomes accessible for use by other applications.
o Delete: Users and applications can use the delete function to remove files from the
file system and free up disk space. This action permanently erases the file, making its
contents inaccessible.
o Seek: The seek action allows users or apps to move the read/write location within a
file. The program can direct the read/write pointer to a specified location in the file by
specifying an offset from the beginning, end, or current position.
File operations are required for users and applications to operate with files efficiently. They
are the foundation of many software programs and are essential for data management, data
integrity, and user cooperation in a multiuser environment. Modern operating systems feature
a full file operation set, allowing users to create, access, and modify files easily.
File Attributes
File attributes refer to the metadata associated with files in the file system. They provide
comprehensive information beyond names and contents. Operating systems utilize these
attributes to store crucial details like permissions, timestamps, file types, and ownerships.
Understanding file properties is vital for effectively controlling and limiting access to files.
o File Name: The file name is a crucial element that uniquely identifies a file within its
directory. It serves to refer to the file and locate it in the file system. File names often
adhere to specific standards and norms set by operating systems, including regulations
regarding length and permissible characters.
7
o Extension: The file extension is a file name component that appears after the last
period ('.') and specifies the file's type or format. It helps the operating system and
other applications recognize and handle file information. For example, a ".txt" file is
frequently called a plain text file.
o File Type:The file type attribute specifies the file's content category or format. The
general file types include text, photographs(images), audio files, videos, and any
executable programs.
o File Permissions: With this feature, we can control all the files present in the system
by defining who can access which files and the access controls they have, thus
avoiding unauthorized access and protecting the information. These permissions
include which user can read, write, or append to the existing files. Permissions often
represent access privileges for the file owner, the group, and others (non-group or
owner users). Common permissions include read (r), write (w), and execute (x).
o Timestamps: Files contain three major timestamps that indicate when they
were created, modified, and accessed.
o Read-Only Flag: Some operating systems allow you to mark files as read-only and
disable any edits or writes to the file while still allowing read access. It can be
beneficial for safeguarding crucial files against unauthorized changes.
File attributes are important in file management because they provide important information
about files while allowing the operating system to regulate file access and maintain data
security. They also help apps to handle files correctly based on their type and content.
Understanding and maintaining file characteristics is a critical ability for users and system
administrators to have to organize and safeguard data within the file system efficiently.
File System Types
File systems manage how files are saved, sorted, and accessed on storage media within an
operating system. Different operating systems support several file system types, each with its
traits, capabilities, and limitations.
File Allocation Table (FAT)
FAT is a file system specifically designed for small-scale storage devices like floppy
disks and early hard drives. It uses a data structure (the File Allocation Table (FAT)) to track
clusters on the disk and their allocation status. Each entry in the table represents a disc
cluster.
There are certain limitations to FAT file systems, including restricted file size support and the
potential for fragmentation. However, they enjoy broad compatibility with various operating
systems and are extensively employed in memory cards and USB devices.
New Technology File System (NTFS)
The NTFS file system by Microsoft is a modern file system specifically designed
for Windows operating systems. It supports large file sizes and partitions, along with built-in
8
features like file compression, access control lists (ACLs) for precise permissions,
encryption, and journaling to enhance data consistency and recovery.
Apple File System (APFS)
APFS is a modern file system developed by Apple that replaces HFS+ in macOS
and iOS devices. APFS features have several improvements, including increased
performance, space sharing (which optimizes disk space allocation), copy-on-write (which
decreases data duplication), and snapshots (which allow users to create read-only copies of
the file system at specific times). APFS also supports encryption and works better
with solid-state disks (SSDs).
Zettabyte File System (ZFS)
Sun Microsystems, now Oracle, developed the ZFS file system, which is widely utilized in
various BSD based operating systems like Oracle Solaris. ZFS incorporates a wide range of
advanced features, including checksum-based data integrity protection, copy-on-write
support, snapshot capabilities, and straightforward storage pool expansion. This file system
has garnered a reputation for its inherent data safety and scalability, making it an exceptional
option for servers and storage systems.
9
Scheduling: It is the process of determining from multiple number of processes
which process should be allocated a particular resource at a given time.
Deadlock: When two or more processes are waiting for some resource but resources
are busy somewhere else and resources are also waiting for some process to complete
their execution . In such condition neither resources will be freed nor process would
get it and this situation is called deadlock.
Semaphore: It is the method or tool which is used to prevent race condition.
Semaphore is an integer variable which is used in mutual exclusive manner by various
concurrent cooperative process in order to achieve synchronization.
Mutual Exclusion: It is the technique to prevent multiple number of process to access
the same resources simultaneously.
Memory Management: Memory management is a method used in the operating
systems to manage operations between main memory and disk during process
execution.
Features or characteristics of the Resource management of operating system:
Resource scheduling: The OS allocate available resources to the processes. It decides
the sequence of which process will get access to the CPU, memory, and other
resources at any given time.
Resource Monitoring: The operating system monitors which resources is used by
which process and also take action if any process takes many resources at the same
time causing into deadlock.
Resource Protection: The OS protects the system from unauthorized or fake access
by the user or any other process.
Resource Sharing: The operating system permits many processes like memory and
I/O devices to share resources. It guarantees that common resources are utilized in a
fair and productive way.
Deadlock prevention: The OS prevents deadlock and also ensure that no process is
holding resources indefinitely . For that it uses techniques likes resource preemption.
Resource accounting: The operating system always tracks the use of resources by
different processes for allocation and statistical purposes.
Performance optimization: The OS optimizes resources distribution , the reason is to
increase the system performance. For that many techniques like load balancing and
memory management are followed that ensures efficient resources distribution.
10
Diagrammatically representation of the Resource management :
Task Management
Task management is a fundamental aspect of project management that involves
the planning, tracking, and execution of tasks within a project. It encompasses a range of
activities aimed at ensuring that work is completed efficiently and effectively to achieve
project goals. Here's a detailed breakdown of task management:
1. Task Identification: The first step in task management is identifying all the tasks
required to complete a project. This involves breaking down the project into smaller,
manageable components or tasks. Each task should be clearly defined with specific
objectives and deliverables.
2. Task Prioritization: Once tasks are identified, they need to be prioritized based on
their importance, deadlines, dependencies, and resources required. Prioritization
helps in allocating resources effectively and ensuring that critical tasks are completed
on time.
3. Assigning Responsibilities: After prioritization, tasks are assigned to team members
or individuals responsible for their execution. Clear assignment of responsibilities
ensures accountability and helps team members understand their roles and
contributions to the project.
4. Setting Deadlines: Tasks are associated with deadlines or target dates for completion.
Setting realistic and achievable deadlines is crucial for managing time effectively and
avoiding delays in project delivery.
11
5. Monitoring Progress: Task management involves continuous monitoring of task
progress to track how well the project is progressing against the planned schedule.
This may include regular updates, status reports, and meetings to review task status,
identify bottlenecks, and take corrective actions if necessary.
6. Documentation: Keeping detailed documentation of tasks, including task
descriptions, deadlines, assignments, progress updates, and any changes or deviations
from the original plan, is essential for tracking project history, analyzing
performance, and facilitating future project management processes.
12
Steps to Implement Task Management
13