Types of Operating Systems
Batch operating system
The users of batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers left their programs with the operator. The operator then sorts programs into batches with similar requirements.
The problems with Batch Systems are following.
Lack of interaction between the user and job.
CPU is often idle, because the speeds of the mechanical I/O devices is slower than CPU.
Difficult to provide the desired priority.
Time-sharing operating systems
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. The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in case of Multiprogrammed batch systems, objective is to maximize processor use, whereas in Time-Sharing Systems objective is to minimize response time.
Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receives an immediate response. For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most.
Operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. Computer systems that were designed primarily as batch systems have been modified to time-sharing systems.
Advantages of Timesharing operating systems are following
Disadvantages of Timesharing operating systems are following.
Distributed operating System
Distributed systems use multiple central processors to serve multiple real time application and multiple users. Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently.
The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems. Processors in a distributed system may vary in size and function. These processors are referred as sites, nodes, computers and so on.
The advantages of distributed systems are following.
With resource sharing facility user at one site may be able to use the resources available at another.
Speedup the exchange of data with one another via electronic mail.
If one site fails in a distributed system, the remaining sites can potentially continue operating.
Better service to the customers.
Reduction of the load on the host computer.
Reduction of delays in data processing.
Network operating System
Network Operating System runs on a server and and provides server the capability to manage data, users, groups, security, applications, and other networking functions. The primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks. Examples of network operating systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
The advantages of network operating systems are following.
Centralized servers are highly stable.
Security is server managed.
Upgrades to new technologies and hardwares can be easily integrated into the system.
Remote access to servers is possible from different locations and types of systems.
The disadvantages of network operating systems are following.
High cost of buying and running a server.
Dependency on a central location for most operations.
Regular maintenance and updates are required.
Real Time operating System
Real time system is defines as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. Real time processing is always on line whereas on line system need not be real time. The time taken by the system to respond to an input and display of required updated information is termed as response time. So in this method response time is very less as compared to the online processing.
Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. Real-time operating system has well-defined, fixed time constraints otherwise system will fail.For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home-applicance controllers, Air traffic control system etc.
There are two types of real-time operating systems.
Hard real-time systems
Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems secondary storage is limited or missing with data stored in ROM. In these systems virtual memory is almost never found.
Soft real-time systems
Soft real time systems are less restrictive. Critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems.For example, Multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers etc.
Types of databases
a) Operational databases
b) End user databases
c) Centralised databases
d) Distributed databases
e) Personal databases
f) Commercial databases
a. Operational databases:
These databases store data relating to the operations of the enterprise. Generally, such databases are organised on functional lines such as marketing, production, employees, etc.
b. End-User databases:
These databases are shared by users and contain information meant for use by the end-users like managers at different levels. These managers may not be concerned about the individual transactions as found in operational databases.
Rather, they would be more interested in summary information. Although, the operational databases can also generate summary information from the transaction details, they would be quite slow as they are not designed for this purpose.
c. Centralised databases:
These databases store the entire information and application programs at a central computing facility. The users at different locations access the central data base to make processing. The communication controller sends the transactions to the relevant application programs. These programs pick up the appropriate data from the database for processing the transaction.
For example, Mahanagar Telephone Nigam Limited (MTNL) has a centralised data base for registration of applications for new telephone connections. The data regarding the applicant are received from a local area office of MTNL.
Data validation and verification is carried out by the application programs at the central computer centre, and a registration number is allotted by the application programs located at the central facility. The local area office keeps on recording it and hardly does any processing.
d. Distributed databases:
These databases have contributions from the common databases as well as the data captured from the local operations. The data remains distributed at various sites in the organisation. As the sites are linked to each other with the help of communication links, the entire collection of data at all the sites constitutes the logical database of the organisation.
These databases reduce the communication requirement by ensuring that the detailed local information remains stored on the local facility. Today, the client-server technology is most popular for managing distributed data bases. In a client-server environment, DBMS has two components, one interacting with the needs of the user (client) and passing requests to the other component of DBMS.
The other component interacts with the database to meet the information needs of the client. Figure 9.8 depicts the functioning of these components of DBMS in a client server environment.
The basic reason for dividing the DBMS into two components is that a part of the job is moved to the user’s PC (client). This makes the simultaneous processing possible on client PC and Server computer system. The server is also able to co-ordinate the requests from a number of clients at a time.
e. Personal databases:
The personal databases are maintained, generally, on Personal computers. They contain information that is meant for use only among a limited number of users, generally working in the same department.
These databases are generally subject specific and are user designed. They use simple and less powerful DBMS packages available on PCs. These DBMS packages may not have all the features of relational DBMS but do have similar features in a limited way.
f. Commercial databases:
The database to which access is provided to users as a commercial venture is called a commercial or external database. These databases contain information that external users would require but by themselves would not be able to afford maintaining such huge databases.
These databases are subjected specific and access to these databases is sold as a paid service to its user. There are many commercial database services available, particularly in the area of financial and technical information.
These databases may offer statistics regarding commodity, foreign exchange and stock markets, companies and their performance, importers and their buying patterns, decided case laws, etc. The access to commercial databases may be given through communication links.
Some of the database service providers also offer databases on CD-ROMs and the updated versions of the databases are made available periodically. The databases on CD-ROMs have the advantage of reduced cost of communication. However, in applications such as stock market, commodity market and currency market information, this medium is not suitable because information is needed on a ‘real-time’ basis.