# data[].attributes.body
-Time-sharing

1) *Time sharing* is a technique which enables many people, located at various terminals, to use a particular computer system at the same time

Source: http://www.tutorialspoint.com/operating_system/os_types.htm

2) A variant of multiprogramming in which a user has an online (directly connected) terminal. Because the user is present and interacting with the computer system, the operating system must respond quickly to the user's requests. Otherwise the user had to suffer from waiting.

Source : Operating System by I. Chandra Mohan . Page 33

-Memory allocation

1) Memory allocation is the process of setting aside a partial or complete portion of computer memory for the execution of programs and processes. Memory allocation is achieved through a process known as memory management.

Sources:https://www.techopedia.com/definition/27492/memory-allocation

2) Memory allocation is the procedure used to perform memory binding

Source : Sytem Programming and Operating Systems by Dhamdere. Page 166

-Device-drivers

1) Device driver is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

Sources : https://en.m.wikipedia.org/wiki/Device_driver

2) They are distinct "black boxds" that makes a particular piece of hardware respond to a well-defined internal programming interface, they hide completely the details to how the device work.

Sources : Linux Device Drivers: where the kernel meets the Hardware  by Jonathan Corbet , Alessamdro Rubini , Greg Kroah-Hartman . Page 1

# data[].attributes.attachment_link.readable_text
System Software

Software is a generic term for an organized collection of computer data and instructions. There are two types of software: application software and system software. Application software helps users solve a particular problem or carry out a specific task. A word processor is an example of application software.

System software coordinates the activities and functions of hardware and software, and it controls the operations of computer hardware. A computer's operating system is an example of system software. Operating systems control the computer hardware and act as an interface with application programs. System software also includes utility software, device drivers and firmware, which we will be looking at in this lesson.

Utility Software

Utility software helps to manage, maintain and control computer resources. Operating systems typically contain the necessary tools for this, but separate utility programs can provide improved functionality. Utility software is often somewhat technical and targeted at users with a solid knowledge of computers. If you use a computer mostly for e-mail, some Internet browsing and typing up a report, you may not have much need for these utilities. However, if you are an avid computer user, these utilities can help make sure your computer stays in tip-top shape.

Examples of utility programs are antivirus software, backup software and disk tools. Let's look at each of these in a bit more detail.

Antivirus software, as the name suggests, helps to protect a computer system from viruses and other harmful programs. A computer virus is a computer program that can cause damage to a computer's software, hardware or data. It is referred to as a virus because it has the capability to replicate itself and hide inside other computer files.

One of the most common ways to get a virus is to download a file from the Internet. Antivirus software scans your online activity to make sure you are not downloading infected files. New viruses are coming out all the time, so antivirus software needs to be updated very frequently.

Backup software helps in the creation of a backup of the files on your computer. Most computer systems use a hard disk drive for storage. While these are generally very robust, they can fail or crash, resulting in costly data loss. Backup software helps you copy the most important files to another storage device, such as an external hard disk. You can also make an exact copy of your hard disk.

Increasingly, backup software uses cloud storage to create backups. This typically means you pay a fee to use the storage space of a third party and use their backup software to manage which files are going to be backed up.

Disk tools include a range of different tools to manage hard disk drives and other storage devices. This includes utilities to scan the hard disks for any potential problems, disk cleaners to remove any unnecessary files, and disk defragmenters to re-organize file fragments on a hard disk drive to increase performance. Disk tools are important because a failure of a hard disk drive can have disastrous consequences. Keeping disks running efficiently is an important part of overall computer maintenance.

Device Drivers

A device driver is a computer program that controls a particular device that is connected to your computer. Typical devices are keyboards, printers, scanners, digital cameras and external storage devices. Each of these need a driver in order to work properly.

Device drivers act as a translator between the operating system of the computer and the device connected to it. For many types of devices, the necessary drivers are built into the operating system. When you plug in a device, the operating system starts looking for the right driver, installs it and you are ready to start using the device. This is referred to as plug-and-play and is much preferred over having to manually install the correct drivers.

There are so many different devices, however, that not all of them are built into the operating system. As an alternative, the operating system can look online to find the right driver to install. Many hardware devices, however, come with the necessary drivers. For example, if you buy a printer, it may come with a CD that typically will include the correct driver. The advantage of this is that the hardware manufacturer can make sure you have the right driver for the printer.

# data[].attributes.attachment_link.keywords[]
device drivers and firmware - video & lesson transcript | study.com

# data[].attributes.attachment_link.title
Systems Software: Utility Software, Device Drivers and Firmware - Video & Lesson Transcript | Study.com

# data[].attributes.attachment_link.description
Software is a generic term for an organized collection of computer data and instructions. There are two types of software: application software and system software. Application software helps users solve a particular problem or carry out a specific task. A word processor is an example of application software.

# data[].attributes.body
Examples of utility programs are antivirus software, backup software and disk tools. Let's look at each of these in a bit more detail.

Antivirus software, as the name suggests, helps to protect a computer system from viruses and other harmful programs. A computer virus is a computer program that can cause damage to a computer's software, hardware or data. It is referred to as a virus because it has the capability to replicate itself and hide inside other computer files.

One of the most common ways to get a virus is to download a file from the Internet. Antivirus software scans your online activity to make sure you are not downloading infected files. New viruses are coming out all the time, so antivirus software needs to be updated very frequently.

Backup software helps in the creation of a backup of the files on your computer. Most computer systems use a hard disk drive for storage. While these are generally very robust, they can fail or crash, resulting in costly data loss. Backup software helps you copy the most important files to another storage device, such as an external hard disk. You can also make an exact copy of your hard disk.

Increasingly, backup software uses cloud storage to create backups. This typically means you pay a fee to use the storage space of a third party and use their backup software to manage which files are going to be backed up.

Disk tools include a range of different tools to manage hard disk drives and other storage devices. This includes utilities to scan the hard disks for any potential problems, disk cleaners to remove any unnecessary files, and disk defragmenters to re-organize file fragments on a hard disk drive to increase performance. Disk tools are important because a failure of a hard disk drive can have disastrous consequences. Keeping disks running efficiently is an important part of overall computer maintenance.

# data[].attributes.body
A memory allocation system includes a unit for storing the information about the amount of memory required at the time of initializing each executable program in the control information of the file storing the program. The amount required is determined when the program is translated, assembled or compiled and linked. The memory allocation system also includes a unit for reading the information, indicating the amount of memory required at the time of initializing the program stored in the control information of the file, when loading of program is requested. Also included are a unit statically allocates memory commensurate with the amount of memory required at initialization and a unit for dynamically allocating memory when the previously allocated memory is insufficient for executing the program

# data[].attributes.body
Device driver is a way of interfacing devices to the operating system. Writing a device driver is a mechanism not a policy. Operating system understands the working of any hardware or device with its associated driver. Device drivers are developed to efficiently use device memory. It’s not like one cannot access the device without the controller. The fact is that you cannot access the device without the driver if you are using the operating system to access the device. To write a device driver we need an O/S that should work in target architecture. On the basis of devices behavior, three types of device drivers are available:

A. Character device driver

Character device driver handles data in byte stream. Data can be directly transferred from the user space which comes sequentially, cannot move back and forth. For example: mouse, keyboard, camera and real time sensor [1].

B. Block device driver

Block device driver handles data in the block form, kernel supplies data from buffer cache to file system of block size. It provides random access of fixed size (512 byte or more) block of data e.g., disk etc [1].

C. Network device driver

Network device driver is used to communicate operating system to different network devices as well as network computer. It handles transmission and reception of network packet on the request of systems e.g., ethernet card.
REF: Bushra Rahman Ansari ; Manjit Kaur International Conference on Current Trends in Computer, Electrical, Electronics and Communication (CTCEEC) 2017.

# data[].attributes.body
In general, operating system acts as an interface between user and hardware. Operating systems is also known as a program that acts as an intermediary between user of a computer and computer hardware.

https://youtu.be/aF2uRmibwco

Utility program is a type of system software that allows a user to perform maintainence tasks, usually related to managing a computer, its devices or its programs.

https://youtu.be/QlA4HOroEuc

Virtual memory is a layer of indirection. It takes program addresses and maps them to RAM addresses. It gives us flexibility in how we use the RAM.

https://youtu.be/qlH4-oHnBb8

# data[].attributes.body
1. OPERATING SYSTEM

The operating system is one of the system software.  It is the most complex and important computer program for the computer.

Source: CAIS

Hamdan A.R., Nazri M.Z.A., Nasrudin M.F., Sarim H.M., Zakaria M.S., Yahya Y., Murah M.Z. (2004), Teknologi Maklumat & Komunikasi, (2nd ed.), Malaysia, Mc Graw Hill, pp. 159

2. UTILITY PROGRAM

Utility program is a type of operating software that performs specific tasks, usually related to the management of tools and programs that are in the computer.  Typically, the operating system will provide some utility software. As example, as you insert the operating system into disk, this software will be included.

Source: CAIS

Hamdan A.R., Nazri M.Z.A., Nasrudin M.F., Sarim H.M., Zakaria M.S., Yahya Y., Murah M.Z. (2004), Teknologi Maklumat & Komunikasi, (2nd ed.), Malaysia, Mc Graw Hill, pp. 174

3. VIRTUAL MEMORY

Virtual memory is a method in which the operating system will use part of the secondary storage (hard disk) as the main memory

Source: CAIS

Hamdan A.R., Nazri M.Z.A., Nasrudin M.F., Sarim H.M., Zakaria M.S., Yahya Y., Murah M.Z. (2004), Teknologi Maklumat & Komunikasi, (2nd ed.), Malaysia, Mc Graw Hill, pp. 166

# data[].attributes.body
APPLICATION SOFTWARE

1.   Software to do tasks at home, school and work. Example: productivity software, business software, media and entertainment software.

2.   A term which is used for software created for a specific purpose. It is generally/ collection of programs used by end users. It can be called an application or simply an app. A software which is developed to help the users to perform specific tasks. Example: Word processing software, database programs, business software and others.

3.   Software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user.

SYSTEM SOFTWARE

1.   System software is the set of programs that helps run the computer and coordinates instructions between application software and the computer's hardware devices. From the moment you turn on your computer to the time you shut it down you're interacting with system software.

2.   System software is software designed to provide a platform for other software.

3.   System software is a type of computer program that is designed to run a computer's hardware and application programs. If we think of the computer system as a layered model, the system software is the interface between the hardware and user applications.

DEVICE-DRIVERS

1.   In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.A driver communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface.

2.   A device driver is a small piece of software that tells the operating system and other software how to communicate with a piece of hardware.

3.   *print screen is provided

PREEMPTIVE MULTITASKING

1.   Preemptive multitasking is task in which a computer operating system uses some criteria to decide how long to allocate to any one task before giving another task a turn to use the operating system. The act of taking control of the operating system from one task and giving it to another task is called preempting. A common criterion for preempting is simply elapsed time (this kind of system is sometimes called time sharing or time slicing). In some operating systems, some applications can be given higher priority than other applications, giving the higher priority programs control as soon as they are initiated and perhaps longer time slices.

2.   Preemptive multitasking is a type of multitasking that allows computer programs to share operating systems (OS) and underlying hardware resources. It divides the overall operating and computing time between processes, and the switching of resources between different processes occurs through predefined criteria. Preemptive multitasking is also known as time-shared multitasking.

3.   Preemptive multitasking is a form of multitasking that enables a computer operating system to switch between computer software programs. Preemptive multitasking helps prevent a program from taking complete control of the computer processor and allows multiple programs to continue to operate without crashing or freezing.

# data[].attributes.body
Time-sharing is a communications-oriented method of using computers. It is a technique that permits concurrent utilization of the same installation by two or more persons working at remote devices capable of direct, online access to the data processing equipment”. In his opinion, while CPU costs were the dominant economic driver for the 1960-era time-sharing, support costs are the key economic factor for ASPs and therefore, the economy-of-scale benefits should be shared among the customer, the software developer, and the ASP.
Saaksjarvi, M. , Lassila, A. , & Nordstorm, H. (2005). Evaluating The Software As A Service Business Model: From CPU Time-Sharing To Online Innovation Sharing IAIDS International Conference e-Society

# data[].attributes.body
PROPRIETARY SOFTWARE
1.  AMAZON LUMBERYARD
Founder : Jeff Bezos
sources :  https://en.wikipedia.org/wiki/List_of_proprietary_source-available_software

https://en.wikipedia.org/wiki/Amazon_(company)

2. FILE MANAGER ( WINDOWS )
OWNER : MICROSOFT
FOUNDER :
Bill Gates Paul Allen
SOURCES: https://en.wikipedia.org/wiki/Microsoft

https://en.wikipedia.org/wiki/List_of_proprietary_source-available_software

OPEN SOURCE SOFTWARE
1. EPRINTS (digital repusitory)
FOUNDER: University of Southampton

SOURCE: http://oss-watch.ac.uk/resources/softwareexamples

https://en.wikipedia.org/wiki/EPrints

2.  PHYTON  (programming/scripting language)
FOUNDER : Guido van Rossum
DEVELOPER :
Python Software Foundation

SOURCES: http://oss-watch.ac.uk/resources/softwareexamples

https://en.wikipedia.org/wiki/Python_(programming_language)

BESPOKE SOFTWARE
1. CUSTOMER RELATIONSHIP MANAGEMMENT (CRM)
example: Siebel sytems
FOUNDER : Tom Siebel
sources:
https://itenterprise.co.uk/7-more-examples-successful-bespoke-software/

https://en.wikipedia.org/wiki/Customer_relationship_management

https://en.wikipedia.org/wiki/Siebel_Systems

2. AUTOMATED INVOICING
example: PABBLY SUBSCRIPTIONS
FOUNDER :
Neeraj Agarwal, Pankaj Agarwal

SOURCES: https://www.formget.com/best-automated-invoice-processing-systems/

https://www.crunchbase.com/organization/pabbly-subscriptions#section-overview

# data[].attributes.body
5.Time sharing:Time-sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as time-sharing. Time-Sharing Systems, the objective is to minimize response time.
Source:
http://www.tutorialspoint.com/operating_system/os_types.htm
6.Memory allocation:
A process which computer programsand services are assigned with physical or virtual memory space.A process reserving a partial or complete portion of computer memory for the execution for computer programs and processes.Achieve through process known as memory management.
Source:
https://www.techopedia.com/definition/27492/memory-allocation
7.Device drivers
A device driver is a software program that controls a particular type of hardware device that is attached to a computer. When buying an operating system, many device drivers are built into the product. However, if a user later buys a new type of device that the operating system did not anticipate, the new device driver will have to be installed. A device driver essentially allows smooth communication between a connected hardware device and the operating system (OS).
Source:
https://searchenterprisedesktop.techtarget.com/definition/device-driver

# data[].attributes.body
1) PROPRIETARY SOFTWARE :
-  Microsoft Windows
Founder : Bill Gates
Sources :  https://en.m.wikipedia.org/wiki/Microsoft_Windows
https://en.m.wikipedia.org/wiki/Microsoft

-  Adobe Photoshop
Founder : Thomas Knoll, John Knoll
Sources : https://en.m.wikipedia.org/wiki/Adobe_Photoshop
https://www.adobe.com/creativecloud/catalog/desktop.html

(2) OPEN SOURCE SOFTWARE

-  Firefox (web browser based on Mozilla)
Founder : Black Ross and Dave Hyatt
Sources :  http://oss-watch.ac.uk/resources/softwareexamples ,                                                                                                                                                                                                                                                                                                                                        https://www.britannica.com/biography/Dave-Hyatt

- Blender (3D graphics and animation package)
Founder : Ton Roosendaal
Sources : http://oss-watch.ac.uk/resources/softwareexamples
https://www.blender.org/foundation/history/

(3) BESPOKE SOFTWARE

- WordPress Content Management System
Founder : Matt Mullenweg
Sources : https://www.pasilda.com/extra/contentmanagement/bespoke-cms.htm
https://www.maxcomsoft.com/content-management-system/
https://en.wikipedia.org/wiki/WordPress
https://kinsta.com/knowledgebase/content-management-system/

- Siebel Customer Relationship Management Systems (Siebel Systems)
Founder : Thomas Siebel
Sources : https://en.wikipedia.org/wiki/Siebel_Systems
https://www.webopedia.com/TERM/C/crm_software.html
https://www.webopedia.com/TERM/C/CRM.html

# data[].attributes.body
3.Operating System :
Abbreviated OS, the Operating System is the resource manager which transforms sectors, bytes, interrupts and ports into files, folders, processes, and the user-interfaces with which you can interact. Examples include: Microsoft Windows (XP, Vista, or 7), any flavor of Linux, and Mac OS X (An apple version of Unix).
Source: https://en.m.wikibooks.org/wiki/Basic_Computing_Using_Windows

4.Utility Program :
During execution of the control program, peripheral-computers may communicate with the control-computer directly or through a network to execute other programs to display a real-time animation of the program or of the operation of the controlled equipment. These programs, not necessary for the core function of the industrial control system, but assisting in the development, troubleshooting or monitoring of the control process, will generally be referred to as utility programs.
Source :
Keeley, T.M., Teledyne Licensing LLC, (2000). Industrial control system providing remote execution of graphical utility programs. U.S. Patent 6,138,174.

8.Virtual Memory :
In a virtual memory, the addresses a program may use to identify information are distinguished from the addresses the memory system uses to identify physical storage sites, and program-generated addresses are translated automatically to the corresponding machine addresses.
Source :
Denning, P.J., (1970). Virtual memory. ACM Computing Surveys (CSUR), 2(3), pp.153-189.

# data[].attributes.body
H3G - Types of application software.

1. Communication software
(via https://www.quora.com/What-are-the-types-of-application-software)

2. Multimedia software
3. Simulation software

(via http://ecomputernotes.com/fundamental/disk-operating-system/application-software)

# data[].attributes.body
3.Operating System:
* An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
Source: https://en.wikipedia.org/wiki/Operating_system

4.Utility Program:
* A program that performs a specific task related to the management of computer functions, resources, or files, as password protection, memory management, virus protection, and file compression.
Source:https://www.thefreedictionary.com/utility+program

8.Virtual Memory:
* In computing, virtual memory (also virtual storage) is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine"[1] which "creates the illusion to users of a very large (main) memory."[2]
Source:  https://en.wikipedia.org/wiki/Virtual_memory

# data[].attributes.headline
H3H Three different types of application softwares 

# data[].attributes.subject
H3H Three different types of application softwares 

# data[].attributes.body
1. Microsoft Office
type of application software: Business Software Suite
reference(website): https://www.office.com

2. Computer-Aided Design (CAD)
type of application software: Work Station Software
reference(books): Gary B. Shelly, Misty E. Vermaat, Discovering Computers 2011 Complete Living In a Digital World, United States of America, SHELLY CASHMAN SERIES, pg 143.

3. Gmail
type of application software: Email program
reference(website): https://mail.google.com

# data[].attributes.body
Group H3B