Fundamentals of Computer Day 3
Fundamentals of Computer Day 3
Operating system
• An operating system is the most important software that runs on a computer. It
manages the computer's memory and processes, as well as all of
its software and hardware. It also allows you to communicate with the computer
without knowing how to speak the computer's language. Without an operating system,
a computer is useless.
• Definition: An operating system can be defined as a system like a large & complex is
partitioned into small pieces using an interface. This system is used to share the different
OS components which include file, input/output device, process memory, etc. All the
partitioned pieces must be well-defined parts of the system with carefully classified i/ps,
o/ps & function. We know that all the systems don’t have a similar structure but several
current operating systems share the components of the system outlined below.
• Kernel - The kernel in the OS provides the basic level of control on all the computer
peripherals. In the operating system, the kernel is an essential component that loads
firstly and remains within the main memory. So that memory accessibility can be
managed for the programs within the RAM, it creates the programs to get access from the
hardware resources. It resets the operating states of the CPU for the best operation at all
times.
• It is the most important part in OS which is a computer program which can be described
as the heart of OS. As the OS has control over everything in the system, so does the
kernel.
• Process Execution – The OS gives an interface between the hardware as well as an
application program so that the program can connect through the hardware device by
simply following procedures & principles configures into the OS. The program execution
mainly includes a process created through an OS kernel that uses memory space as well
as different types of other resources.
• Interrupt – In the Operating system, interrupts are essential because they give a reliable
technique for the OS to communicate and react to their surroundings. An interrupt is
nothing but one kind of signal between a device as well as a computer system otherwise
from a program in the computer that requires the OS to leave and decide accurately what
to do subsequently. Whenever an interrupt signal is received, then the hardware of the
computer puts on hold automatically whatever computer program is running presently,
keeps its status and runs a computer program which is connected previously with the
interrupt.
• Memory Management – the functionality of an OS is nothing but memory management
which manages main memory and moves processes backward and forward between disk
and main memory during implementation. This tracks each and every memory position;
until it is assigned to some process otherwise it is open. It verifies how much memory can
be allocated to process will obtain memory at what time. Whenever memory is
unallocated, then it tracks correspondingly to update the status. memory management
work can be divided into three important groups like memory management of Hardware,
OS and Application memory management.
• Multitasking – it describes the working of several independent computer programs on a
similar computer system. Multitasking in an OS allows an operator to execute one or
more computer tasks at a time. Since many computers can perform one or two tasks at a
time, usually this can be done with the help of time-sharing, where each program uses the
time of computer to execute.
• Networking - Networking can be defined as when the processor interacts with each other
through communication lines. The design of communication-network must consider
routing, connection methods, safety, the problems of opinion & security.
• Presently most of the operating systems maintain different networking techniques,
hardware, & applications. This involves that computers that run on different operating
systems could be included in a general network to share resources like data, computing,
scanners, printers, which uses the connections of either wired otherwise wireless.
• Security - If a computer has numerous individuals to allow the immediate process of
various processes, then the many processes have to be protected from other activities.
This system security mainly depends upon a variety of technologies that work effectively.
• Current operating systems give an entrée to a number of resources, which are obtainable
to work the software on the system, and to external devices like networks by means of the
kernel. The operating system should be capable of distinguishing between demands
which have to be allowed for progressing & others that don’t need to be processed.
• Additionally, to permit or prohibit a security version, a computer system with a high level
of protection also provides auditing options. So this will allow monitoring the requests
from accessibility to resources
• User Interface - A GUI or user interface (UI) is the part of an OS that permits an
operator to get the information. A user interface based on text displays the text as well as
its commands which are typed over a command line with the help of a keyboard.
• The OS-based applications mainly provide a specific user interface for efficient
communication. The main function of a user interface of an application is to get the
inputs from the operator & to provide o/ps to the operator. But, the sorts of inputs
received from the user interface as well as the o/p types offered by the user interface may
change from application to application. The UI of any application can be classified into
two types namely GUI (graphical UI) & CLI (command line user interface).
Types of Operating Systems
• Operating systems usually come pre-loaded on any computer you buy. Most people use
the operating system that comes with their computer, but it's possible to upgrade or even
change operating systems. The three most common operating systems for personal
computers are Microsoft Windows, macOS, and Linux.
• Modern operating systems use a graphical user interface, or GUI (pronounced gooey).
A GUI lets you use your mouse to click icons, buttons, and menus, and everything is
clearly displayed on the screen using a combination of graphics and text.
• Each operating system's GUI has a different look and feel, so if you switch to a different
operating system it may seem unfamiliar at first. However, modern operating systems are
designed to be easy to use, and most of the basic principles are the same.
Mac OS
• macOS (previously called OS X) is a line of operating systems created by Apple. It
comes preloaded on all Macintosh computers, or Macs. Some of the specific versions
include Mojave (released in 2018), High Sierra (2017), and Sierra (2016).
• According to StatCounter Global Stats, macOS users account for less than 10% of
global operating systems—much lower than the percentage of Windows users (more
than 80%). One reason for this is that Apple computers tend to be more expensive.
However, many people do prefer the look and feel of macOS over Windows.
Linux
• Linux (pronounced LINN-ux) is a family of open-source operating systems, which
means they can be modified and distributed by anyone around the world. This is different
from proprietary software like Windows, which can only be modified by the company
that owns it. The advantages of Linux are that it is free, and there are many
different distributions—or versions—you can choose from.
• According to StatCounter Global Stats, Linux users account for less than 2% of global
operating systems. However, most servers run Linux because it's relatively easy to
customize.
• Ubuntu, Linux Mint, Fedora
Single-user multi-tasking
• This is the type of operating system most people use on their desktop and laptop
computers today. Microsoft's Windows and Apple's MacOS platforms are both examples
of operating systems that will let a single user have several programs in operation at the
same time. For example, it's entirely possible for a Windows user to be writing a note in a
word processor while downloading a file from the Internet while printing the text of an e-
mail message.
Multi user
• A multi-user operating system allows many different users to take advantage of the
computer's resources simultaneously. The operating system must make sure that the
requirements of the various users are balanced, and that each of the programs they are
using has sufficient and separate resources so that a problem with one user doesn't affect
the entire community of users. Unix, VMS and mainframe operating systems, such
as MVS, are examples of multi-user operating systems.
Multitasking OS
• Process - A process is a program instance being run.
• A process is represented by a program (the code), but also its data and by parameters
indicating where it is, allowing it to continue if it is interrupted (execution stack, program
counter …). We talk about the program environment.
• A process is also called task in the case of Linux.
• Timeshare - Most multi-tasking operating systems are implemented on
a computer having a single microprocessor. This one, at a given moment, really runs one
program, but the system can do switch from one program to another by running each
program for several tens of milliseconds; This gives users the impression all programs are
executed simultaneously. This is called system timeshare.
• Some call pseudo-parallel this very rapid switching of a processor program to another, to
differentiate it from true parallelism that occurs at the equipment when the processor
works in conjunction with some of input-output devices.
• Abstraction of the Course - Conceptually, each process has its own virtual processor. Of
course, the real processor switches between multiple processes. But to understand the
system, it is pre-preferable to think of a set of processes that are running in (pseudo)
parallel rather that the allocation of the processor between different processes. This rapid
switching is applied multi-programming.
• Environment Variables - the program is insufficient data to determine a process. It should
indicate a number of environment variables: the files on which it operates, which is the
program counter, etc. These environment variables are necessary for two reasons:
• First, two processes can use the same code, but the affected files may be different; the
program counter does not be in the same place.
• The second is due to the multi-tasking nature processed by pseudo-parallelism.
Periodically, the operating system decides to stop a running process to start executing
another process. When this process is suspended temporarily, it must be able to find later
the exact state it was in time of suspension. This requires that all the information he needs
to be saved somewhere for her on hold.
• Memory space of a process - In many operating systems, each process has its
own memory space, not available to other processes. We speak of the address space of
the process.
• Affect the treatment duration - Since the processor switches between processes, speed of
execution of a process is not uniform and is likely to change if the same processes are
executed again. So do not make the process any presumption on factor time.
Characteristics of an OS ( further )
• Multi-user systems - A multi-user system is able to perform so (pseudo-) and competing
Separate applications belonging to several users.
• Competing means that applications can be active at the same time and hassle access to
different resources such as CPU, memory, hard drives …Independent means that each
application can perform their work without worrying what are the applications of other
users.
• A multi-user system is necessarily multi-tasking, but the converse is false: the MS-DOS
operating system is single-user and single-task; Mac OS 6.1 and Windows 3.1 is single
user but multitasking; UNIX and Windows NT are multi-user.
Multi-user systems
• Mise in place - As for multi-tasking systems, multi-use is emulated by assigning period
time to each user. Naturally, the fact to switch from one application to another slows each
and affects the response time perceived by the users.
• Associated mechanisms - When they allow multi-use, the operating system must provide
a number of mechanisms:
• – An authentication mechanism for verifying the identity of the user;
• – A protection mechanism against erroneous user programs that could block other
applications running on the system, or malicious, which could disrupt or spy on the
activities of other users;
• – An accounting mechanism to limit the amount of resources allocated to each user.
• In a multi-user system, each user has a private area on the machine: generally, it has a
certain quota of disk space to store its files, receives private e-mails, etc. The operating
system must ensure that the private party space a user can not be visible to the owner. He
must, in particular, ensure that no user can not use an application of the system the
purpose of violating the private area of another user.
• Each user is identified by a unique number, called the ID of the user, or UID (User
Identifier). In general, only a limited number of persons allowed using a computer
system. When one of these users starts a work session, the operating system asks for a
user name and password. If the user does not respond with valid information, access is
denied.
• User Group - To selectively share materials with others, each user can be member of one
or multiple user groups. A group is also identified by a unique number called the group
ID (GID for Group Identifier). For example, each file is associated with one and only one
group. On UNIX, it is possible for example, to limit access in reading and writing in the
sole possessor of a file, read the group, and to deny them access to other users.
• Super User - A multi-user operating system provides a special user called root or
supervisor (root in English). The system administrator must log time super user to
manage user accounts and perform tasks maintenance such as backups and program
updates. The super user can do almost anything in that the operating system never applies
the protection mechanisms they do on other users, called ordinary users. The root can, in
particular, access all files in the system and interfere with the activity of any running
process running. It can not, however, access to the input-output ports that have not been
provided by the kernel, as we shall see.