-->

Operating system

 Operating system

Definition: 

Our computer system is very complex. To run and manage its every component we need powerful software which is called operating system. 

                            So in simple way we can say it is a collection of large number of programs designed in integrated way which can handle everything (applications,memory,processors,tasks etc) running inside system including the users. We have many examples like, Linux, Unix Windows ’98,’00 etc

In another sense we can say an operating system is an “executive manager” which sits at the top and manages all the hardwares and softwares. The operating system is the core part of computer system like heart of living being.  It is also called system software which is stored in memory after start up and starts managing and scheduling the operations with the help of hardware’s. Besides management, it also provides an interface between user and computer to work on. In computer system, we can have two types of interfaces: interface between user’s world and computer’s hardware and users’ running applications.   It provides a platform for all others program to run smoothly.

                             Let’s see the diagram given alongside. In the diagram, we can see three levels namely top, middle and bottom level. This pyramidal structure can be used for any organization (bank, advertising, development, educational institute etc.) and can be used to understand how they work and how flow of work takes place from top to low level. In same manner or fashion, we can also understand about operating system its activities, commands; roles etc. The operating system sits at the top and watches all activities going inside and outside the system. If any problem comes, it tries to resolve. If it could not then it takes help of users.

                                   On other hand, an Os maximizes the productivity and reduces the conflict between applications and more intervention by user/s to the system. In short we can say it is the “BOSS” of whole system who has better plan, better ideas for better for performance for the users’ problem.


 



Kernel:-


A Kernel is a computer program that is the heart and core of an Operating System. Since the Operating System has control over the system so, the Kernel also has control over everything in the system. It is the most important part of an Operating System. Whenever a system starts, the Kernel is the first program that is loaded after the bootloader because the Kernel has to handle the rest of the thing of the system for the Operating System. The Kernel remains in the memory until the Operating System is shut-down.

The Kernel is responsible for low-level tasks such as disk management, memory management, task management, etc. It provides an interface between the user and the hardware components of the system. When a process makes a request to the Kernel, then it is called System Call.

types:-

1. Monolithic Kernels:

        Features:-

  • user services and the kernel services are implemented in the same memory space
  • File systems
  • Interprocess communication
  • I/O and device management
  • Fundamental process management
  • Hardware
  • As there is no separate User Space and Kernel Space, so the execution of the process will be faster in Monolithic Kernels.
  • If any service fails, then it leads to system failure.
  • If new services are to be added then the entire Operating System needs to be modified.
Microkernel:-
Features:-
 1.The user services and kernel services are implemented into different spaces.
2.Because of this, it reduces the size of Operating System.
3.If new services are to be added then it can be easily added.
Hybrid Kernel
A Hybrid Kernel is a combination of both Monolithic Kernel and Microkernel. It makes the use of the speed of Monolithic Kernel and the modularity of Microkernel.
Hybrid kernels are micro kernels that have some "non-essential" code in kernel-space in order for the code to run more quickly than it would be in user-space. So, some services such as network stack or filesystem are run in Kernel space to reduce the performance overhead, but still, it runs kernel code as servers in the user-space.
Nanokernel
In a Nanokrnel, as the name suggests, the whole code of the kernel is very small i.e. the code executing in the privileged mode of the hardware is very small. The term nanokernel is used to describe a kernel that supports a nanosecond clock resolution.
Exokernel

Exokernel is an Operating System kernel that is developed by the MIT parallel and the Distributed Operating Systems group. Here in this type of kernel, the resource protection is separated from the management and this, in turn, results in allowing us to perform application-specific customization.

In the Exokernel, the idea is not to implement all the abstractions. But the idea is to impose as few abstractions as possible and by doing so the abstraction should be used only when needed. So, no force abstraction will be there in Exokernel and this is the feature that makes it different from a Monolithic Kernel and Microkernel. But the drawback of this is the complex design. The design of the Exokernel is very complex.

(source:-https://afteracademy.com/blog/what-is-kernel-in-operating-system-and-what-are-the-various-types-of-kernel)

Comparison of monolithic and microkernel:-






 

Roles (briefly) of operating system:-

Just we discussed about operating system. It is the heart of system without which our computer becomes just like a dead body; no soul and no way to make it alive! It is true that we give instruction to computer to solve the problem, but to enter that instruction we need an Os. Let’s see in short some roles of Os.

1. Accepts input from users through input devices.

2. Send output to all concerned devices.

3. Communicates to all parts via VDU

4. Helps in loading and unloading the programs from and to memory.

5. Helps to store files in certain order.

6. Provides good coordination between devices and users.

7. Lets users to develop programs.

8. Deals with fault.

Etc.


Functions of Os: - By just writing we cannot say that operating system has this much functions. It has varieties of roles while operating the system. But to be clear, here are some important functions with brief explanations.

1. Creating and providing interface: Computer, a completely dull device but works, how? It works by using instructions given by us. But how a computer understands our instruction? Yeah, to understand and accept, it has given us a platform of communication with it. So simply we can say, to work on it, we must need an environment. That environment is created by Os like an environment existing inside a plane or car.   So an interface is a gateway through we get inside the system and start working. Mostly we have two interfaces namely CUI and GUI.

2. IO management: Obviously without entering any data/instruction, nothing can be done so to enter data or application or instruction we need input device and to display output, an output device. User and application uses device manager to deal with I/O devices. The basic thing is recognizing the input /output device which is done by Os. It allows an interaction between input/output and other devices.

3. Memory management:- A unit where computer stores data/instructions may be for a while or for long time is called memory. We have two types of memory primary and secondary. These two memories are handled by Os. Os knows how to store, where to store and when to store. The computer memory is arranged in hierarchy form nearest and farthest to cpu. The Os is responsible for allocation of space for running applications, programs. The data is stored in the form of bits/bytes/KB/MB.

4. Process management:- A program is made of many processes. While running a program, an operating system has to handle many such like processes. An OS knows better how, when and where to manage running processes. Mostly in the case of multitasking and multiprocessing system it is needed.

5. Networking and internet connection:- Suppose there are many users working in a networking environment where multiple computers are running with their own processor. Now, if a user wants to share data or file or hard disk or may be a single computer then how can he go for that? Yeah, for this we have sharing facility provided by an OS. By using this we can easily have messaging or sharing service with net connection. We can also limit the sharing according to level of users.

6. Security: A big issue not in computer but for all users around the world!, but how to resolve this? Now-a-days, operating systems are coming with high security system in-built. We can use this to secure the data which is of great worth. We can restrict the users from usage of data by allowing and disallowing them. Besides, we can also protect data from unknown users and hackers, viruses and spywares by using powerful OS. etc.

7. File management: Storing the data with security and without corruption is a big deal for computer and an operating system.  Operating system knows creating file, folder, sub-folders and how to arrange them in certain order such that whenever a user needs that, it provides in short time. It follows an order called hierarchical order for arrangement. Some other works like defragmentation and back-up also can be done by using an OS. Computer may use different file system FAT /NTFS etc.

8. Interrupt handling: A unit called interrupt handler under OS which handles all interrupts occurring inside system. Here interrupt means drawing attention of busy microprocessor for another work. Having finished that work, the cpu returns back to its original work. It occurs very randomly. There are different types like, software, hardware, users, processes etc.

9. Deadlock prevention:- Suppose, there is a situation where one resource is to be used by two processes or a process is in need of a resource but that is being used by another process. In that case an operating system can not decide what to do. So this type of situation should be prevented called deadlock prevention. And operating system just does that.

Etc.



10. Command interpreter:-

A command interpreter is a system software that understands and executes commands that are entered interactively by a human or from an another program. Command interpreter is an important part of any operating system.  A command interpreter is often also called a command shell or simply a shell.

11. Virtual memory:- Suppose, we are going to run multiple programs simultaneously but we have low RAM. Then how an operating system manages that? Three is simple answer. An operating system uses certain part of HARD DISK (secondary storage media) just as RAM to store the running processes but it is not an actual RAM, it is a part of Hard disk so it is called virtual memory. This memory gives an illusion to the user that I am there but it does not exist there in reality. This memory is used by operating system when multiple programs/processes are running or going to run. This lets the expansion of total size of RAM so there can be more space. With the help of this, speed can be increased and users can run programs some like bigger than RAM’s space. Operating system splits the main program into several pieces. It stores that process which is constantly running and left others are stored into virtual memory. When needed, the system goes for swapping/paging/exchanging the processes. In virtual memory, OS stores the addresses of respective processes. On need or demand, the system uses that address to call particular process/data/instruction.        

  Its main advantages can be:

1. cpu’s whole time can be utilized

2. Many programs can be run.

3. Program’s size; just not the matter to run. 






Buffering:- It’s a temporary storage area, usually in RAM. The purpose of most buffers is to act as a holding area, enabling the CPU to manipulate data before transferring it to a device. Because the processes of reading and writing data to a disk are relatively slow, many programs keep track of data changes in a buffer and then copy the buffer to a disk. For example, word processors employ a buffer to keep track of changes to files. Then when you save the file, the word processor updates the disk file with the contents of the buffer. This is much more efficient than accessing the file on the disk each time you make a change to the file. Note that because your changes are initially stored in a buffer, not on the disk, all of them will be lost if the computer fails during an editing session. For this reason, it is a good idea to save your file periodically. Most word processors automatically save files at regular intervals.


SPOOLING:- Spooling is the process of a sending data to a spool (a temporary holding area in RAM called buffering) , or temporary storage area in the computer's memory. This data may contain files or processes. It stands for “Simultaneous Peripherals operations online”, means many peripherals can be online and can work simultaneously. Like a spool of thread, the data can build up within the spool as multiple files or jobs are sent to it. However, unlike a spool of thread, the first jobs sent to the spool are the first ones to be processed (FIFO, not LIFO).

                                  The most common type of spooling is print spooling, where print jobs are sent to a print spool before being transmitted to the printer. For example, when you print a document from within an application, the document data is spooled to a temporary storage area while the printer warms up. As soon as the printer is ready to print the document, the data is sent from the spool to the printer and the document is printed.


Operating system types:


On the basis of no. of user working mode:

Single user operating system:

A single-user operating system is a type of operating system (OS) that is developed and intended for use on a computer or similar machine that will only have a single user at any given time. This is the most common type and simple OS used on a home computer, as well as on computers in offices and other work environments. Though a single-user operating system can be connected to other systems through a network, it is still truly only used by a single person and is different than a multi-user OS.

            

Single user OS can be further divided into:

                                             Single user-single application (tasking): This type of operating system only has to deal with one person at a time, running one user application at a time.

                An example of this kind of operating system would be found on a mobile phone. There can only be one user using the mobile and that person is only using one of its applications at a time.

                                                                 A single-user operating system that is a single task system is developed for use with a computer or electronic device that will only run one application at a time. This type of OS is typically used on devices such as wireless phones and two-way messaging devices. A single task, single-user operating system can only run one program or application at a time, and so is not as useful for a computer or other device intended to run multiple programs at once.

                                                                                                                                                                                         As long as the computer only has one monitor, keyboard and other input devices, then it is a single-user system.  The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. OR WE CAN TAKE VERY POPULAR EXAMPLE LIKE DOS.

 

                                                 Single user, multi-tasking:- We can find this kind of operating system on our personal computer.

The operating system is designed mainly with a single user in mind, but it can deal with many applications running at the same time. For example, you might be writing an essay, while searching the internet, downloading a video file and also listening to a piece of music.

Multi-user Operating system: Suppose, you have a computer at your home and you want your computer to do following works.

·         We  want to run a very complicated simulation like.

  • We  want run a forecast

  • We  want to handle customer accounts.

  • You are an architect and want to see your full design

  • You are a film animator and want to work in 3D etc.

This means it needs a multi-user operating system which means more than one user is logged on and can use the computer at the same time.

And furthermore, each person needs to be able to run more than one application at a time, so it needs to be multi-tasking as well.

                 So a powerful computer needs a multi-user, multitasking operating system.

Meaning:-                                                                 

So, 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.

                                                                                                           Since the operating system is responsible for managing memory and processing for other applications and programs being run. It also recognizes and uses hardware connected to the system, and properly handles user interaction and data requests.  In this type of Operating system, as multiple users are served at a same time so each user is also called a task. Hence multi user operating system also called multi-tasking operating system. While on a system using a multi-user operating system this can be even more important;since multiple people require the system to be functioning properly simultaneously.

                                                                        This type of operating systems is very rarely used. Important facts in a multi user operating system are preserving the environment (each task is independent and needs to be protected from other tasks) and Resource sharing (should be performed in such a way that deadlock should be avoided and the resources should be managed effectively so that time should be saved).

Now the operating system has to manage

  • Each user logged on to the system, their workspace and so on.

  • Allocate resources to the jobs they want to run.

  • Keep logs of how much processing time and resources they use

  • Work out the most efficient use of computer processing cycles

  • Maintain security

 

On the basis of processing method:-

  Batch Processing Operating System:-

It means executing a series of non-interactive jobs all at one time. In a batch processing operating system interaction between the user and processor is limited or there is no interaction at all during the execution of work. Data and programs that need to be processed are bundled and collected as a ‘batch’ for certain period of time and executed together.

Batch processing operating systems are ideal in situations where:

- There are large amounts of data to be processed.

- Similar data needs to be processed.

- Similar processing is involved when executing the data.

The system is capable of identifying times when the processor is idle at which time ‘batches’ maybe processed. Processing is all performed automatically without any user intervention.

                                                                An example of batch processing is the way that credit card companies process billing. The customer does not receive a bill for each separate credit card purchase but one monthly bill for all of that month purchases. The bill is created through batch processing, where all of the data are collected and held until the bill is processed as a batch at the end of the billing cycle. Similarly payroll system is another example where data is collected for all employees for certain time and then given to computer for processing.

 

Multiprogramming:- It is the technique of running several  programs at a time using time sharing. It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism. The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle. In Multiprogramming, programs may have delay; the very first program may very well run for hours without needing access to a peripheral. As there were no users waiting at an interactive terminal, this was not the problem.

 

Multitasking:-

Multitasking, is an operating system, and allows a user to perform more than one computer task (such as the operation of an application program) at a time. The operating system is able to keep track of where we are in these tasks and go from one to the other without losing information. When we open our Web browser with different sites same time, we are causing the operating system to do multitasking. Being able to do multitasking doesn't mean that an unlimited number of tasks can be juggled at the same time. Each task consumes system storage and other resources. As more tasks are started, the system may slow down or begin to run out of shared. Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the switching between jobs occurs so frequently that the users can interact with each program while it is running. This concept is also known as time-sharing systems.

    There are two basic types of multitasking: preemptive and cooperative.

                                            In preemptive multitasking:-

                                                                                           The operating system parcels out CPU time slices to each program(task). 

                                           cooperative multitasking:- 

                                                                                            Each program(task) can control the CPU for as long as it needs it. If a program is not using the CPU, however, it can allow another program to use it temporarily. OS/2, Windows 95, Windows NT etc. 

Multiprocessing:-

Multiprocessing is running a system with more than one processor. The theory is of course that we can double performance by using two processors instead of one. Multiprocessing is a general term that can mean the dynamic assignment of a program to one of two or more computers working in  or can involve multiple computers/processors working on the same program or different at the same time (in parallel).

              In addition, multiprocessing is most effective when used with application software designed specifically for it. Multiprocessing is managed by the operating system, which allocates different tasks to be performed by the various processors in the system. 

                               Multiprocessing can be said to be either asymmetric or symmetric. The term refers to how the operating system divides tasks between the processors in the system.

                    Asymmetric multiprocessing

  • It designates some processors to perform system tasks only, and others to run applications only. 

  • up to 200 or more processors can work on the same application.

  •  Each processor has its own operating system and memory, 

  • this type of system is also known as a "shared nothing" system.

                       Symmetric multiprocessing, 

  • allows either system or user tasks to run on any processor (all are same value), which is more flexible and therefore leads to better performance. 

  • does not usually exceed 16 processors 

  • In this, the processors share memory and the I/O bus or data path with same OS. A single copy of the operating system is in-charge of all the processors. 

  • It is  also known as a "shared everything" system..

 

Multithreading:

Multithreading is the ability of an operating system to execute the different parts of the program, called threads (A thread can be defined as a semi-process with a definite starting point, an execution sequence and a terminating point.), simultaneously. The meaning of semi-process is a full-blown process has its own memory area and data, but the thread shares memory and data with the other threads.

                Threads are also called lightweight processes that appear to run in parallel with the main program. They are called lightweight because they run within the context of the full-blown program taking advantage of the resources allocated for the program. Applications designed for use in multiprocessing are said to be threaded, which means that they are broken into smaller routines that can be run independently and they should be balanced or managed by supporting Os.

                The program has to be designed well so that the different threads do not interfere with each other. This concept helps to create scalable applications because we can add threads as and when needed. Individual programs are all isolated from each other in terms of their memory and data, but individual threads are not as they all share the same memory and data variables

Example:

Suppose,we all have fired a print command to print something. Imagine what would happen if the computer stopped responding while the printing is going on.  Oh No!! Our work will come to a stop till the nasty print work is going on. But as we all know, nothing like this happens. We are able to do the normal work with the computer (like editing/saving a file) or drawing a graphic and listening to music etc without getting bothered with the print job. Now, this is possible because separate threads are executing all these tasks.

          You would have all noticed that the database or a web server interacts with a number of users simultaneously. How are they able to do that??  It is possible because they maintain a separate thread for each user and hence can maintain the state of all the users.  If the program is run as one sequence then it is possible that failure in some part of the program will disrupt the functioning of the entire program. But, if the different tasks of the program are in separate threads then even if some part of the program fails, the other threads can execute independent of it and will not halt the entire program.

 

 

Time sharing operating system:

             The system that allows using a single computer system by many users simultaneously is called time sharing system. The computer allocates a small fraction of time to each user in round robin. Since the computer serves many users at same time with multi programming facility, the users working on different terminal think that the computer is working for them. But actually that does not happen. Our computer works on time sharing basis for many users and tasks running on. Mostly, this concept is used by system to make our processor very busy rather than idle.

                                                                                              In this system the tasks are given specific time and operating system switches between different tasks. The switching is as fast that the computer users don’t see any changes in the program he is running. 

                                                                                                                                                                    The job is better managed in time sharing system by the cpu compared to batch system. In time sharing operating system, equal time slots are provided to processor for execution of programs which also leads to the context switching, in which process shifts control from one to another. In case any process does not complete its working within time slot then extra time slot will not be given to it. For example- you are running a process with a time slot of 5 seconds and in case process does not complete in 5 second and requires 1 extra second then it will be executed in next execution cycle but time slot will not be extended.

 

Real time operating system:

We know that an operating system is designed to control/manage the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a program delay could cause a safety hazard. The RTOS guarantees certain capability within a specified time constraint.

                       Here the “real time” means occurring immediately. The term is used to describe a number of different computer features. 

               For example, real-time operating systems are systems that respond to input immediately. They are used for such tasks as navigation, in which the computer must react to a steady flow of new information without interruption. Most general-purpose operating systems are not real-time because they can take a few seconds, or even minutes, to react.

                                                                                                          Real time can also refer to events simulated by a computer at the same speed that they would occur in real life. In graphics animation, for example, a real-time program would display objects moving across the screen at the same speed that they would actually move.

                                                                 It can be of:

Hard real time: in this Operating systems that can absolutely guarantee a maximum time for these operations are referred.Missing deadline is total system failure.

Soft real time:-Failure to meet a deadline is considered neither application nor system failure.It's just considered less "good".There is some issue of concurrent access and the need to keep a number of connected systems up to date with changing situations;

Eg.                                  

 Imagine that you are designing an airbag system for a new model of car. In this case, a small error in timing (causing the airbag to deploy too early or too late) could be catastrophic and cause injury. Therefore, a hard real-time system is needed. On the other hand, if you were to design a mobile phone that received streaming video, it may be ok to lose a small amount of data occasionally even though on average it is important to keep up with the video stream. For this application, a soft real-time operating system may suffice. Like rocket launching, missile controlling, etc

 

On the basis of Interface:- On the basis of interface we have two types namely CUI and GUI. Before we discuss about these, let’s understand about term “Interface”.

                                             When we do any work on our computer, we take help of two things namely software and hardware. So by using software and hardware we get a platform to work on, we get a channel to communicate with our complex system. And obviously we get our work done instantly. This way of communicating is called an “Interface”. Or simply interacting with system in very easy mode is called Interface. Nowadays, the interface has been changed, like, we are using some different interface, touch sensitive, microphone based, signaling based etc. but two common are keyboard and mouse based. Like computer interface, we also get interfaces in car used by driver, on bike used by bike rider/driver, pilot in plane etc. So everywhere we use interface, difference is just a complexity. If an interface is very user friendly then it becomes very easier for the user/s to work on system.

                            

CUI: - Defn:

 The old one textual based interface system where only keyboard was used by users to work on and to solve problems is called CUI or CLI. This type interface also can be said a command line based mode in which a user types commands in front of command prompt (c:\>) in a black screen and executes one after another. To get our work done, one should remember the particular command or we can say series of many commands. This was used or popular in older days when the concept of mouse was totally zero. This interface has following features:

1.        It is less user-friendly for the users.

2.        Since it is command dependent so memorizing all is difficult.

3.        It does not have or can not display components (applications) like Icons, pictures, graphics, multimedia.

4.        Keyboard only can be used to input data. Mouse, joystick, trackball can not be used.

5.        Extremely slow because they run on 8-16 bits system in data carrying sense.

6.        Since no graphics so it runs command in fast way by occupying less memory.

7.        It is single tasking and single user Os.

Example: DOS

Some major components: CUI has some major components. Let’s see in detail.

1.        Command prompt: It is a standard symbol formed by combining drive name and path. This is used to accept command from users. It looks like C :\>. When we type command and press enter, it first searches that command in a file command.com or batch then accordingly processes and gives output.

2.        Commands:  There are some reserved words stored in OS which we can use to carry out our operations. They are called commands. All the available commands can be classified into two groups.

. Internal command: commands which are internal to system or a part of command.com which runs immediately are called internal commands. Like cls, copy, ren, dir etc.

. External command: some commands which are loaded from secondary media to memory according to requirement by user and have special function are called external command. Like chkdsk, format, shutdown, netstat etc

3.        Booting: It under OS says that load system files from secondary media to main memory and prepare computer for users to use. It is very important part of system. At start-up, this process takes place; if somehow could not happen then our system can not load OS and we have to check out the problem. It is of two types like cold and warm booting.

4.        Directory: It is just a table of contents or a big container or a part of HD which stores data/files, sub-directories in certain order.

 

Etc.

             GUI (Graphical user interface/Graphics based user interface):- Defn: As the name says, an interface which lets the user to work on but with graphically (with multi colors) is called GUI system/operating system. To overcome the problems felt in CUI the scientists (especially APPLE) introduced a new concept called Graphics with WIMP (Windows, Icons, mouse and pointer). In this interface, users use clicking, dragging, dropping facility with the help of one device called Mouse instead of keyboard (do not think that keyboard can not be used, it can be). And obviously users do not need to memorize commands, means no commands needed to carry out work. Now-a-days, not only mouse; some other devices like joystick, microphone, and even our finger can be used to input data. So interface has been so user friendly so this interface is being popular amongst the users. Like WINDOWS, Mac OS etc.

Features are:

1.        More users friendly.

2.        No need to remember commands/syntaxes.

3.        Many peripherals can be used instead of a single one mouse.

4.        Jobs to be done can be done easily by using icons and different other windows.

5.        Good look, users can explore easily for any task.

6.        Completely multimedia based /supported.

7.        It occupies more memory due to heavy graphics so runs applications little bit slower.

8.        It runs on 32, 64, 128 bits system so faster in data carrying and processing sense.

9.         It is multitasking, multiprocessing, multithreading, multi users supportive.

Etc

 Some major components:-

1.        Desktop: It is an area on screen which contains many other applications. The users work on desktop for any application and for any kind of job.

2.        Pointer:- We know that mouse is used in this interface. On desktop, we can see an arrow like symbol (or in some other shape) which is movable or which can be used to select, click, open, delete the object is called pointer. This pointer moves as we move mouse on mouse –pad.  

3.        ICONS:- These are small pictures or image on desktop. They could be an application or shortcut or special system software placed by users for their ease while working.

4.        Menus/Dialog boxes with Window:- When we open any application, it appears with its own working area with some menus (just a clickable command) at top like file, edit, help etc. when we again click on that menu, it shows some like boxes called dialog box. This dialog box is small and contains further options which we can select /deselect for work.

5.        Control panel: In GUI, to manage the system, securities, many users’ accounts, devices; we use this panel. By using this we can easily configure or do some changes in system or desktop or icons or internal processes.

Etc

 

Open source software(Operating system):- A kind of software which we can use or available to public at free for use. We do not need to pay for this. There is no restriction for anything while using software. Besides using, we also can view how it works, how is it designed (its source code), can modify and give to our friends or to public. We do not pay charge but if we want to donate then we can do as a help. Mostly it is run by Public under license from government which is called General Public License. This type software now-a-days is getting more popularity because of its facilities and some-like openness around the world and development in a public in a collaborative manner. We have many examples, Linux, Wordpress, Joomla, Codeigniter etc. 

It has following criteria to be.

1.        Free redistributable

2.        Source code viewable

3.        No discrimination

4.        License must not be specific to product

5.        Freely study.

Etc

Advantages:-

             1. Greater penetration in market

             2. No need to go for marketing

             3. Produces high quality software quickly

             4 Less time to fix the bugs.

Disadvantages:

1.        May not be well defined because of many stages of software development.

2.        No warranty and technical support.

3.        Unable to produce qualitative software.

 

UNIX: A popular operating system (mostly for server purpose) developed by Bell labs in 1969 by Ken Thompson and Dennis Ritchie. It is a powerful, multi user, multi-tasking, multi-programming with support of multithreading capability. It is available in both the versions CUI and GUI. It was/is a first operating system which was developed totally in high level language called ‘C’.

                             Besides being an Os, it a powerful platform on which different other operating systems have been developed by different other companies like Mac Os, IBM, Solaris etc.

Features:

1.        Multiuser supportive

2.        Multi-tasking, multi-programming

3.        Hierarchical directory structure

4.        Portability

5.        Virtual memory supportive

6.        Networking supportive

7.        High security

 

Disadvantages:-

1.        Traditional command line interface- for programmer, not for causal user.

2.        Richness in utilities often overwhelms to novices.

Etc

Linux:- Just like Unix, Linux  is a popular operating (server) system. It was developed by a student named Linus Torvald in 1991. It comes under freeware or we can say open source software.  The first version was released by him and later on, many other users around the world started working; now it has been a most popular operating system for most of the organizations and individuals. Actually Linux is a clone of UNIX system which also contains main kernel of UNIX. It has all the features whatever is with UNIX like, multitasking, multiprocessing, multi-users etc. it is distributed all over the world through many distributors like Red Hat, Mandrake, OpenSUSE, Ubuntu etc.

Advantages:

1.        Freely available to all users

2.        Excellent multiprocessing, multithreading, multi-tasking capabilities.

3.        Very low average downtime.

4.        Highly secured and reliable.

5.        Scalable

Disadvantages:-

1.        Due to availability in different distributions, one becomes which one to choose and which one is better.

2.        Comparatively Less user friendly.


Different distribution of Linux:-
1.Ubuntu:

Ubuntu is probably the most well-known Linux distribution. Ubuntu is based on Debian, but it has its own software repositories. Much of the software in these repositories is synced from Debian’s repositories.

The Ubuntu project has a focus on providing a solid desktop (and server) experience, and it isn’t afraid to build its own custom technology to do it. Ubuntu used to use the GNOME 2 desktop environment, but it now uses its own Unity desktop environment. Ubuntu is even building its own Mir graphical server while other distributions are working on the Wayland.

Ubuntu is modern without being too bleeding edge. It offers releases every six months, with a more stable LTS (long term support) release every two years. Ubuntu is currently working on expanding the Ubuntu distribution to run on smartphones and tablets.

Features:-

  • The desktop version of Ubuntu supports all the normal software on Windows such as Firefox, Chrome, VLC, etc.

  • It supports the office suite called LibreOffice.

  • Ubuntu has an in-built email software called Thunderbird, which gives the user access to email such as Exchange, Gmail, Hotmail, etc.

  • There are a host of free applications for users to view and edit photos.

  • There are also applications to manage videos and it also allows the users to share videos.

  • It is easy to find content on Ubuntu with the smart searching facility.

  • The best feature is, it is a free operating system and is backed by a huge open source community.

  • 2.Fedora:

  • Fedora operating system is an open-source operating system that is based on the Linux OS kernel architecture. A group of developers was developed the Fedora operating system under the Fedora Project. It is sponsored by Red Hat. It is designed as a secure operating system for the general-purpose. Fedora operating system offers a suite of virus protection, system tools, office productivity services, media playback, and other desktop application.

    According to the Fedora Project, it is always free to use, modify, and distribute. Fedora OS is integrated with applications and packaged software. This operating system enhances the abilities of the software. It offers the same consistency, procedures, and functionality as a traditional OS. Fedora operating system is the second most commonly used distribution of Linux after Ubuntu.

    There are over 100 distributions based on the Fedora operating system, including the XO operating system of Red Hat Enterprise Linux.

  • features:-

  • List of the Fedora OS features:

    • Fedora OS offers many architectures.
    • Fedora OS is a very reliable and stable operating system.
    • It provides unique security features.
    • Fedora OS provides a very powerful firewall.
    • Fedora OS is very easy to use.
    • It supports a large community.
    • Fedora OS is actively developed.
    • Fedora OS is an open-source OS.
    • The interface of Fedora OS is very attractive.
    • This operating system offers live mode tools.
    • This operating system enhances internet speed.
  • 3.Debian:-

  • Debian is an operating system composed only of free, open-source software. The Debian project has been operating since 1993 — over 20 years ago! This widely respected project is still releasing new versions of Debian, but it’s known for moving much more slowly than distributions like Ubuntu or Linux Mint. This can make it more stable and conservative, which is ideal for some systems.

  • features:-

    1. Debian Is Stable and Dependable

    2. You Can Use Each Version for a Long Time

    3. Debian Is Ideal for Servers

    4. A Rolling Release Option Is Available

    5. Debian Supports Many PC Architectures


    6. Debian Is the Largest Community-Run Distro

    7. Debian Has Great Software Support

    11. You Don't Need a Strong Internet Connection


  • 4.Linux mint:-

  • Linux Mint is the first operating system that people from Windows or Mac are drawn towards when they have to switch to Linux in their work environment. Linux Mint has been around since the year 2006 and has grown and matured into a very user-friendly OS.Linux Mint is a community-driven Linux distribution that is based on Ubuntu. It strives to be a modern, elegant and comfortable operating system which is powerful as well as easy to use. Linux Mint is a free and open-source operating system designed for use on desktop computers. It is one of the most popular desktop Linux distributions that millions of people currently use.

  • Features:-

  • Linux Mint 19 "Tara" Cinnamon Edition.
  • The Update Manager.
  • Automatic updates.
  • The welcome screen.
  • The Software Manager.
  • Background activities in the Software Manager.
  • Adjustable maximum sound level.
  • Better file search in Nemo.


  • 5.Gentoo:-
    Gentoo is a free operating system based on Linux that can be automatically optimized and customized for just about any application or need.
    Extreme configurability, performance, and a top-notch user and developer community are all hallmarks of the Gentoo experience.Of course, Gentoo is more than just software. It is also a community around the distribution. Gentoo benefits from around 250 developers and thousands of users, many of which are experts in their fields. The distribution project provides the means for the users to enjoy Gentoo: documentation, infrastructure, release engineering, software porting, quality assurance, security followup, hardening, and more.

    Development made easy

    Cross-compilation made easy

    High performance

    Great support of hardware

    High availability of modern packages

    System consistency

    Modular init system

    Colors everywhere


  • Mobile operating system:-


  • 1.android:-

  • Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.

    Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.

    The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008.

  • Features:-

    1

    Beautiful UI

    Android OS basic screen provides a beautiful and intuitive user interface.

    2

    Connectivity

    GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.

    3

    Storage

    SQLite, a lightweight relational database, is used for data storage purposes.

    4

    Media support

    H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.

    5

    Messaging

    SMS and MMS

    6

    Web browser

    Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3.

    7

    Multi-touch

    Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero.

    8

    Multi-tasking

    User can jump from one task to another and same time various application can run simultaneously.

    9

    Resizable widgets

    Widgets are resizable, so users can expand them to show more content or shrink them to save space.

    10

    Multi-Language

    Supports single direction and bi-directional text.

    11

    GCM

    Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution.

  • 2.iphone os:

  • IOS stands for iphone operating system. It is a proprietary mobile operating system of apple for its handheld. It supports Objective-C, C, C++, Swift programming language. It is based on the Macintosh OS X. iPhone, ipod and iPad all comes with IOS.

  • Features of IOS Platform
    It has following features:

    • Multitasking
    • Social Media
    • iCloud
    • In-App purchase
    • Game Center
    • Notification Center
    • Accelerometer
    • Gyroscope
    • Powerful APIs
    • GPS
    • High end processor
    • Accessibility
    • Bluetooth
    • Orientations
    • Camera integration
  • 3.windows mobile os:-

  • Its origin dated back to Windows CE in 1996, though Windows Mobile itself first appeared in 2000 as Pocket PC 2000 which ran on Pocket PC PDAs. It was renamed "Windows Mobile" in 2003, at which point it came in several versions (similar to the desktop versions of Windows) and was aimed at business and enterprise consumers. When initially released in the mid-2000s, it was to be the portable equivalent of what Windows desktop OS was: a major force in the then-emerging mobile/portable areas.

    Following the rise of newer smartphone OSs (iOS and Android) Windows Mobile never equalled the success and faded rapidly in the following years. By February 2010, Microsoft announced Windows Phone to supersede Windows Mobile with a more modern take on the industry. As a result, Windows Mobile has been deprecated. 

  • Features:-

    • Greater Start Screen personalisation. ...
    • Cortana: Finally arrives to take on Apple's Siri and Google's Google Now. ...
    • Action Centre for notifications. ...
    • Word Flow Keyboard. ...
    • Skype Integration. ...
    • Upgraded imaging experience. ...
    • New Sense feature for Windows Phone users. ...
    • Slew of new delights.
  • 4.Blackberry os:-

  • BlackBerry OS is a proprietary mobile operating system developed by Canadian company BlackBerry Limited for its BlackBerry line of smartphone handheld devices. The operating system provides multitasking and supports specialized input devices that have been adopted by BlackBerry for use in its handhelds, particularly the trackwheel, trackball, and most recently, the trackpad and touchscreen.
    The BlackBerry platform natively supports corporate email, through Java Micro Edition MIDP 1.0 and, more recently, a subset of MIDP 2.0, which allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes and contacts, when used with BlackBerry Enterprise Server. The operating system also supports WAP 1.2.

  • features:-


    • Picture Password. Blackberry developers created a unique way to protect the smartphone from unauthorized access. ...
    • Reading mode. ...
    • Photo and video stories. ...
    • Add a shortcut to the home screen. ...
    • Activate silent mode without pressing any buttons. ...
    • Keyboard shortcuts. ...
    • Backup your data. ...
    • Word suggestions.
  • 5.symbian os:-.

  • Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. Symbian was originally developed as a proprietary software OS for PDAs in 1998 by the Symbian Ltd. consortium. Symbian OS is a descendant of Psion's EPOC, and was released exclusively on ARM processors, although an unreleased x86 port existed. Symbian was used by many major mobile phone brands, like SamsungMotorolaSony Ericsson, and above all by Nokia. It was also prevalent in Japan by brands including FujitsuSharp and Mitsubishi.

  • As a pioneer that established the smartphone industry, it was the most popular smartphone OS on a worldwide average until the end of 2010—at a time when smartphones were in limited use—when it was overtaken by iOS and Android. It was notably not as popular in North America.

  • Features of Symbian OS:

    •  Symbian OS contained a browser,

    •  messaging, 

    • multimedia, 

    • communication protocol,

    •  mobile telephony, 

    • data synchronization, 

    • security,

    •  application environment, 

    • multi-tasking, 

    • robustness, 

    • flexible.

    No comments:

    Post a Comment