Which type of software controls the operations of a computer and its devices?
An operating system is the most important software that runs on a computer. It manages the computer's memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's language. Without an operating system, a computer is useless. Show
Watch the video below to learn more about operating systems. Looking for the old version of this video? You can still view it here. The operating system's jobYour computer's operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are several different computer programs running at the same time, and they all need to access your computer's central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs. Types of operating systemsOperating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it's possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, macOS, and Linux. Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text. Each operating system's GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same. Microsoft WindowsMicrosoft created the Windows operating system in the mid-1980s. There have been many different versions of Windows, but the most recent ones are Windows 10 (released in 2015), Windows 8 (2012), Windows 7 (2009), and Windows Vista (2007). Windows comes pre-loaded on most new PCs, which helps to make it the most popular operating system in the world. Check out our tutorials on Windows Basics and specific Windows versions for more information. macOSmacOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all Macintosh computers, or Macs. Some of the specific versions include Mojave (released in 2018), High Sierra (2017), and Sierra (2016). According to StatCounter Global Stats, macOS users account for less than 10% of global operating systems—much lower than the percentage of Windows users (more than 80%). One reason for this is that Apple computers tend to be more expensive. However, many people do prefer the look and feel of macOS over Windows. Check out our macOS Basics tutorial for more information. LinuxLinux (pronounced LINN-ux) is a family of open-source operating systems, which means they can be modified and distributed by anyone around the world. This is different from proprietary software like Windows, which can only be modified by the company that owns it. The advantages of Linux are that it is free, and there are many different distributions—or versions—you can choose from. According to , Linux users account for less than 2% of global operating systems. However, most servers run Linux because it's relatively easy to customize. To learn more about different distributions of Linux, visit the Ubuntu, Linux Mint, and Fedora websites, or refer to our Linux Resources. For a more comprehensive list, you can visit MakeUseOf's list of The Best Linux Distributions. Operating systems for mobile devices generally aren't as fully featured as those made for desktop and laptop computers, and they aren't able to run all of the same software. However, you can still do a lot of things with them, like watch movies, browse the Web, manage your calendar, and play games. Software is a set of instructions, data or programs used to operate computers and execute specific tasks. It is the opposite of hardware, which describes the physical aspects of a computer. Software is a generic term used to refer to applications, scripts and programs that run on a device. It can be thought of as the variable part of a computer, while hardware is the invariable part.The two main categories of software are application software and system software. An application is software that fulfills a specific need or performs tasks. System software is designed to run a computer's hardware and provides a platform for applications to run on top of.Other types of software include programming software, which provides the programming tools software developers need; middleware, which sits between system software and applications; and driver software, which operates computer devices and peripherals.Early software was written for specific computers and sold with the hardware it ran on. In the 1980s, software began to be sold on floppy disks, and later on CDs and DVDs. Today, most software is purchased and directly downloaded over the internet. Software can be found on vendor websites or application service provider websites.Examples and types of softwareAmong the various categories of software, the most common types include the following:
How does software work?All software provides the directions and data computers need to work and meet users' needs. However, the two different types -- application software and system software -- work in distinctly different ways. Application softwareApplication software consists of many programs that perform specific functions for end users, such as writing reports and navigating websites. Applications can also perform tasks for other applications. Applications on a computer cannot run on their own; they require a computer's OS, along with other supporting system software programs, to work. These desktop applications are installed on a user's computer and use the computer memory to carry out tasks. They take up space on the computer's hard drive and do not need an internet connection to work. However, desktop applications must adhere to the requirements of the hardware devices they run on. Web applications, on the other hand, only require internet access to work; they do not rely on the hardware and system software to run. Consequently, users can launch web applications from devices that have a web browser. Since the components responsible for the application functionality are on the server, users can launch the app from Windows, Mac, Linux or any other OS. System softwareSystem software sits between the computer hardware and the application software. Users do not interact directly with system software as it runs in the background, handling the basic functions of the computer. This software coordinates a system's hardware and software so users can run high-level application software to perform specific actions. System software executes when a computer system boots up and continues running as long as the system is on. Here are the key differences between system and application software.Design and implementationThe software development lifecycle is a framework that project managers use to describe the stages and tasks associated with designing software. The first steps in the design lifecycle are planning the effort and then analyzing the needs of the individuals who will use the software and creating detailed requirements. After the initial requirements analysis, the design phase aims to specify how to fulfill those user requirements. The next is step is implementation, where development work is completed, and then software testing happens. The maintenance phase involves any tasks required to keep the system running. The software design includes a description of the structure of the software that will be implemented, data models, interfaces between system components and potentially the algorithms the software engineer will use. The software design process transforms user requirements into a form that computer programmers can use to do the software coding and implementation. The software engineers develop the software design iteratively, adding detail and correcting the design as they develop it. The different types of software design include the following:
How to maintain software qualitySoftware quality measures if the software meets both its functional and nonfunctional requirements. Functional requirements identify what the software should do. They include technical details, data manipulation and processing, calculations or any other specific function that specifies what an application aims to accomplish. Nonfunctional requirements -- also known as quality attributes -- determine how the system should work. Nonfunctional requirements include portability, disaster recovery, security, privacy and usability. Software testing detects and solves technical issues in the software source code and assesses the overall usability, performance, security and compatibility of the product to ensure it meets its requirements. The dimensions of software quality include the following characteristics:
To maintain software quality once it is deployed, developers must constantly adapt it to meet new customer requirements and handle problems customers identify. This includes improving functionality, fixing bugs and adjusting software code to prevent issues. How long a product lasts on the market depends on developers' ability to keep up with these maintenance requirements. When it comes to performing maintenance, there are four types of changes developers can make, including:
Modern software developmentDevOps is an organizational approach that brings together software development and IT operations teams. It promotes communication and collaboration between these two groups. The term also describes the use of iterative software development practices that use automation and programmable infrastructure. Get the full picture in our ultimate guide to DevOps. Software licensing and patentsA software license is a legally binding document that restricts the use and distribution of software. Typically, software licenses provide users with the right to one or more copies of the software without violating copyright. The license outlines the responsibilities of the parties that enter into the agreement and may place restrictions on how the software can be used. Software licensing terms and conditions generally include fair use of the software, the limitations of liability, warranties, disclaimers and protections if the software or its use infringes on the intellectual property rights of others. Licenses typically are for proprietary software, which remains the property of the organization, group or individual that created it; or for free software, where users can run, study, change and distribute the software. Open source is a type of software where the software is developed collaboratively, and the source code is freely available. With open source software licenses, users can run, copy, share and change the software similar to free software. Over the last two decades, software vendors have moved away from selling software licenses on a one-time basis to a software-as-a-service subscription model. Software vendors host the software in the cloud and make it available to customers, who pay a subscription fee and access the software over the internet. Although copyright can prevent others from copying a developer's code, a copyright cannot stop them from developing the same software independently without copying. A patent, on the other hand, enables a developer to prevent another person from using the functional aspects of the software a developer claims in a patent, even if that other person developed the software independently. In general, the more technical software is, the more likely it can be patented. For example, a software product could be granted a patent if it creates a new kind of database structure or enhances the overall performance and function of a computer. History of softwareThe term software was not used until the late 1950s. During this time, although different types of programming software were being created, they were typically not commercially available. Consequently, users -- mostly scientists and large enterprises -- often had to write their own software. |