0% found this document useful (0 votes)
10 views36 pages

Unit-3_ECS_Notes

An operating system (OS) serves as an interface between users and computer hardware, managing resources such as memory, processors, and devices to ensure efficient program execution. Key functions of an OS include security, performance monitoring, job accounting, and error detection, while it also provides services like program execution, I/O operations, and file management. Various structures of operating systems exist, including simple, layered, micro-kernel, and modular approaches, each with distinct advantages and disadvantages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views36 pages

Unit-3_ECS_Notes

An operating system (OS) serves as an interface between users and computer hardware, managing resources such as memory, processors, and devices to ensure efficient program execution. Key functions of an OS include security, performance monitoring, job accounting, and error detection, while it also provides services like program execution, I/O operations, and file management. Various structures of operating systems exist, including simple, layered, micro-kernel, and modular approaches, each with distinct advantages and disadvantages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

OPERATING SYSTEM

An Operating System acts as a communication bridge (interface) between the


user and computer hardware. The purpose of an operating system is to provide
a platform on which a user can execute programs in a convenient and efficient
manner.
An operating system is a piece of software that manages the allocation of
computer hardware. The coordination of the hardware must be appropriate to
ensure the correct working of the computer system and to prevent user
programs from interfering with the proper working of the system. Example:
Just like a boss gives order to his employee, in the similar way we request or
pass our orders to the Operating System. The main goal of the Operating
System is to thus make the computer environment more convenient to use and
the secondary goal is to use the resources in the most efficient manner.
What is Operating System
An operating system is a program on which application programs are executed
and acts as an communication bridge (interface) between the user and the
computer hardware.
The main task an operating system carries out is the allocation of resources and
services, such as allocation of: memory, devices, processors and information.
The operating system also includes programs to manage these resources, such
as a traffic controller, a scheduler, memory management module, I/O programs,
and a file system.
Important functions of an operating System:

1. Security: –
The operating system uses password protection to protect user data and
similar other techniques. it also prevents unauthorized access to programs and user
data.

2. Control over system performance –

Monitors overall system health to help improve performance. records


the response time between service requests and system response to have a
complete view of the system health.
This can help improve performance by providing important information
needed to troubleshoot problems.

3. Job accounting–
Operating system Keeps track of time and resources used by various
tasks and users, this information can be used to track resource usage for a
particular user or group of user.
4. Error detecting aids –
Operating system constantly monitors the system to detect errors and
avoid the malfunctioning of computer system.
5. Coordination between other software and users –
Operating systems also coordinate and assign interpreters, compilers,
assemblers and other software to the various users of the computer
systems.
6. Memory Management –
The operating system manages the Primary Memory or Main
Memory. Main memory is made up of a large array of bytes or words where
each byte or word is assigned a certain address. Main memory is a fast storage
and it can be accessed directly by the CPU. For a program to be executed, it
should be first loaded in the main memory An Operating System performs the
following activities for memory management:
It keeps tracks of primary memory, i.e., which bytes of memory
are used by which user program. The memory addresses that have already been
allocated and the memory addresses of the memory that has not yet been used.
In multi programming, the OS decides the order in which process are granted
access to memory, and for how long. It Allocates the memory to a process
when the process requests it and deallocates the memory when the process has
terminated or is performing an I/O operation.
7. Processor Management –
In a multi programming environment, the OS decides the order in
which processes have access to the processor, and how much
processing time each process has. This function of OS is called
process scheduling. An Operating System performs the following
activities for processor management.
Keeps tracks of the status of processes. The program which perform
this task is known as traffic controller. Allocates the CPU that is
processor to a process. De-allocates processor when a process is no
more required.

8. Device Management –
An OS manages device communication via their respective drivers.
It performs the following activities for device management. Keeps
tracks of all devices connected to system. designates a program
responsible for every device known as the Input/Output controller.
Decides which process gets access to a certain device and for how
long.
Allocates devices in an effective and efficient way. Deallocates
devices when they are no longer required.

9. File Management –
A file system is organized into directories for efficient or
easy navigation and usage. These directories may contain other
directories and other files. An Operating System carries out the
following file management activities. It keeps track of where
information is stored, user access settings and status of every file
and more… These facilities are collectively known as the file
system.

Moreover, Operating System also provides certain services to the


computer system in one form or the other.
The Operating System provides certain services to the users which
can be listed in the following manner:

1. Program Execution: The Operating System is responsible for


execution of all types of programs whether it be user programs or
system programs. The Operating System utilises various resources
available for the efficient running of all types of functionalities.
2. Handling Input/Output Operations: The Operating System is
responsible for handling all sort of inputs, i.e, from keyboard, mouse,
desktop, etc. The Operating System does all interfacing in the most
appropriate manner regrading all kind of Inputs and Outputs.
For example, there is difference in nature of all types of peripheral
devices such as mouse or keyboard, then Operating System is
responsible for handling data between them.
3. Manipulation of File System: The Operating System is responsible
for making of decisions regarding the storage of all types of data or
files, i.e, floppy disk/hard disk/pen drive, etc. The Operating System
decides as how the data should be manipulated and stored.
4. Error Detection and Handling: The Operating System is responsible
for detection of any types of error or bugs that can occur while
any task. The well secured OS
sometimes also acts as countermeasure for preventing any sort of
breach to the Computer System from any external source and probably
handling them.
5. Resource Allocation: The Operating System ensures the proper use
of all the resources available by deciding which resource to be used
by whom for how much time. All the decisions are taken by the
Operating System.
6. Accounting: The Operating System tracks an account of all the
functionalities taking place in the computer system at a time. All the
details such as the types of errors occurred are recorded by the
Operating System.
7. Information and Resource Protection: The Operating System is
responsible for using all the information and resources available on
the machine in the most protected way. The Operating System must
foil an attempt from any external resource to hamper any sort of data
or information.
All these services are ensured by the Operating System for the convenience of
the users to make the programming task easier. All different kinds of Operating
System more or less provide the same services.

Different approaches or Structures of Operating Systems


Operating system can be implemented with the help of various structures. The
structure of the OS depends mainly on how the various common components
of the operating system are interconnected and melded into the kernel.
Depending on this we have following structures of the operating system:
Simple structure:

Such operating systems do not have well defined structure and are small, simple
and limited systems. The interfaces and levels of functionality are not well
separated. MS-DOS is an example of such operating system. In MS-DOS
application programs are able to access the basic I/O routines. These types of
operating system cause the entire system to crash if one of the user programs
fails.
Diagram of the structure of MS-DOS is shown below.

Layered structure:
An OS can be broken into pieces and retain much more control on
system. In this structure the OS is broken into number of layers
(levels). The bottom layer (layer 0) is the hardware and the topmost
layer (layer N) is the user interface. These layers are so designed that
each layer uses the functions of the lower level layers only. This
simplifies the debugging process as if lower level layers are debugged
and an error occurs during debugging then the error must be on that
layer only as the lower level layers have already been debugged.
The main disadvantage of this structure is that at each layer, the data
needs to be modified and passed on which adds overhead to the system.
Moreover careful planning of the layers is necessary as a layer can use only
lower level layers. UNIX is an example of this structure.

Micro-kernel:

This structure designs the operating system by removing all non-essential


components from the kernel and implementing them as system and user
programs. This result in a smaller kernel called the
micro-kernel. Advantages of this structure
are that all new services need to be added to user space and does not require the
kernel to be modified. Thus it is more secure and reliable as if a service fails
then rest of the operating system remains untouched. Mac OS is an example
of this type of OS.

Modular structure or approach:


It is considered as the best approach for an OS. It involves designing of a
modular kernel.
The kernel has only set of core components and other services are added
as dynamically loadable modules to the kernel either during run time or boot
time. It resembles layered structure due to the fact that each kernel has
defined and protected interfaces but it is more flexible than the layered
structure as a module can call any other module.

For example, Solaris OS is organized as shown in the figure.

Important operations of an operating System

An operating system is a construct that allows the user application programs to


interact with the system hardware. Operating system by itself does not provide
any function but it provides an atmosphere in which different applications and
programs can do useful work.
The major operations of the operating system are process management,
memory management, device management and file management. These are
given in detail as follows:

Definition

An operating system is a program that acts as an interface between the user


and the computer hardware and controls the execution of all kinds of programs.
.

• Memory Management
• Processor Management
• Device Management
• File Management
• Security
• Control over system performance
• Job accounting
• Error detecting aids
• Coordination between other software
and users Memory Management

Memory management refers to management of Primary Memory or Main


Memory. Main memory is a large array of words or bytes where each word
or byte has its own address.
Main memory provides a fast storage that can be accessed directly by the CPU.
For a program to be executed, it must in the main memory. An Operating
System does the following activities for memory management −
• Keeps tracks of primary memory, i.e., what part of it are in use by
whom, what part are not in use.
• In multiprogramming, the OS decides which process will get
memory when and how much.
• Allocates the memory when a process requests it to do so.
• De-allocates the memory when a process no longer needs it or has been
terminated.

Processor Management

In multiprogramming environment, the OS decides which process gets the


processor when and for how much time. This function is called process
scheduling. An Operating System does the following activities for processor
management −
• Keeps tracks of processor and status of process. The program
responsible for this task is known as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.

Device Management

An Operating System manages device communication via their respective


drivers. It does the following activities for device management −
• Keeps tracks of all devices. Program responsible for this task is
known as the I/O controller.
• Decides which process gets the device when and for how much time.
• Allocates the device in the efficient way.
• De-allocates devices.
File Management

A file system is normally organized into directories for easy navigation and
usage. These directories may contain files and other directions.
An Operating System does the following activities for file management −
• Keeps track of information, location, uses, status etc. The collective
facilities are often known as file system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.

Other Important Activities

Following are some of the important activities that an Operating System


performs −
• Security − By means of password and similar other techniques, it
prevents unauthorized access to programs and data.
• Control over system performance − Recording delays between
request for a service and response from the system.
• Job accounting − Keeping track of time and resources used by various jobs
and users.
• Error detecting aids − Production of dumps, traces, error messages,
and other debugging and error detecting aids.
• Coordination between other softwares and users − Coordination and
assignment of compilers, interpreters, assemblers and other software to
the various users of the computer systems.
• A computer system uses many devices, arranged in different ways to
solve many problems. This constitutes a computing environment where
many computers are used to process and exchange information to handle
multiple issues.
• The different types of Computing Environments are −

• Let us begin with Personal Computing Environment −
• Personal Computing Environment
• In the personal computing environment, there is a single computer
system. All the system processes are available on the computer and
executed there. The different devices that constitute a personal
computing environment are laptops, mobiles, printers, computer systems,
scanners etc.
• Time Sharing Computing Environment
• The time sharing computing environment allows multiple users to share
the system simultaneously. Each user is provided a time slice and the
processor switches rapidly among the users according to it. Because of
this, each user believes that they are the only ones using the system.
• Client Server Computing Environment
• Distributed Computing Environment
• Cloud Computing Environment
• The computing is moved away from individual computer systems to a
cloud of computers in cloud computing environment. The cloud users
only see the service being provided and not the internal details of how
the service is provided. This is done by pooling all the computer
resources and then managing them using a software.
• Cluster Computing Environment
• The clustered computing environment is similar to parallel computing
environment as they both have multiple CPUs. However a major
difference is that clustered systems are created by two or more individual
computer systems merged together which then work parallel to each
other.

Open-source operating systems

Open source is a term that originally referred to open source software


(OSS). Open source software is code that is designed to be publicly
accessible—anyone can see, modify, and distribute the code as they see fit.

What’sthe difference betweenfree software and opensource?

These are two terms that get confused with one another in practice,and even
get used as equivalents. All free software is open-source, but not all open-
source software is free.

Open source is considered to have more flexible rules than free software, since
it allows companies and developers to impose certain usage restrictions and
licenses in order to protect the code’s integrity. On the other hand, free
software, strictly speaking, must literally adhere to the four points of freedom,
according to Richard Stallman:

• There is freedom to execute the code however one wishes and for
whatever purpose one wishes.
• The source code can be known and modified in its entirety.
• The code can be distributed freely (either without cost, or with a charge).
• Modifications to the code can also be freely distributed (with or without
cost).
Examplesofopensourceprograms

Some widely used programs, platforms, and languages which are considered open
source are:

• Linux operating system


• Android by Google
• Open office
• Firefox browser
• VCL media player
Operating System Services

An Operating System provides services to both the users and to the programs.

• It provides programs an environment to execute.


• It provides users the services to execute the programs in a
convenient manner. Following are a few common services
provided by an operating system −

• Program execution
• I/O operations
• File System manipulation
• Communication
• Error Detection
• Resource Allocation
• Protectio

n Program

execution

I/O Operation

An I/O subsystem comprises of I/O devices and their corresponding driver


software. Drivers hide the peculiarities of specific hardware devices from the
users.
An Operating System manages the communication between user and device
drivers.

• I/O operation means read or write operation with any file or any specific
I/O device.
• Operating system provides the access to the required I/O device when
required.

File system manipulation

A file represents a collection of related information. Computers can store files


on the disk (secondary storage), for long-term storage purpose. Examples of
storage media include magnetic tape, magnetic disk and optical disk drives
like CD, DVD. Each of these media has its own properties like speed, capacity,
data transfer rate and data access methods.
A file system is normally organized into directories for easy navigation and
usage. These directories may contain files and other directions. Following are
the major activities of an operating system with respect to file management −

• Program needs to read a file or write a file.


• The operating system gives the permission to the program for operation on
file.
• Permission varies from read-only, read-write, denied and so on.
• Operating System provides an interface to the user to create/delete files.
• Operating System provides an interface to the user to create/delete
directories.
• Operating System provides an interface to create the backup of file system.

Communication

In case of distributed systems which are a collection of processors that do not


share memory, peripheral devices, or a clock, the operating system manages
communications between all the processes. Multiple processes communicate
with one another through communication lines in the network.
The OS handles routing and connection strategies, and the problems of
contention and security. Following are the major activities of an operating
system with respect to communication −

• Two processes often require data to be transferred between them


• Both the processes can be on one computer or on different computers,
but are connected through a computer network.
• Communication may be implemented by two methods, either by
Shared Memory or by Message Passing.

Error handling

Errors can occur anytime and anywhere. An error may occur in CPU, in I/O
devices or in the memory hardware. Following are the major activities of an
operating system with respect to error handling −

• The OS constantly checks for possible errors.


• The OS takes an appropriate action to ensure correct and consistent
computing.

Resource Management

In case of multi-user or multi-tasking environment, resources such as main


memory, CPU cycles and files storage are to be allocated to each user or job.
Following are the major activities of an operating system with respect to
resource management −

• The OS manages all kinds of resources using schedulers.


• CPU scheduling algorithms are used for better

utilization of CPU. Protection

Considering a computer system having multiple users and concurrent


execution of multiple processes, the various processes must be protected from
each other's activities.
Protection refers to a mechanism or a way to control the access of programs,
processes, or users to the resources defined by a computer system. Following
are the major activities of an operating system with respect to protection −
• The OS ensures that all access to system resources is controlled.
• The OS ensures that external I/O devices are protected from invalid access
attempts.
• The OS provides authentication features for each user by means of
passwords.
LINUX AND UNIX
Linux is an open-source OS, which means that its program code is freely
available to software developers. This is why thousands of programmers
around the world have developed Linux, and it is considered the most tested
OS in the world. Linux has been very much influenced by the commercial Unix
OS.

In addition to servers, Linux is widely used in home computers, since there are
a great number of free programs for it (for text and image processing,
spreadsheets, publishing, etc.). Over the years, many different versions of
Linux have become available for distribution, most of which are free for the
user (such as Ubuntu, Fedora and Mint, to name a few). See the additional
reading material for more information on Linux.

MAC OS X
Apple’s Mac computers have their own operating system, OS X. Most of the
programs that are available for PCs are also available for Macs running under
OS X, but these two types of computers cannot use the exact same programs:
for example, you cannot install the Mac version of the Microsoft Office suite
on a Windows computer. You can install other operating systems on Mac
computers, but the OS X is only available for computers made by Apple.
Apple’s lighter portable devices (iPads, iPhones) use a light version of the
same operating system, called iOS.

Mac computers are popular because OS X is considered fast, easy to learn and
very stable and Apple’s devices are considered well-designed—though rather
expensive. See the additional reading material for more information on OS X.

ANDROID
Android is an operating system designed for phones and other mobile devices.
Android is not available for desktop computers, but in mobile devices it is
extremely popular: more than a half of all mobile devices in the world run on
Android.
USER INTERFACES
A user interface (UI) refers to the part of an operating system, program, or
device that allows a user to enter and receive information. A text-based user
interface (see the image to the left) displays text, and its commands are
usually typed on a command line using a keyboard. With a graphical user
interface (see the right-hand image), the functions are carried out by clicking
or moving buttons, icons and menus by means of a pointing device.

Larger image: text UI | graphical UI


The images contain the same information: a directory listing of a computer.
You can often carry out the same tasks regardless of which kind of UI you
are using.
What is System Call in Operating System?

A system call is a mechanism that provides the interface between a process and
the operating system. It is a programmatic method in which a computer
program requests a service from the kernel of the OS.

System call offers the services of the operating system to the user programs via
API (Application Programming Interface). System calls are the only entry
points for the kernel system.

In this operating system tutorial, you will learn:

• What is System Call in Operating System?


• Example of System call
• How did the System call work?
• Types of System calls
• Rules for passing Parameters for System Call
• Important System Calls used in OS

System Calls in Operating System


Example of System Call

For example, if we need to write a program code to read data from one file,
copy that data into another file. The first information that the program requires
is the name of the two files, the input and output files.
In an interactive system, this type of program execution requires some system
calls by OS.

• First call is to write a prompting message on the screen


• Second, to read from the keyboard, the characters which define the two
files.

How System Call Works?

Here are steps for System Call:


Architecture of the System Call

As you can see in the above-given


diagram.
Step 1) The processes executed in the user mode till the time a system call
interrupts it.

Step 2) After that, the system call is executed in the kernel-mode on a priority
basis.

Step 3) Once system call execution is over, control returns to the user mode.,

Step 4) The execution of user processes resumed in Kernel mode.

Why do you need System Calls in OS?

Following are situations which need system calls in OS:

• Reading and writing from files demand system calls.


• If a file system wants to create or delete files, system calls are required.
• System calls are used for the creation and management of new processes.
• Network connections need system calls for sending and receiving packets.
• Access to hardware devices like scanner, printer, need a system call.

Types of System calls

Here are the five types of system calls used in OS:

• Process Control
• File Management
• Device Management
• Information Maintenance
• Communications
Process Control

This system calls perform the task of process creation, process

termination, etc. Functions:

• End and Abort


• Load and Execute
• Create Process and Terminate Process
• Wait and Signed Event
• Allocate and free

memory File

Management

File management system calls handle file manipulation jobs like creating
a file, reading, and writing, etc.

Functions:

• Create a file
• Delete file
• Open and close file
• Read, write, and reposition
• Get and set file attributes

Device Management

Device management does the job of device manipulation like reading from
device buffers, writing into device buffers, etc.

Functions

• Request and release device


• Logically attach/ detach devices
• Get and Set device

attributes Information

Maintenance
It handles information and its transfer between the OS and the user

program. Functions:

• Get or set time and date


• Get process and device

attributes Communication:

These types of system calls are specially used for interprocess

communications. Functions:

• Create, delete communications connections


• Send, receive message
• Help OS to transfer status information
• Attach or detach remote devices

Rules for passing Parameters for System Call

Here are general common rules for passing parameters to the System Call:

• Parameters should be pushed on or popped off the stack by the operating


system.
• Parameters can be passed in registers.
• When there are more parameters than registers, it should be stored in a
block, and the block address should be passed as a parameter to a
register.

Important System Calls Used in OS


wait()

In some systems, a process needs to wait for another process to complete its
execution. This type of situation occurs when a parent process creates a child
process, and the execution of the parent process remains suspended until its
child process executes.

The suspension of the parent process automatically occurs with a wait()


system call. When the child process ends execution, the control moves back
to the parent process.

fork()
Processes use this system call to create processes that are a copy of themselves.
With the help of this system Call parent process creates a child process, and
the execution of the parent process will be suspended till the child process
executes.

exec()

This system call runs when an executable file in the context of an already
running process that replaces the older executable file. However, the original
process identifier remains as a new process is not built, but stack, data, head,
data, etc. are replaced by the new process.

kill():

The kill() system call is used by OS to send a termination signal to a process


that urges the process to exit. However, a kill system call does not necessarily
mean killing the process and can have various meanings.

exit():

The exit() system call is used to terminate program execution. Specially in the
multi-threaded environment, this call defines that the thread execution is
complete. The OS reclaims resources that were used by the process after the
use of exit() system call.

System Programs in Operating System

System Programming can be defined as act of building Systems Software


using System Programming Languages. According to Computer Hierarchy,
one which comes at last is Hardware. Then it is Operating System, System
Programs, and finally Application Programs. Program Development and
Execution can be done conveniently in System Programs. Some of System
Programs are simply user interfaces, others are complex. It traditionally lies
between user interface and system calls.
So here, user can only view up-to-the System Programs he can’t see System
Calls.

System Programs can be divided into these categories :


1. File Management –

A file is a collection of specific information stored in memory of


computer system. File management is defined as process of
manipulating files in computer system, it management includes
process of creating, modifying and deleting files.
• It helps to create new files in computer system and placing
them at specific locations.
• It helps in easily and quickly locating these files in computer
system.
• It makes process of sharing of files among different users
very easy and user friendly.
• It helps to stores files in separate folders known as directories.
• These directories help users to search file quickly or to
manage files according to their types or uses.
• It helps user to modify data of files or to modify he name of
file in directories.

2. Status Information –

Information like date, time amount of available memory, or disk


space is asked by some of users. Others providing detailed
performance, logging and debugging information which is more
complex. All this information is formatted and displayed on output
devices or printed. Terminal or other output devices or files or a
window of GUI is used for showing output of programs.

3. File Modification –

For modifying contents of files we use this. For Files stored on disks
or other storage devices we used different types of editors. For
searching contents of files or perform transformations of files we
use special commands.

4. Programming-Language support –
For common programming languages we use Compilers,
Assemblers, Debuggers and interpreters which are already
provided to user. It provides all support to users. We can run any
programming languages. All languages of importance are already
provided.

5. Program Loading and Execution –


When program is ready after Assembling and compilation, it
must be loaded into memory for execution. A loader is part of an
operating system that is responsible for loading programs and
libraries. It is one of essential stages for starting a program.
Loaders, relocatable loaders, linkage editors and Overlay loaders
are provided by system.

6.Communications –
Virtual connections among processes, users and computer
systems are provided by programs. User can send messages to
other user on their screen, User can send e-
mail, browsing on web pages, remote login, transformation of files
from one user to another.
Some examples of system programs in O.S. are –
• Windows 10
• Mac OS X
• Ubuntu
• Linux
• Unix
• Android
• Anti-virus
• Disk formatting
• Computer language translator

Database ManagementSystems

Data Models
Introduction to Database Management Systems (DBMS)
Relational Database Management Systems (RDBMS)
Structured Query Language (SQL)
Database Transactions
Data Centers
Cloud Services

Data Model:

A data model is a conceptual representation of how data is structured and organized


within a system. It defines the relationships between different data elements, the rules for
data manipulation, and the constraints that apply to the data.
They provide the blueprint for how data is organized and how relationships among data
elements are established.

Types of Data Models:

Hierarchical Model: Data is organized in a tree-like structure, where each child record
hasonly one parent.
Network Model: Similar to the hierarchical model but allows each record to have
multipleparents, creating a more flexible data structure.
Relational Model: Data is stored in tables, with relationships between tables defined by
foreign keys. This is the most widely used model in RDBMS.
Object-oriented Model: Incorporates object-based data modeling, allowing stored data
toinclude not just values but also methods for processing or manipulating those values.
Introduction to Database Management Systems (DBMS):
A Database Management System (DBMS) is specialized software that enables the
creation,management, and use of databases.
It serves as an interface between databases and end-users or application programs,
ensuring that data is consistently organized and remains easily accessible.
DBMSs are crucial for handling vast amounts of data efficiently.
They support various operations such as
Data storage,
Retrieval,
Updating, and
Management, facilitating the organization's data management practices.

Functions of a DBMS

Data Storage: DBMS stores data in a structured format, using tables, schemas, and
databases to organize data efficiently.
Data Retrieval: Allows users to retrieve data efficiently through queries, making it
accessible for analysis or processing.
Data Update: Supports adding new data, modifying existing data, and deleting
outdateddata, ensuring the database remains current.
Data Administration: Offers tools for backup and recovery, security management, and
performance monitoring to maintain data integrity and availability.
Benefits of Using a DBMS

Data Security: Implements security measures to protect data against unauthorized


accessor breaches.
Data Integrity: Ensures accuracy and consistency of data through integrity constraints.
Data Independence: Allows changes to the data storage and structure without altering the
application programs that access the database.
Relational Database Management Systems (RDBMS) A Relational Database
ManagementSystem (RDBMS) is a type of DBMS that uses a relational model to store
data.
It organizes data into tables (relations), which consist of rows (records) and columns
(attributes).
Key Features of RDBMS:

Table-based Structure: Data is stored in tables, making data management and querying
efficient.
Data Manipulation: Utilizes Structured Ǫuery Language (SǪL) for data manipulation
andquerying.
Data Integrity: Ensures data accuracy and consistency through integrity constraints like
primary keys and foreign keys.
ACID Transactions: Supports transactions that are Atomic, Consistent, Isolated, and
Durable to ensure data reliability.

Advantages of RDBMS

Flexibility: Ability to handle a wide range of data types and complex queries.
Scalability: Can scale to handle large amounts of data and concurrent users
efficiently.
Security: Provides robust data security features, including access controls and
encryption.
Maintenance: Easier to maintain due to its structured format and widespread support
tools.
Examples of RDBMS:

Mention popular RDBMS software


likeOracle Database MySǪL
Microsoft SǪL Server, and
PostgreSǪL to give context.

Structured Query Language (SQL)

Definition of SǪL
Structured Ǫuery Language (SǪL) is a standard programming language specifically
designed for managing and manipulating relational databases.
It allows for the querying, updating, and management of data in RDBMS.
Data Ǫuerying: Retrieving data from a database using the SELECT statement, filtering
results with conditions.
Data Manipulation: Inserting (INSERT), updating (UPDATE), and deleting (DELETE)
recordsin a database.
Data Definition: Creating (CREATE), altering (ALTER), and dropping (DROP)
databaseobjects like tables and views.
Data Control: Managing access to the database and its objects through permissions
(GRANT and REVOKE).

Advantages of SQL
Standardization: SǪL is widely accepted and used, making skills transferable across
different database systems.
User-Friendly Syntax: SǪL syntax is readable and similar to natural language, making
iteasier to learn and use.
Powerful and Versatile: Capable of handling complex queries and database
transactions,making it suitable for a wide range of data management tasks.
Database Transaction
A database transaction is a sequence of one or more database operations performed as a
single, atomic unit of work.
Each transaction is meant to ensure data integrity and consistency.
Transactions are crucial for maintaining the integrity and consistency of the database.
They ensure that even in the case of errors or failures, the data remains accurate and
reliable.

Data Centers
A data center is a facility composed of networked computers and storage used to
organize,process, store, and disseminate large amounts of data.
Data centers are critical assets for enterprises and cloud service providers.
Components of Data Centers

Computing Resources: Servers that perform data processing and applications


execution.
Storage Systems: Devices for storing data, such as SAN (Storage Area Network) and
NAS(Network Attached Storage).
Networking: Infrastructure for connecting data center components internally and to the
internet or other networks.
Power and Cooling Systems: Essential for maintaining optimal operating conditions
andensuring the reliability of hardware components.
Types of Data Centers

Enterprise Data Centers: Owned and operated by companies and located on their
premises.
Colocation Data Centers: Where companies can rent space for servers and other
computing hardware.
Cloud Data Centers: Operated by cloud service providers offering cloud services over
theinternet.
Importance of Data Centers:

Data centers are the backbone of IT operations, supporting business applications, data
storage, management, and dissemination.
They play a crucial role in disaster recovery, data backup, and ensuring data availability.
Cloud Services

Cloud services refer to a wide range of services delivered on demand to companies and
customers over the internet.
These services are designed to
Provide easy
affordable access to applications and resources, without the need for internal
infrastructure or hardware.
Types of Cloud Services:
Infrastructure as a Service (IaaS): Provides virtualized computing resources over the
internet, including virtual machines, storage, and networks.
Platform as a Service (PaaS): Offers hardware and software tools over the internet,
typically for application development.
Software as a Service (SaaS): Delivers software applications over the internet, on a
subscription basis, accessible through a web browser.

Benefits of Cloud Services:

Scalability: Resources can be scaled up or down based on demand, providing flexibility.


Cost-Effectiveness: Reduces the cost of purchasing and maintaining hardware and
software.
Accessibility: Services can be accessed from anywhere, facilitating remote work and
global collaboration.
Disaster Recovery: Enhances data backup and disaster recovery capabilities through
datareplication in multiple locations.
Cloud Deployment Models:

Public Cloud: Services are delivered over the public internet and shared across
organizations.
Private Cloud: Services are maintained on a private network, offering more control and
security.
Hybrid Cloud: Combines public and private clouds, allowing data and applications to
beshared between them.

ACID properties in DBMS

Atomicity:

Transactional Boundaries: Atomicity ensures that a transaction is an all-or-nothing


proposition. Either all the operations within a transaction are completed successfully,
or none of them are. There is no partial execution of a transaction.
Transactional Control: DBMSs use transactional control mechanisms like
transaction logs and rollback segments to enforce atomicity. If any part of a
transaction fails, the system can use these mechanisms to undo or rollback the
changes made by the transaction, ensuring that the database remains in a consistent
state.
Transactional Guarantees: Atomicity guarantees that even in the presence of system
failures, crashes, or errors, the database will not be left in an inconsistent or corrupt
state due to partially completed transactions.

Consistency:

Data Integrity: Consistency ensures that the data in the database follows predefined
rules and constraints. These rules may include referential integrity constraints, data
type constraints, and other business rules.
Constraint Enforcement: The DBMS enforces consistency through constraint
checking mechanisms. Before allowing a transaction to commit, the system verifies
that the transaction's changes will not violate any integrity constraints.
Transactional Isolation: Consistency also involves ensuring that transactions
execute in isolation from each other, preventing interference or conflicts between
concurrent transactions that could lead to inconsistencies.

Isolation:

Concurrency Control: Isolation ensures that transactions execute independently of


each other, as if they were the only transactions running on the system. This prevents
interference between transactions and maintains the illusion that transactions are
executing serially, even in a concurrent environment.
Isolation Levels: DBMSs provide different isolation levels to control the degree of
isolation between transactions. These levels dictate how transactions interact with
each other and determine the types of anomalies (e.g., dirty reads, non-repeatable
reads) that are allowed or prevented.
Locking Mechanisms: Isolation is often implemented using locking mechanisms,
such as read locks and write locks, to control access to data. These locks prevent
conflicting operations from executing simultaneously, ensuring transactional isolation.

Durability:

Persistence: Durability guarantees that once a transaction is committed, its changes


are permanent and will survive system failures or crashes. The changes made by
committed transactions are stored durably on disk or other persistent storage media.
Write-Ahead Logging (WAL): Many DBMSs use WAL techniques to achieve
durability. Before modifying the database, changes are first written to a transaction
log. Even if the system crashes before the changes are applied to the database, they
can be replayed from the log during recovery.
Recovery Mechanisms: DBMSs have recovery mechanisms in place to ensure that
the database can be restored to a consistent state after a crash. These mechanisms use
transaction logs and other data recovery techniques to recover committed transactions
and bring the database back online.

Summary of OS:

1. Functions of Operating Systems: Operating systems perform various essential


functions to ensure efficient operation of computer systems. These functions include
managing hardware resources such as CPU, memory, and storage devices, executing
application software, handling user interface interactions, and coordinating
input/output operations.
2. Types of Operating Systems: Operating systems come in different types, each
catering to specific needs and environments. Real-time operating systems are
designed to manage time-sensitive processes, while network operating systems focus
on managing resources and users across a network. Embedded operating systems are
tailored for specialized devices, and standalone operating systems operate
independently on personal computers or workstations.
3. Device Management: Device management is a crucial aspect of operating systems,
responsible for controlling and coordinating input/output operations with peripheral
devices such as printers, disk drives, and network adapters. This ensures efficient
utilization of hardware resources and smooth functioning of the overall system.
Function of an Operating System: An operating system (OS) manages various
aspects of a computer system. While it handles memory management, file
management, and process management, it doesn't involve hardware manufacturing,
which falls outside its domain.
Multi-User Operating System: Linux exemplifies a multi-user operating system,
allowing multiple users to interact with the system concurrently, a feature vital for
servers and shared computing environments.
File Management System: The primary role of a file management system in an OS is
to oversee the storage of data on storage devices, ensuring efficient organization,
access, and control over files and directories.
Definition of an Operating System: An operating system orchestrates both hardware
and software resources, serving as an intermediary between applications and hardware
components, thereby enabling efficient system operation.
Types of Operating Systems: Operating systems vary, from single-user to multi-
processor systems, with each tailored to specific computing needs, such as personal
computing, server environments, and high-performance computing.
Memory Management Functions: Memory management within an OS involves
tasks like allocation, deallocation, and relocation of memory resources, crucial for
optimizing system performance and ensuring efficient memory utilization.
Boot Loader Purpose: During system startup, a boot loader's primary role is to load
the operating system into memory, initiating the system's boot process and preparing
it for user interaction.
Communication Management: Device drivers serve as intermediaries facilitating
communication between hardware components and software applications, ensuring
seamless interaction and optimal utilization of hardware resources.
Command-Line Interfaces: Command-line interfaces like Command Prompt
(Windows) and Bash (Linux) provide users with direct textual interaction with the
operating system, offering powerful tools for system management and automation.
Operating System Benefits: Operating systems enhance hardware utilization, ensure
system security, and promote software compatibility, contributing to efficient and
reliable computing environments.
Operating System Structures: Module-based structures offer flexibility through
dynamic loading and unloading of OS components, contrasting with monolithic
structures, which integrate most functions into the kernel for streamlined operation.
System Startup Process: Booting is the initial process of starting up a computer,
where the system's firmware initializes hardware components and loads the operating
system into memory for execution.
Boot Process Component: During booting, the BIOS or UEFI firmware takes charge
of loading the operating system into memory, initializing essential system components
for proper system operation.
Operating System Goals: While ensuring system security, providing a user interface,
and maximizing hardware utilization are primary goals of an operating system,
entertainment features are not typically part of its core objectives.
Kernel Functionality: The kernel serves as the core component of an operating
system, responsible for managing system resources, providing essential services, and
facilitating communication between hardware and software components.
Dual-Mode Operation: Dual-mode operation permits the operating system to switch
between user and kernel modes, enhancing system security by restricting direct access
to critical system resources.
Security in Computer Systems: Dual-mode operation primarily aims to provide
security and protection by segregating user-level processes from privileged kernel
operations, preventing unauthorized access to critical system functions.
Operating System Structures: In a monolithic operating system structure, most
operating system functions reside within the kernel space, contrasting with
microkernel or hybrid structures, which distribute functionalities across multiple
modules or layers.
System Calls Definition: System calls are requests made by applications to the
operating system for specific operations, enabling programs to interact with system
resources and services.
System Call Interface Purpose: The system call interface acts as a bridge between
user programs and the operating system, providing a standardized means for
applications to request OS services and access system resources while maintaining
abstraction and security.

Summary of DBMS:

Non-Relational Databases: Non-relational databases, also known as NoSQL


databases, offer flexible data storage solutions. An example of this is MongoDB,
which stores data in a document-oriented format rather than traditional table structures
like in MySQL or PostgreSQL.
SQL Conditions: In SQL, the WHERE clause is used to specify conditions for data
retrieval. This clause filters rows based on specified conditions, allowing users to
retrieve only the data that meets certain criteria.
ACID Transactions: ACID transactions in databases ensure reliability and integrity.
While isolation, atomicity, and durability are fundamental properties, concurrency is
not directly related to the ACID acronym.
Database Transactions: The COMMIT statement in database transactions serves the
critical purpose of permanently saving changes made by the transaction. This ensures
that the changes are finalized and cannot be rolled back.
Data Distribution: Data sharding is the process of distributing data across multiple
servers in a network. It allows for improved scalability and performance by spreading
the data load.
Cloud Deployment Models: The private cloud deployment model offers dedicated
infrastructure for a single organization. This ensures greater control, security, and
customization options compared to public or hybrid cloud models.
Data Center Functions: Data centers primarily serve the function of processing and
analyzing data. They provide the necessary infrastructure and resources for storing,
managing, and processing large volumes of data.
Cloud Service Models: Infrastructure as a Service (IaaS) allows users to rent
virtualized computing resources over the internet. This model provides flexibility and
scalability without the need for investing in physical hardware.
Modifying Data: The SQL UPDATE command is used to modify existing data in a
database. It allows users to change the values of specific columns in one or more
rows.
SQL WHERE Clause: The WHERE clause in an SQL statement is used to filter
rows based on specified conditions. It allows users to retrieve only the data that meets
specific criteria, enhancing the efficiency of queries.

You might also like