Showing posts with label Software Concept. Show all posts
Showing posts with label Software Concept. Show all posts
Softwares are mainly categorized into the following categories based on their licenses:  

Open source software, proprietry software, shareware, freeware


Open Source Software

Open Source Software (OSS) is the software that gives the users the freedom to run/use the software for any purpose and in any manner. They can be used, modified, and even redistributed. The source code is freely available to the customer. Python, Linux, etc are examples of Open Source Software.

Proprietary Software

We pay a supplier for a copy of the software which may be supplied on physical media or downloaded from the Internet. We get permission to use the software on one or sometimes more than one machine. Examples of this type of software include Microsoft Office and Microsoft Windows.

Freeware

Freeware software is free of cost and is usually bundled up with some operating system or any other software. Examples of freeware include Microsoft Internet Explorer which comes bundled up with any Microsoft operating system. People may use it for free. The source code is not available, so no modifications can be done.

Shareware

Shareware is basically a software for the trial purposes that the user is allowed to try for free, for a specified period of time. It is usually downloaded from the internet. When the trial period ends, the software must be purchased or uninstalled.


Utility software provides certain tasks that help in proper maintenance of the computer. The job of utility programs is to keep the computer system running smoothly. Nowadays many utility softwares are part of the operating system itself. Even if there is no utility software on your computer, the computer works but with the right kind of utility software, the computer becomes more reliable. Some of the commonly use utility softwares are antivirus, Disk defragmenter, backup, compression, etc.

Utility software, antivirus, disk defragmenter, disk cleaner,backup,compression


Application Software

Application software, general purpose software, customize software



Application software is a set of one or more programs designed to solve a specific problem or to do a specific task. Application software can not run itself it's dependent on system software. The user uses application software for their interests not for system performance.  Ex: MS Office, media player, calculator, web browser, games, etc.

Application software can be of two types – General Purpose Application Software and Customized Application software. 

General Purpose Application Software

General-purpose application software is made for the common users for day to day applications. These are also referred as Office Tools. Some of the popular types of general-purpose application software are Word Processor, Presentation Tool, Spreadsheet Package, and Database Management System.

Word Processor: Word processor is a general purpose application software used to create documents. It allows us to create , edit and format documents. We can use different types of fonts of various sizes, underline or make bold a certain part of the text. We can add clipart and other graphics into the document. Popular
examples of Word processing software are Writer (Open Office) and Microsoft
Word.

Presentation Tools: Presentation tools is a general purpose application software
that lets us create presentations on any topic. We can not only create a presentation and add slides into that but also can use different types of background, fonts, animations, audio, video, etc. We can add clipart and other graphics into our document. Popular examples of Presentation tools software are Impress (open office) and Microsoft Power Point.


Spreadsheet Packages: Spreadsheet is a general purpose application software that lets us create and store data in tabular form. Both text and numerical values can be entered in that tables known as a spreadsheet. We can not only create a document and add data into that but also can create different types of charts and graphs based upon the numerical data stored in that page. All common mathematical and statistical formulae can be used on the numeric data. Popular examples of Spreadsheet software are Calc (Open Office) and Microsoft Excel.

Database Management System: Database Management System is general purpose application software that lets us create computer programs that control the creation, maintenance, and the use of database for an organization and its end users. We can not only store data but can also manage data in a database. We can also import and export the data to many formats including Excel, Outlook, ASCII, dBase, FoxPro, Oracle, SQL Server, ODBC, etc. Popular examples of Database Management System are Base (Open Office), Microsoft Access, Oracle, MySQL etc.
 

Customized Application software

Customized Software is one that is tailor-made as per the user’s requirement. Such type of software is for a specific customer and so are also referred as Domain-Specific Tools. Some examples are- School Management System, Inventory Management System, Payroll System, Financial Accounting, Hotel Management, Reservation System, and Weather Forecasting System.




Some of the commonly used operating systems in computers are discussed below:

  1. Windows:- Microsoft launched Windows 1.0 operating system in 1985. It is a GUI (Graphic User Interface) and various versions of Windows have been launched like Windows 95, Windows 98, Win NT, Windows XP, Windows 7, Windows 8, Windows 8.1, and the latest being Windows 10.

  2. Linux:- Linux is a free and open software which means it is freely available for use and since its source code is also available so anybody can use it, modify it and redistribute it. It can be downloaded from www.linux.org. It is a very popular operating system used and supported by many companies.

  3. UNIX:- It is a multitasking, multiuser operating system originally developed in 1969 at Bell Labs. It was one of the first operating systems developed in a high-level language, namely C. Due to its portability, flexibility, and power, UNIX is widely being used in a networked environment.

  4. Solaris:- It is a free Unix based operating system introduced by Sun Microsystems in 1992. It is now also known as Oracle Solaris.

Mobile Operating Systems

Some operating systems are specially made for mobile devices like smartphones and tablets. The most commonly used mobile operating systems are – Android and Symbian

Android, Operating system, commonly used operating system



Android: It is a Linux derived Mobile OS released on 5th November 2007 and by 2011 it had more than 50% of the global smartphone market share. It is Google’s open and free software. Android applications are quite user friendly and even one can easily customize the Smartphone with Android OS. Various versions of Android OS have been released like 1.0, 1.5, 1.6, 2. x, 3.0, etc. The latest Android version released is 10.0. The Android releases have dessert-inspired codenames like Cupcake, Honeycomb, Ice Cream Sandwich, Jelly Bean, etc.

Android os, Mobile operating system, common operating system


Symbian: This Mobile OS developed by Nokia in 1998 and designed for smartphones. It offers a high level of functional integration between communication and personal information management. It has an integrated mailbox and it completely facilitates the usage of all Google applications in your smartphone easily. This OS currently not available. It was shut down in 2010.

Before reading about the types of operating system we should know GUI and CUI first. GUI and CUI are two types of User Interfaces. GUI stands for Graphical User Interface while CUI stands for Character User Interface. User Interface means the interface user uses to interact with the computer system it can be either graphics or character. 

When a user interacts with the computer using graphics (like icons, images, navigation, etc) the interface known as GUI. A mouse can be used in this interface. This interface is very user friendly. 

Example- GUI based OS like Windows, Linux, etc

When a user interacts with the computer using characters means the only keyboard, the interface known as CUI. 

Example- CUI based OS like MS-DOS.


Types of operating system, multitasking os, timesharing operating system, single user os, multiuser os



Some types of Operating System are as follows:-

  1. Single User and Single Task OS: It is used on a single computer for performing a single task. Single user OS is a simple operating system designed to manage one task at a time. MS-DOS is an example of a single-user OS.

  2. Multiuser OS: It allows the same data and applications to be accessed by multiple users at the same time. Users can also communicate with each other. Linux and UNIX are examples of the multiuser OS. 

  3. Multiprocessing OS: It has two or more processors for a single running process. Each processor works on different parts of the same task, or, on two or more different tasks. Since execution takes place in parallel, they are used for high-speed execution, and to increase the power of the computer. Linux, UNIX, Windows 7, etc are examples of multiprocessing OS.  

  4. Time sharing Operating System: It allows the execution of more than one task or process at the same time. For this, the processor time is divided among different tasks. This division of time is also called time-sharing. The processor switches rapidly between various processes. After the allotted time is over, the CPU shifts to the next task in waiting, So this type of operating system employs round robin scheduling technique. Virtual Memory techniques are used in this type of operating system. Time sharing operating system can be both single user and multiuser. Windows 95 and all later versions of Windows are examples of multitasking or Time sharing OS.

  5. Real Time Operating System: This type of operating system designed for real-time applications like robotics. In this, the tasks have to be done within a fixed deadline. System performance is good if the task is finished within this deadline. If it is not done, the situation is called Deadline Overrun.

  6. Distributed Operating System: On a network, data is stored and processed in multiple locations. The Distributed Operating System is used on networks it allows shared data/files to be accessed from any computer on the network. We can insert and remove the data and can even access all the input and output devices. The users feel as all data is available on their workstation itself.

 Software

Software is a collection of programs to do some specific tasks. A set of programs form software. It is the software that gives hardware its capability.

Software, system Software, application software, types of software, ics classes

Types of software

The software can be of three types-
  1. System Software
  2. Application Software
  3. Utility Software

System Software

The system software is a type of software designed to provide a platform for other software (Application Software). It is also responsible for manage hardware.

Example: Operating system and Language Processor.

Language Processor

A language processor is system software that can perform tasks such as convert High-level language to Machine level language (Low-level language) or vice versa and Assembly language to Low-level language or vice versa.

The language processors can be of the following three types- 
  1. Assembler
  2. Compiler
  3. Interpreter.  

Assembler

The Assembler is used to translate the program written in Assembly language into machine code. The input of Assembler is a source program that contains assembly language instructions. The output generated by the assembler is the object code or machine code understandable by the computer.  

Compiler

The language processor that translates the complete source program at once into machine code is called a compiler. Some of the examples are C and C++ Compilers. The program translated into machine code is called the object code. The source code is translated to object code successfully if it is free of errors. If there are any errors in the source code, the compiler specifies the errors at the end of compilation with line numbers. The errors must be removed before the compiler can successfully recompile the source code again.

Interpreter

The language processor that translates a single statement of source program into machine code and executes it immediately before moving on to the next line is called an Interpreter. If there is an error in the statement the interpreter terminates its translating process at that statement and displays an error message. Only after removal of the error, the interpreter moves on to the next line for execution.

Operating System and its need

An Operating system is the most important system software. It is a set of programs that control and supervise the hardware of a computer and also provide services to application software, programmers, and users. It manages all hardware and software, input, output, and processing activities within the computer system, the flow of information to and from the processor, sets priorities for handling different tasks, and so on. Without an operating system, a computer cannot do anything useful. When a computer is switched on, the operating system is the first program that is loaded onto its memory. A user cannot communicate directly with the computer hardware, so the operating system acts as an interface between the user and the computer hardware. Some of the popular operating systems used in personal computers are DOS, Windows, Unix, Linux, Solaris, etc 

Functions of an Operating System

An operating system has many functions to perform. Some basic functions can be described as-

Processor Management

This deals with the management of the Central Processing Unit (CPU). The operating system takes care of the allotment of CPU time to different processes. This is called scheduling. Two types of scheduling techniques are employed by an operating system:
  • Priority Scheduling:- In this scheduling technique, Each task is given CPU time according to the priority assigned to that task. The program with higher priority will be given CPU time before a program with lower priority. The CPU executes the task till it is completed or there is some interrupt request made. The major drawback of Priority scheduling is that even a small job has to wait for a long time when a long duration job with higher priority is being executed.

  • Round Robin Scheduling:- This type of scheduling technique is also known as Time-Sharing Scheduling. In this scheduling technique, each program or task is given a fixed amount of time to execute. The CPU continues with the execution till either the allotted time is over or there is some interrupt request made or the task is completed before the allotted time. If the task is not completed at the end of the allotted time, then the task is put at the end of the queue. So each task gets its allotted share of CPU time. This scheduling technique improves response time and provides an interactive environment.

Device Management

The Operating System responsible to maintain balance between CPU and all attached hardware devices. This is important because the CPU processing speed is much higher than the attached  I/O devices. For optimizing the CPU time, the operating system employs two techniques - Buffering and Spooling.
  • Buffering:- In this technique, the temporary storage of input and output data is done in Input Buffer and Output Buffer.

    Once the signal for input is sent to the CPU, the operating system moves the data from the input device to the input buffer through the controller.

    And once the output signal is sent from the CPU to the output device the operating system moves the data from the output device to the output buffer.

    In the case of input, if the input buffer is full, the operating system sends a signal to the program which processes the data stored in the buffer. When the buffer becomes empty, the program informs the operating system which reloads the buffer and the input operation continues.

    Similarly for output when the program being executed has to display some output, it fills the buffer and then informs the operating system. Thereafter the operating system empties the buffer by sending data to the output device.

  • Spooling: This is a device management technique used for processing of different tasks on the same input/output device.

    For example, there are various users on a network sharing the same printer. At one point of time, more than one user might give print command. The speed of the printer is very slow as compared to CPU processing speed. So the operating system temporarily stores the data of every user on the hard disk of the computer to which the printer is attached. The individual users don't need to wait for the printing process to be complete. Instead, the operating system sends the data from the hard disk to the printer one by one.

Memory management

In a computer, both the CPU and the I/O devices interact with the memory. The common memory management techniques used by the operating system are Partitioning and Virtual Memory.

  • Partitioning: The total memory is divided into various partitions of the same size or different sizes. This helps to accommodate the number of programs in the memory. This causes less wastage of memory.

  • Virtual Memory: This is a technique used by the operating system by virtue of which the user can load the programs which are larger than the main memory of the computer. In this technique, the program is executed even if the complete program is not loaded on to the main memory.

    The operating system divides the main memory into equal sizes called pages. A part of the program resides in the main memory and is called the active set. The rest is in the secondary storage device in the form of tracks/sectors or blocks. With the help of Page Map Tables (PMT), the operating system keeps track that which page of main memory is storing which block of secondary memory. Hence virtual memory allows more programs and even larger programs to be executed in the main memory.


File Management  

The operating system manages the files and folders on a computer. Any data on a computer is stored in the form of files and the operating system keeps the information about all of them using File Allocation Table (FAT). The FAT stores general information about files like filename, type, size, and access mode. The file manager of the operating system helps to create, edit, copy, allocate memory to the files, and also updates the FAT. The operating system also takes care that files are opened with proper access rights to read or edit them.