Operating Systems Structure
1- Explain briefly why the objectives of a purely batch multiprogramming operating system
conflict with those of an interactive system.
2- What features from the Mainframe operating system Multics do we see in modern operating
systems?
Solution
Answer 2..
The various features of Multics are :
-Segmented memory
-Virtual memory
-High-level language implementation
-Shared memory multiprocessor
-Multi-language support
-Relational database
-Security
-On-line reconfiguration
-Software engineering
Out of the above features, the feature that are present in modern operating system are:
1) security
Each user has to be authenticated with an username and password (network and multi-user
operating system).
Their data and files will be kept private from other users, unless they choose to make some
shareable with others.
The operating system will only allow administrators (\'super users\') to change parts of the
operating system and install applications.
2)Segmented memory
To use shared memory, we have to perform 2 basic steps:
Request to the operating system a memory segment that can be shared between processes. The
user can create/destroy/open this memory
using a shared memory object: An object that represents memory that can be mapped
concurrently into the address space of more than one process..
Associate a part of that memory or the whole memory with the address space of the calling
process. The operating system looks for
a big enough memory address range in the calling process\' address space and marks that
address range as an special range. Changes in that address
range are automatically seen by other process that also have mapped the same shared memory
object.
3)Virtual memory
Virtual memory is a memory management capability of an OS that uses hardware and software
to allow a computer to compensate for physical memory
shortages by temporarily transferring data from random access memory (RAM) to disk storage.
Virtual address space is increased using active memory
in RAM and inactive memory in hard disk drives (HDDs) to form contiguous addresses that
hold both the application and its data.
4)Shared memory multiprocessor
Shared memory is the fastest interprocess communication mechanism. The operating system
maps a memory segment in
the address space of several processes, so that several processes can read and write in that
memory segment without
calling operating system functions. However, we need some kind of synchronization between
processes that read and write shared memory.
Consider what happens when a server process wants to send an HTML file to a client process
that resides in the same machine using network mechanisms:
The server must read the file to memory and pass it to the network functions, that copy that
memory to the OS\'s internal memory.
The client uses the network functions to copy the data from the OS\'s internal memory to its own
memory.
As we can see, there are two copies, one from memory to the network an.
Operating Systems Structure1- Explain briefly why the objectives o.pdf
1. Operating Systems Structure
1- Explain briefly why the objectives of a purely batch multiprogramming operating system
conflict with those of an interactive system.
2- What features from the Mainframe operating system Multics do we see in modern operating
systems?
Solution
Answer 2..
The various features of Multics are :
-Segmented memory
-Virtual memory
-High-level language implementation
-Shared memory multiprocessor
-Multi-language support
-Relational database
-Security
-On-line reconfiguration
-Software engineering
Out of the above features, the feature that are present in modern operating system are:
1) security
Each user has to be authenticated with an username and password (network and multi-user
operating system).
Their data and files will be kept private from other users, unless they choose to make some
shareable with others.
The operating system will only allow administrators ('super users') to change parts of the
operating system and install applications.
2)Segmented memory
To use shared memory, we have to perform 2 basic steps:
Request to the operating system a memory segment that can be shared between processes. The
user can create/destroy/open this memory
using a shared memory object: An object that represents memory that can be mapped
concurrently into the address space of more than one process..
Associate a part of that memory or the whole memory with the address space of the calling
process. The operating system looks for
2. a big enough memory address range in the calling process' address space and marks that
address range as an special range. Changes in that address
range are automatically seen by other process that also have mapped the same shared memory
object.
3)Virtual memory
Virtual memory is a memory management capability of an OS that uses hardware and software
to allow a computer to compensate for physical memory
shortages by temporarily transferring data from random access memory (RAM) to disk storage.
Virtual address space is increased using active memory
in RAM and inactive memory in hard disk drives (HDDs) to form contiguous addresses that
hold both the application and its data.
4)Shared memory multiprocessor
Shared memory is the fastest interprocess communication mechanism. The operating system
maps a memory segment in
the address space of several processes, so that several processes can read and write in that
memory segment without
calling operating system functions. However, we need some kind of synchronization between
processes that read and write shared memory.
Consider what happens when a server process wants to send an HTML file to a client process
that resides in the same machine using network mechanisms:
The server must read the file to memory and pass it to the network functions, that copy that
memory to the OS's internal memory.
The client uses the network functions to copy the data from the OS's internal memory to its own
memory.
As we can see, there are two copies, one from memory to the network and another one from the
network to memory. And those copies are made using
operating system calls that normally are expensive. Shared memory avoids this overhead, but we
need to synchronize both processes:
The server maps a shared memory in its address space and also gets access to a synchronization
mechanism. The server obtains exclusive
access to the memory using the synchronization mechanism and copies the file to memory.
The client maps the shared memory in its address space. Waits until the server releases the
exclusive access and uses the data.
Using shared memory, we can avoid two data copies, but we have to synchronize the access to
the shared memory segment.
3. Answer 1..
The Main Objectives in OS design is :
Convenience – makes computer user friendly.
Efficiency- allows computer to use resources efficiently.
Ability to evolve- constructed in a way to permit effective development, testing and introduction
of new functions without interfering with service.
The common idea behind this design is:
Operating systems control and support the usage of computer systems.
Concepts to be discussed:
Usage
Computer system
Control
Support
a. usage
users of a computer system:
programs - use memory, use CPU time, use I/O devices
human users
programmers - use program development tools such as debuggers, editors end users - use
application programs, e.g. Internet explorer
b. computer system = hardware + software
OS is a part of the computer software, it is a program. It is a very special program, that is the
first to be executed when the computer is switched on, and is supposed to control and support the
execution of other programs and the overall usage of the computer system.
c. control
The operating system controls the usage of the computer resources - hardware devices and
software utilities. We can think of an operating system as a Resource Manager. Here are some of
the resources managed by the OS:
Processors,
Main memory,
Secondary Memory,
Peripheral devices,
Information.
d. support
The operating system provides a number of services to assist the users of the computer system:
4. For the programmers:
Utilities - debuggers, editors, file management, etc.
For the end users - provides the interface to the application programs
For programs - loads instructions and data into memory, prepares I/O devises for usage,
handles interrupts and error conditions.
As comapred to Interactive design systems, their main objective is 'Usability'.
Usability Engineering is a method in the progress of software and systems, which includes user
contribution from
the inception of the process and assures the effectiveness of the product through the use of a
usability requirement and metrics.
It thus refers to the Usability Function features of the entire process of abstracting, implementing
& testing hardware and
software products. Requirements gathering stage to installation, marketing and testing of
products, all fall in this process.
Objective of Usability Engineering is:
-Effective to use Functional
-Efficient to use Efficient
-Error free in use Safe
-Easy to use Friendly
-Enjoyable in use Delightful Experience
Usability has three components
effectiveness, efficiency and satisfaction,
using which, users accomplish their goals in particular environments.
Effectiveness The completeness with which users achieve their goals.
Efficiency The competence used in using the resources to effectively achieve the goals.
Satisfaction The ease of the work system to its users.