2.2 Computer System

(2-2) A computer system is one that is able to take a set of inputs, process them and create a set of outputs. This is done by a combination of hardware and software. Computer hardware consists of the physical components that make a computer go. Software, on the other hand, is the programming that tells all those components what to do. Windows and Photoshop and Web browsers are software. Knowing how to operate software is a bit like knowing how to drive a car: It’s what you use the computer for on a daily basis. But understanding hardware is like knowing how the car works.

2.2.1 Hardware

We all know hardware describes the physical pieces that make a computer hum with life. But what are those individual pieces? Well, you’ve probably heard of the processor, or central processing unit (CPU). That’s the heart of the computer. It’s a chip that takes instructions from programs (software), makes calculations and spits out the results. It may be the most important part, but it’s certainly not the only one—and like understanding the parts of a car, understanding computer hardware could help you repair one when things go wrong.

1.The Building Blocks of a Computer

By the 1980s, computers were small enough to fit into our homes, but still too expensive and specialized for the average person to put together. That really changed in the 1990s and 2000s, and now computers are shockingly easy to assemble with the right parts, a little patience and a screwdriver.

There are some basic pieces that go into every computer. A case, or tower, holds all the components, with a large open area that fits a motherboard. Think of the motherboard as the computer’s nervous system: It’s a big slab of fiberglass etched with circuitry that connects each component of a computer together. Every piece of computer hardware will connect to the motherboard.

Cases also include fans for keeping a computer cool, and room for a big power supply unit, or PSU, that handles power conversion for all the parts of a computer. Random access memory (RAM) is an integrated circuit that stores data in such a way that it’s quickly accessible to the processor. Hard drives and solid state drives store gigabytes or terabytes of data using different technologies. A graphics card is its own little ecosystem, with a processor dedicated to different tasks than the CPU and high performance RAM. And that’s just about all it takes to make a computer go. When the processor is plugged into the motherboard, a heat sink rests on top to keep it cool.

Today’s parts are better labeled, cases are more accessible, and computer hardware is cheaper than ever, but the actual makeup of a PC really hasn’t changed much.

2.The Evolution of Computer Hardware

The basic components of a personal computer are more or less the same today as they were in the 1990s. Well, perhaps “less” rather than “more”. Parts still perform the same overall functions as they once did. The motherboard still serves as the computer’s centralhub, with everything connecting to it; the processor still follows instructions; RAM still stores data for quick access, and hard drives still store data long-term. The way those pieces are connected and how quickly they operate has changed tremendously, however.

Many people who talk about improvements in computers reference Moore’s Law, which essentially states the number of integrated circuits in microprocessors will double within every two years. The more integrated circuits, or transistors, a chip has, the faster it’s going to be. But that’s only one thing that makes computers faster and better. For example, the magnetic storage of hard drive disks has increased tremendously since the 1990s. We measure drives in terabytes when we used to measure them in megabytes. New interfaces for transmitting data also make a big difference. The Parallel ATA systems topped out at a speed of 133 MB per second, while Serial ATA, or SATA, currently supports up to 6 gigabits per second (768 MB).

Recently, computers have begun to use solid state or flash memory technology to store data instead of hard drives, enabling computers to access data even faster. Since the rise of the smartphone, computer hardware has gotten smaller than ever. But even in the smartphone space, a lot of the same components are doing the same jobs they do in full-size computers.

3.Different Types of Computers

Laptops, desktops, smartphones, tablets: Their use cases couldn’t be much different, could they? We use computers in more places and ways than ever before. But the internal components that make that possible are very similar. In most cases, they’re just smaller.

Intel manufactures ULV, or ultra low voltage, processors for thin-and-light notebooks which run on less wattage than its regular laptop chips. Laptops also use smaller RAM and hard drives than desktops. Some laptop makers, like Apple, even solder solid state memory right onto the motherboard instead of including a hard drive, which saves even more space.

Phones and tablets have to be incredibly compact. Instead of a motherboard, the heart of a mobile device is a system-on-a-chip, or SoC. The SoC integrates everything, processor, graphics processor, RAM, interfaces like USB, interfaces for audio, and more, onto a single board. Of course, touch devices include some hardware that desktop computers don’t, like touch controllers for sensing our fingers. Instead of internal power supplies, laptops and mobile devices contain batteries.

But for the most part, they’re all computers—the hardware simply comes in different shapes and sizes.

2.2.2 Software

Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as input to another piece of software. The term was coined to contrast to the term hardware (meaning physical devices). In contrast to hardware, software “cannot be touched”.

Practical computer systems divide software systems into three major classes:system software, programming software and application software, although the distinction is arbitrary, and often blurred.

1.System Software

System software is computer software designed to operate the computer hardware, to provide basic functionality, and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems.

System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer’s resources such as memory and processor time in a safe and stable manner.

2.Programming Software

Programming software includes tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions.

3.Application Software

Application software is all the computer software that causes a computer to perform useful tasks (compare with computer viruses) beyond the running of the computer itself. A specific instance of such software is called a software application, application or app.

The term is used to contrast such software with system software, which manages and integrates a computer’s capabilities but does not directly perform tasks that benefit the user. The system software serves the application, which in turn serves the user.

Application software falls into two general categories; horizontal applications and vertical applications. Horizontal applications are the most popular and widespread in departments or companies. Vertical applications are niche products, designed for a particular type of organization. For example, a particular type of business (manufacturing versus banking) or a department within a company (accounting versus customer service).

There are many types of application software:

(1) An application suite consists of multiple applications bundled together. They usually have related functions, features and user interfaces, and may be able to interact with each other, e.g. open each other’s files. Business applications often come in suites, e.g. Microsoft Office, LibreOffice and iWork, which bundle together a word processor, a spreadsheet, etc.; but suites exist for other purposes, e.g. graphics or music.

(2) Enterprise software addresses the needs of an entire organization’s processes and data flow, across most all departments, often in a large distributed environment. (Examples include financial systems, customer relationship management (CRM) systems and supply chain management (SCM) software). Departmental Software is a sub-type of enterprise software with a focus on smaller organizations and/or groups within a large organization. (Examples include travel expense management and IT Helpdesk.)

(3) Enterprise infrastructure software provides common capabilities needed to support enterprise software systems. (Examples include databases, email servers, and systems for managing networks and security.)

(4) Information worker software lets users create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple tasks of information worker.

(5) Content access software is used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include media players, Web browsers, and help browsers.)

(6) Educational software is related to content access software, but has the content and/or features adapted for use in by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.

(7) Simulation software simulates physical or abstract systems for research, training or entertainment purposes.

(8) Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. This includes graphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others.

(9) Product engineering software is used in developing hardware and software products. This includes computer-aided design (CAD), computer-aided engineering (CAE), computer language editing and compiling tools, integrated development environments, and application programmer interfaces.

Applications can also be classified by computing platform such as a particular operating system, delivery network such as in cloud computing and web 2.0 applications or delivery devices such as mobile apps for mobile devices.

(2-3) Computer software has to be “loaded” into the computer’s storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation—moving data, carrying out a computation, or altering the control flow of instructions.