1. Define the following terms: a. Os b. Job c. Job queue d. Batch processing e.
ID: 3669783 • Letter: 1
Question
1. Define the following terms: a. Os b. Job c. Job queue d. Batch processing e. interactive processing f. real time processing g. time sharing h. multitasking i. multiplexing j. load balancing k. scaling 2. Explain the following in detail: a. application software b. system software c. utility software d. GUI e. window manager f. kernel g. file manager( directory, path etc) h. memory manager i. paging j. page k. virtual memory 1. scheduler m. dispatcher 3. Explain the booting process 4. Explain the concept of process and Process administration in detail 5. Explain attacks from outside and within in detailExplanation / Answer
1)What is an operating system?
An operating system (sometimes abbreviated as "OS") is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer.
The other programs are called applications or applications. The application programs make use of the operating system by making requests for services through a defined application program interface (API).
Operating systems
In addition, users can interact directly with the operating system through a user interface such as a command language or a graphical user interface (GUI).
An operating system performs these services for applications:
• In a multitasking operating system where multiple programs can be running at the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.
• It manages the sharing of internal memory among multiple applications.
• It handles input and output to and from attached hardware devices, such as hard disks, printers, and dial-up ports.
• It sends messages to each application or interactive user (or to a system operator) about the status of operation and any errors that may have occurred.
• It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work.
• On computers that can provide parallel processing, an operating system can manage how to divide the program so that it runs on more than one processor at a time.
b) What is Job
JOB:
In certain computer operating systems, a job is the unit of work that a computer operator (or a program called a job scheduler) gives to the operating system. For example, a job could be the running of an application program such as a weekly payroll program. A job is usually said to be run in batch (rather than interactive) mode. The operator or job scheduler gives the operating system a "batch" of jobs to do (payroll, cost analysis, employee file updating, and so forth) and these are performed in the background when time-sensitive interactive work is not being done.
c) JOB QUEUE
• Job Queue - Contains all processes that have been introduced into the system
When the process enters into the system, then this process is put into a job queue. This queue consists of all processes in the system.
The operating system also maintains other queues such as device queue, Ready queue.
D) Batch Processing:
Batch processing is the execution of a series of programs on a computer without manual intervention. Strictly speaking, it is the execution of a series of programs each on a set or "batch" of inputs, rather than a single input.
Operating system does the following activities related to batch processing.
• OS defines a job which has predefined sequence of commands, programs and data as a single unit.
• OS keeps a number a jobs in memory and executes them without any manual information.
• Jobs are processed in the order of submission i.e first come first served fashion.
• When job completes its execution, its memory is released and the output for the job gets copied into an output spool for later printing or processing.
E) Interactive processing:
Performance of tasks on a computer system that involves continual exchange of information between the computer and a user; the opposite of batch processing.
F) Real Time processing:
These systems are where data and instructions are processed at the same time it is generated. For example:-
• Booking a flight seat. Delays can lead to double bookings.
• Flying planes or controlling missiles. Delays in processing instructions can lead to accidents!
• Playing games.
The difference between real time and interactive systems is that in real time systems is that speed of response in real time systems is critical.
G) Time Sharing:
Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as time-sharing.
Advantages of Timesharing operating systems are following
• Provide advantage of quick response.
• Avoids duplication of software.
• Reduces CPU idle time.
H) Multi Tasking:
Multitasking “is a logical extension of multiprogramming system that supports multiple programs to run concurrently. In multitasking more than one task are executed at the same time. In this technique the multiple tasks, also known as processes, share common processing resources such as a CPU.”
In the case of a computer with single CPU, only one job can be processed at a time. Multitasking solves the problem by scheduling and deciding which task should be the running task and when a waiting task should get turn. This attempt is done with the help of interrupt (a signal) which is attended by CPU by keeping the current activity aside, saves its present status in buffer and returns to another important job whatever task it was doing earlier.
I)Multiplexing:
Resource management includes multiplexing (sharing) resources in two different ways:
1. Time Multiplexing
2. Space Multiplexing
1. Time Multiplexing
When the resource is time multiplexed, different programs or users take turns using it. First one of them gets to use the resource, then another, and so on.
For example:
With only one CPU and multiple programs that want to run on it, operating system first allocates the CPU to one long enough, another one gets to use the CPU, then another and ten eventually the first one again.
Determining how the resource is time multiplexed – who goes next and for how long – is the task of the operating system.
2. Space Multiplexing
In space multiplexing, instead of the customers taking turns, each one gets part of the resource.
For example:
Main memory is normally divided up among several running programs, so each one can be resident at the same time (for example, in order to take turns using the CPU). Assuming there is enough memory to hold multiple programs, it is more efficient to hold several programs in memory at once rather than give one of them all of it, especially if it only needs a small fraction of the total. Of course, this raises issues of fairness, protection, and so on, and it is up to the operating system to solve them.
J)Load Balancing
operating system, parallel Techniques which aim to spread tasks among the processors in a parallelprocessor to avoid some processors being idle while others
have tasks queueing for execution. Load balancing may be performed either by
heavily loaded processors (with many tasks in their queues) sending tasks to
otherprocessors;
by idle processors requesting work from others;
by somecentralised task distribution mechanism;
or some combination of these.
Some systems allow tasks to be moved after they have started executing("task
migration") others do not.
K) Scaling:
Scalability is the capability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged in order to accommodate that growth. For example, it can refer to the capability of a system to increase its total output under an increased load when resources (typically hardware) are added.
2)
a)Application Software:
An application is any program, or group of programs, that is designed for the end user. Application software can be divided into two general classes: systems software and applications software. Applications software (also called end-user programs) include such things as database programs, word processors, Web browsers and spreadsheets.
Types of Application Software
Application software can be divided into two general classes: systems software and applications software. Applications software (also called end-user programs) include such things as database programs, word processors, Web browsers and spreadsheets.
Figuratively speaking, applications software sits on top of systems software because it is unable to run without the operating system and system utilities.
B)System Software:
Systems software includes the programs that are dedicated to managing the computer itself, such as the operating system, file management utilities, and disk operating system (or DOS). The operating system manages the computer hardware resources in addition to applications and data. Without systems software installed in our computers we would have to type the instructions for everything we wanted the computer to do!
C)Utility Software:
Utility software helps to manage, maintain and control computer resources. Operating systems typically contain the necessary tools for this, but separate utility programs can provide improved functionality. Utility software is often somewhat technical and targeted at users with a solid knowledge of computers. If you use a computer mostly for e-mail, some Internet browsing and typing up a report, you may not have much need for these utilities. However, if you are an avid computer user, these utilities can help make sure your computer stays in tip-top shape.
Examples of utility programs are antivirus software, backup software and disk tools. Let's look at each of these in a bit more detail.
D)GUI
GUI stands for Graphical User Interface (some folks pronounce it 'gooey'). A GUI is exactly what it sounds like... a graphical way to do stuff. Simply put, it's a way to communicate what you want to a computer application (or computer operating system) using graphical symbols, rather than typing the instructions in. GUIs let you work with picture-like items (icons and arrows for example) to tell the computer what you want from it. And rather than a keyboard (which can leave you guessing what to type next), you get to scoot around a blocky thing on your desk called a mouse, which makes the arrows and icons scoot around on the screen. Much easier!
E)Window Manager:
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard, and are often written and created using a widget toolkit.
Many window managers also come with various utilities and features: e.g. docks, task bars, program launchers, desktop icons, and wallpaper
F) Kernel:
A kernel is the central part of an operating system. It manages the tasks of the computer and the hardware - most notably memory and CPU time.
There are two types of kernels:
• A microkernel, which only contains basic functionality;
• A monolithic kernel, which contains many drivers.
A computer user never interacts directly with the kernel. It runs behind the scenes and cannot be seen, except for the text logs that it prints.
G)File Manager:
• File Manager is also called the File management system and is the software responsible for:
– Creating, deleting, modifying, controlling access to files
Responsibilities of the File Manager
• Four tasks
– Keep track of where each file is stored
– Implement a policy that will:
• Determine where and how files are stored
• Efficiently use available storage space
• Provide efficient file access
– Allocate each file when a user has been cleared for access to it, then record its use
– File deallocation
• File returned to storage
• Communicate file availability to others waiting for it
H)Memory Manager:
The memory manager is the part of the operating system that is responsible for allocating this resource to processes.
In a time sharing operating system, we we will need to allocate the system's memory among multiple processes. Moreover, we may need to deal with situations where we do not have enough physical memory and have to swap chunks of data between memory and secondary storage (disk). Systems in which we move (swap) entire processes between disk and main memory during execution are called swapping systems.
The memory management function keeps track of the status of each memory location, either allocated or free. It determines how memory is allocated among competing processes, deciding which gets memory, when they receive it, and how much they are allowed. When memory is allocated it determines which memory locations will be assigned. It tracks when memory is freed or unallocated and updates the status.
Memory management techniques
Single contiguous allocation
Single allocation is the simplest memory management technique. All the computer's memory, usually with the exception of a small portion reserved for the operating system, is available to the single application.
Partitioned allocation
Partitioned allocation divides primary memory into multiple memory partitions, usually contiguous areas of memory. Each partition might contain all the information for a specific job or task. Memory management consists of allocating a partition to a job when it starts and unallocating it when the job ends.
Paged memory management
Paged allocation divides the computer's primary memory into fixed-size units called page frames, and the program's virtual address space into pages of the same size. The hardware memory management unit maps pages to frames. The physical memory can be allocated on a page basis while the address space appears contiguous.
Segmented memory management
Segmented memory is the only memory management technique that does not provide the user's program with a 'linear and contiguous address space." Segments are areas of memory that usually correspond to a logical grouping of information such as a code procedure or a data array. Segments require hardware support in the form of a segment table which usually contains the physical address of the segment in memory, its size, and other data such as access protection bits and status (swapped in, swapped out, etc.)
I)Paging:
Paging is a memory management technique in which the memory is divided into fixed size pages. Paging is used for faster access to data. When a program needs a page, it is available in the main memory as the OS copies a certain number of pages from your storage device to main memory. Paging allows the physical address space of a process to be noncontiguous.
Why paging is used?
Paging is to deal with external fragmentation problem. This is to allow the logical address space of a process to be noncontiguous, which makes the process to be allocated physical memory.
J)Page:
A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table. It is the smallest unit of data for memory management in a virtual memory operating system.
K)Virtual Memory:
Virtual memory is a technique that allows the execution of processes which are not completely available in memory. The main visible advantage of this scheme is that programs can be larger than physical memory. Virtual memory is the separation of user logical memory from physical memory.
This separation allows an extremely large virtual memory to be provided for programmers when only a smaller physical memory is available. Following are the situations, when entire program is not required to be loaded fully in main memory.
• User written error handling routines are used only when an error occured in the data or computation.
• Certain options and features of a program may be used rarely.
• Many tables are assigned a fixed amount of address space even though only a small amount of the table is actually used.
• The ability to execute a program that is only partially in memory would counter many benefits.
• Less number of I/O would be needed to load or swap each user program into memory.
• A program would no longer be constrained by the amount of physical memory that is available.
• Each user program could take less physical memory, more programs could be run the same time, with a corresponding increase in CPU utilization and throughput.
L)Scheduler:
Schedulers are special system software’s which handles process scheduling in various ways. Their main task is to select the jobs to be submitted into the system and to decide which process to run. Schedulers are of three types
• Long Term Scheduler
• Short Term Scheduler
• Medium Term Scheduler
Long Term Scheduler
It is also called job scheduler. Long term scheduler determines which programs are admitted to the system for processing. Job scheduler selects processes from the queue and loads them into memory for execution. Process loads into the memory for CPU scheduling. The primary objective of the job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound. It also controls the degree of multiprogramming. If the degree of multiprogramming is stable, then the average rate of process creation must be equal to the average departure rate of processes leaving the system.
On some systems, the long term scheduler may not be available or minimal. Time-sharing operating systems have no long term scheduler. When process changes the state from new to ready, then there is use of long term scheduler.
Short Term Scheduler
It is also called CPU scheduler. Main objective is increasing system performance in accordance with the chosen set of criteria. It is the change of ready state to running state of the process. CPU scheduler selects process among the processes that are ready to execute and allocates CPU to one of them.
Short term scheduler also known as dispatcher, execute most frequently and makes the fine grained decision of which process to execute next. Short term scheduler is faster than long term scheduler.
Medium Term Scheduler
Medium term scheduling is part of the swapping. It removes the processes from the memory. It reduces the degree of multiprogramming. The medium term scheduler is in-charge of handling the swapped out-processes.
M)Dispatcher:
The dispatcher is the module that gives control of the CPU to the process selected by the short-time scheduler (selects from among the processes that are ready to execute).The function involves: Switching context Switching to user mode Jumping to the proper location in the user program to restart that program.
3)Explain Booting Process?
Booting:
booting (or booting up) is the initialization of a computerized system.
Booting is a process or set of operations that loads and hence starts the operating system, starting from the point when user switches on the power button.
A boot loader is a computer program that loads an operating system or some other system software for the computer after completion of the power-on self-tests; it is the loader for the operating system itself.
What is Booting Sequence?
Basically documents related to booting are generally confusing as they are often related to some specific operating system that is Linux machine or Windows machine. But I will keep it as general as possible.
sequence comprises of the following steps:
• Turn on the Power button.
• CPU pins are reset and registers are set to specific value.
• CPU jump to address of BIOS (0xFFFF0).
• BIOS run POST (Power-On Self Test) and other necessary checks.
• BIOS jumps to MBR(Master Boot Record).
• Primary Bootloader runs from MBR and jumps to Secondary Bootloader.
• Secondary Bootloaders loads Operating System.
These are the tasks that are carried during booting process. Now let us discuss them in detail.
As soon as we turn the power button, the reset signal is sent and the registers in the CPU are set to their pre defined value. The first and foremost is the reset vector as shown in the figure (example is taken of 4GB RAM). It should be noted that RAM contains the garbage value at this time, and the instructions/data stored at any memory location is due to the memory map of the chipset. Memory map maps the location (address) to flash memory containing values or instructions. It is ensured that the instruction stored at this reset vector location is jump to system BIOS, as BIOS takes up further process of powering up the system.
4)Explain The concept of Process and Process administration in detail?
Process
A process is a program in execution. The execution of a process must progress in a sequential fashion. Definition of process is following.
• A process is defined as an entity which represents the basic unit of work to be implemented in the system.
Components of process are following.
S.N. Component & Description
1 Object Program
Code to be executed.
2 Data
Data to be used for executing the program.
3 Resources
While executing the program, it may require some resources.
4 Status
Verifies the status of the process execution.A process can run to completion only when all requested resources have been allocated to the process. Two or more processes could be executing the same program, each using their own data and resources.
Program
A program by itself is not a process. It is a static entity made up of program statement while process is a dynamic entity. Program contains the instructions to be executed by processor.
A program takes a space at single place in main memory and continues to stay there. A program does not perform any action by itself.
Process States
As a process executes, it changes state. The state of a process is defined as the current activity of the process.
Process can have one of the following five states at a time.
S.N. State & Description
1 New The process is being created.
2 Ready The process is waiting to be assigned to a processor. Ready processes are waiting to have the processor allocated to them by the operating system so that they can run.
3 Running Process instructions are being executed (i.e. The process that is currently being executed).
4 Waiting The process is waiting for some event to occur (such as the completion of an I/O operation).
5 Terminated The process has finished execution.
Process Control Block, PCB
Each process is represented in the operating system by a process control block (PCB) also called a task control block. PCB is the data structure used by the operating system. Operating system groups all information that needs about particular process.
PCB contains many pieces of information associated with a specific process which are described below.
S.N. Information & Description
1 Pointer Pointer points to another process control block. Pointer is used for maintaining the scheduling list.
2 Process State Process state may be new, ready, running, waiting and so on.
3 Program Counter Program Counter indicates the address of the next instruction to be executed for this process.
4 CPU registers CPU registers include general purpose register, stack pointers, index registers and accumulators etc. number of register and type of register totally depends upon the computer architecture.
5 Memory management information
This information may include the value of base and limit registers, the page tables, or the segment tables depending on the memory system used by the operating system.This information is useful for deallocating the memory when the process terminates.
6 Accounting information
This information includes the amount of CPU and real time used, time limits, job or process numbers, account numbers etc.
Process control block includes CPU scheduling, I/O resource management, file management information etc.. The PCB serves as the repository for any information which can vary from process to process. Loader/linker sets flags and registers when a process is created. If that process gets suspended, the contents of the registers are saved on a stack and the pointer to the particular stack frame is stored in the PCB. By this technique, the hardware state can be restored so that the process can be scheduled to run again.
Process Scheduling or Process administration:
The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.
Process scheduling is an essential part of a Multiprogramming operating system. Such operating systems allow more than one process to be loaded into the executable memory at a time and loaded process shares the CPU using time multiplexing.
Scheduling Queues
Scheduling queues refers to queues of processes or devices. When the process enters into the system, then this process is put into a job queue. This queue consists of all processes in the system. The operating system also maintains other queues such as device queue. Device queue is a queue for which multiple processes are waiting for a particular I/O device. Each device has its own device queue.
This figure shows the queuing diagram of process scheduling.
• Queue is represented by rectangular box.
• The circles represent the resources that serve the queues.
• The arrows indicate the process flow in the system.
Queues are of two types
• Ready queue
• Device queue
A newly arrived process is put in the ready queue. Processes waits in ready queue for allocating the CPU. Once the CPU is assigned to a process, then that process will execute. While executing the process, any one of the following events can occur.
• The process could issue an I/O request and then it would be placed in an I/O queue.
• The process could create new sub process and will wait for its termination.
• The process could be removed forcibly from the CPU, as a result of interrupt and put back in the ready queue.
Two State Process Model
Two state process model refers to running and non-running states which are described below.
S.N. State & Description
1 Running
When new process is created by Operating System that process enters into the system as in the running state.
2 Not Running
Processes that are not running are kept in queue, waiting for their turn to execute. Each entry in the queue is a pointer to a particular process. Queue is implemented by using linked list. Use of dispatcher is as follows. When a process is interrupted, that process is transferred in the waiting queue. If the process has completed or aborted, the process is discarded. In either case, the dispatcher then selects a process from the queue to execute.
5)Explain attacks from outside and within detail?
In computer and computer networks an attack is any attempt to destroy, expose, alter, disable, steal or gain unauthorized access to or make unauthorized use of an asset.
An "inside attack" is an attack initiated by an entity inside the security perimeter (an "insider"), i.e., an entity that is authorized to access system resources but uses them in a way not approved by those who granted the authorization.
An "outside attack" is initiated from outside the perimeter, by an unauthorized or illegitimate user of the system (an "outsider"). In the Internet, potential outside attackers range from amateur pranksters to organized criminals, international terrorists, and hostile governments.
Types of Insiders:
One of the most destructive examples of Insider Threats in was the cyberattack on the state-owned oil company Saudi Aramco, which erased the data on about 30,000, or three quarters, of the company’s corporate PCs using a virus named Shamoon, and replaced it with an image of a burning American flag. After analyzing the software code from the Aramco attack, security experts say that the event involved a company insider, or insiders, with privileged access to Aramco’s network. The virus could have been carried on a USB memory stick that was inserted into a PC.
• Compromised actors: Insiders with access credentials or computing devices that have been compromised by an outside threat actor. These insiders are more challenging to address since the real attack is coming from outside, posing a much lower risk of being identified.
• Unintentional actors: Insiders who expose data accidentally, such as an employee who accesses company data through public WiFi without the knowledge that it’s unsecured. A large number of data breach incidents result from employee negligence towards security measures, policies, and practices.
• Emotional Attackers: Insiders who steal data or destroy company networks intentionally, such as a former employee who injects malware or logic bomb in corporate computers on his last day at work.
On October 2008 a logic bomb was discovered at American mortgage giantFannie Mae. The bomb was allegedly planted by Rajendrasinh Babubhai Makwana, an IT contractor who worked in Fannie Mae’s Urbana, Marylandfacility. The bomb was set to activate on 31 January 2009 and could have wiped all of Fannie Mae’s 4000 servers. Makwana had been terminated around 1:00pm on 24 October 2008 and managed to plant the bomb before his network access was revoked. Such events of planting logic bombs by employees intentionally are quite high.
• Tech savvy actors: Insiders who react to challenges. They use their knowledge of weaknesses and vulnerabilities to breach clearance and access sensitive information. Tech savvy actors can pose some of the most dangerous insider threats, and are likely to sell confidential information to external parties or black market bidders.
Outsider attacks
The percentage of external threats to an organization is very high. It includes well-funded hackers, organized crime groups, and government entities. Attacks can be either active or passive. An active attack generates packets or participates in the network while a passive attack is eavesdropping the network or tracking users. Main motive behind these kind of cyber-attacks include Cyber Espionage, Cyber Warfare, and Hacktivism. These attackers are persistent, and it is important to be aware of the methods used by hackers. This is an important step towards defending sensitive company data. The cost to a company could potentially be millions of dollars, when a hacker exposes sensitive data to the public.
An "active attack" attempts to alter system resources or affect their operation.
A "passive attack" attempts to learn or make use of information from the system but does not affect system resources.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.