Contents
Chapter 3 · SoftwarePractice

LEARN WITH HARU

Video Lesson တွေက Haru အတန်းသားတွေအတွက်ပါ

Haru ရဲ့ ITPEC FE Full Course မှာ ယခု သင်ခန်းစာတွေကို တစ်ခုချင်း တစ်ကြောင်းချင်း အသေးစိတ်ရှင််ရှင်းပြထားပါတယ်

အခြေခံ မရှိတဲ့ ကျောင်းသားများစွာဟာလည်း ဒီ Course နဲ့ ပဲ အောင်မြင်ကုန်ကြပါပြီ

အတန်းမအပ်သေးပဲ Haru ဆီမှာ အစမ်းသင်ကြည့်ချင်ပါသလား?

သင်တန်းသားတွေရဲ့ စကားသံများ

သင်တန်းသားတွေရဲ့ စကားသံများ

Highlighted text? Practice this concept. Highlighted passages and figures open related questions.

Practice related questions (1)Progress & bookmarks

Current section

1 Classification of Software

p. 184

Practice this section 1 linked exam question with default filters

Progress

Not marked complete

Related questions in this lesson 3

Control-program resource allocation1Language-processor translation role1Service and utility programs2Outline font enlargement1
Progress and bookmarks

p. 184

1 Classification of Software

Software is a word that was created to contrast with hardware, and it occupies a position between a person and a computer so that the computer can be used efficiently. The broad definition of software includes documents including manuals for the use of computers, but software generally refers to a program (a collection of instructions).

1 - 1 Systematic Classification of Software

In terms of systematic classification, software can be broadly classified as system software and application software. System software is a group of programs that enable effective use of the functions of the devices (i.e., hardware) that constitute a computer. Application software is a group of programs that provide functions corresponding to the aims of the user. In other words, it can be said that system software focuses more on hardware, and application software focuses more on people.

Software places application and system software between the user and hardware. Double arrows show interaction across the layers. Source text: Figure 3-1 Software function
p. 184 · Enlarge

The fundamental software that manages hardware resources and controls the computer is called the OS (Operating System). Depending on the interpretation of “control the computer,” an OS is classified as either a “broadly defined OS” or a “narrowly defined OS.”

Application software sits above middleware, language processors and service programs. Control programs are the narrowly defined OS; the broader system-software grouping includes the other layers above hardware. Source text: Application software Middleware Language processor System software Service program (broadly defined OS) Control program (narrowly defined OS) Hardware Figure 3-2 Systematic classification of software
p. 184 · Enlarge

Recently, this systematic classification has become very vague. Figure 3-2 should be understood as just one example of the systematic classification of software.

p. 185

(1) Control program

A control program is software that efficiently manages and uses resources such as hardware, and provides an efficient operating environment. This is also called a narrowly defined OS. The core of control programs is a program called a kernel. Normally, software runs in user mode, which has restrictions on CPU usage. However, when an interrupt (e.g., a process request from application software) occurs and the kernel takes control, the mode changes to kernel mode (supervisor mode) which has no restrictions on CPU usage. Depending on the function, kernels are classified as either of the following: · 1 question

Original textbook callout or table. Source text: • Microkernel This is a kernel that has only the absolute minimum number of functions, such as memory management and process management. • Monolithic kernel This is a kernel with many functions, such as input/output management and file management.
p. 185 · Enlarge

When a computer is powered on, an IPL (Initial Program Loader) runs to launch the control program (OS). This series of processes is called a boot, and the program used in the boot is called a bootstrap (or bootloader). Since it is necessary to save the bootstrap even when the computer is powered off, in early computers it was stored in ROM. However, these days a flash bootloader that is stored in flash memory is often used. Furthermore, other boot methods, such as multiboot which enables the user to select a control program (i.e., OS) to launch from multiple candidates, and network boot which enables a boot to be performed over a network, are also used.

(2) Service programs (utility programs)

A service program (i.e., utility program) is software that provides standard functions to support users when they use a computer. Typical service programs include a data management utility (i.e., archiver) that provide an archive function to combine multiple files into one file and restore it to their original multiple files, and a disk management utility (e.g., disk defragmentation of Windows) that provide functions for the effective use of a hard disk. · 2 questions

p. 186

(3) Language processor

A language processor is software that is used to translate a program that is created in a language (i.e., programming language) which people can easily understand into a language (i.e. machine language) that can be understood by computers. Typical language processors include compilers that translate the original program (i.e., source program) into a machine language program (i.e., object program) in a batch. In order to run a program, it is necessary to build up an executable program (i.e., load module) by using a linkage editor, which is a service program. · 1 question

(4) Middleware

Middleware is software that is located between the OS and application software. It provides basic functions that are common to a variety of purposes. By providing basic functions with a unified interface, it facilitates the development of application software that does not rely on an OS nor hardware. It is difficult to accurately distinguish middleware because some is embedded as part of the OS and some is purchased additionally by the user. Generally, software that is classified as middleware includes the types below.

Original textbook callout or table. Source text: • Linking software between application programs This is software that enables data compatibility and other functions between application programs. • DBMS (DataBase Management System) This is software that manages a database that handles data in an integrated way. • Communication management system This is software that manages communication between computers or servers • Software development tool This is software that supports software development with programming languages and other tools. • Operations management tool This is software that supports or manages the operations of a computer (or server). • TP (Transaction Processing) monitor This is software that manages transaction processing.
p. 186 · Enlarge

In a broad sense, (1) to (5) below are also classified as middleware.

p. 187

(1) Shell This is software that interprets user operations with a command interpreter and conveys them to (or gives instructions to) the OS. It is sometimes classified as an OS function.

Original textbook callout or table. Source text: • Redirect function This is a function of shell that enables a target of standard input (keyboard) or standard output (display) to be changed to a file. In the case of changing standard output to a file, it is possible to specify whether to overwrite or append.
p. 187 · Enlarge

(2) API (Application Program Interface) This is a mechanism (i.e., interface) for using the features provided by an OS (e.g., commands, functions) from an application program. By using the same OS and APIs, program compatibility can be increased, and the required number of person-hours can be reduced at the time of porting the program to another platform.

Original textbook callout or table. Source text: • Web API This is a mechanism that enables the use of functions that are useful in the creation of web content. It is usually provided on the Internet (Web) by website operators.
p. 187 · Enlarge

(3) Library This is a file that groups programs with highly versatile and specific functions in a reusable format. (It sometimes refers to mechanisms that manage and provide files.) Normally, a library is incorporated into another program for use and cannot be executed as a standalone program.

Original textbook callout or table. Source text: • Source library This is a library in source code (i.e., source program) format. • Object library This is a library in object code (i.e., object program) format. It sometimes refers to a class library, which is a collection of classes (i.e., integrated data and procedures) that are used in object orientation. • Load library This is a library that is incorporated when a load module is generated. It normally refers to libraries that are embedded using a linkage editor. • DLL (Dynamic Link Library) This is a library that is incorporated by the OS during the time of execution. It is sometimes classified as a type of load library.
p. 187 · Enlarge

p. 188

(4) Componentware This is software that has a specific function and is used as a component of program during program development. The development of an application by combining componentware is called component-based programming.

Original textbook callout or table. Source text: • JavaBeans This is a specification for handling programs, as a component, which are developed with the programming language Java. • ActiveX This is a general name for Internet-related components and a component technology that are provided by Microsoft. • CORBA (COmmon Request Broker Architecture) This is a standard specification that enables the exchange of messages between objects, and it includes a specification called CCM (CORBA Component Model) concerning components.
p. 188 · Enlarge

(5) Development framework This is software that provides generally-used functions that are often required during application development, and works as a base for applications. It can be called a general framework for standardizing and streamlining application development.

(5) Application software

Application software is software that provides a wide range of functions that correspond to the aims of the user. Other than system software that focuses on hardware, most software is classified as application software. Application software is broadly classified into two groups depending on the aims of usage.

Original textbook callout or table. Source text: • Individual application software This is software that is custom made specifically for the resolution of problems that are unique to an individual or a company. Since this software is custom made, the functions provided fully satisfy the individual or the company, but in comparison with other application software, costs build up and the period required for development is long. There are also problems such as uncertainties over the reliability of the completed software. • Common application software This is standard software that deals with common business operations that are performed by a company or an individual (e.g., payroll calculation, account ledger management). If software that has been developed already is purchased, the cost is
p. 188 · Enlarge

p. 189

Original textbook callout or table. Source text: lower and the reliability is high, but dissatisfaction can occur because it does not necessarily match the requirements of each individual operation nor the purpose of use. Hence, most application software is equipped with functions for customization that allows partial changes to be made and saved according to the user’s environment and demands, and so on.
p. 189 · Enlarge

Typical application software includes those described below.

(i) Word processing software This is software that is used to create documents. It allows text editing and diagram/graph insertion. Fonts that are used in word processing software and such other software include: fixed-width fonts where the characters have the same width, proportional fonts where the width of the characters is different, bitmap fonts where characters are represented with a combination of dots, and outline fonts where the outline of a character is represented with the information of a curved-line function. Outline fonts are suitable for enlarged display because bitmap fonts appear jagged when enlarged. · 1 question

Original textbook callout or table. Source text: • Tab function: This is a function for formatting a document. It moves the cursor to a specified position on the same line in order to give a consistent format for print or display. • Macro function: This is a function that allows a procedure to be defined in advance and called for use when required. • Merge print function: This is a function that prints many copies of the same document but changes part of the text by inserting data from another file. • Line breaking rule function: This is a function that prevents certain symbols such as a period from being placed at the start of a line, and other symbols, such as “¥” (i.e., currency symbol) or “(” (i.e., left parenthesis), from being placed at the end of a line.
p. 189 · Enlarge

(ii) Spreadsheet software This is software that creates tables or performs calculations between cells by entering data or an expression into cells that are arranged in rows and columns on a worksheet.

p. 190

Original textbook callout or table. Source text: • Plug-in software (extensions, add-ins) Plug-in software does not work as a standalone program but can be integrated into applications, such as spreadsheet software, to provide additional functions. It can be added or removed as required. Typical plug-in software includes Flash Player, which plays back multimedia data. Many items of plug-in software are available for free from the Internet or other sources.
p. 190 · Enlarge

(iii) Database software This is software for creating, using, and managing a database. It also allows to create simple data processing programs by using a dedicated language.

(iv) DTP (DeskTop Publishing) software (digital publishing system) This is software for creating commercial printed materials. It has many editing functions such as font adjustment and layout. In order to perform layout work or control a high-precision printer, it has a built-in PDL (Page Description Language) function. (Typical PDLs include PostScript and ESC/Page.) Furthermore, a WYSIWYG (What You See Is What You Get) function prints what the screen displays as it is. It is implemented in a wide variety of application software including DTP software.

(v) Graphics software This is software that is used to create and handle graphics and images on a computer. It includes painting software and drawing software.

(vi) Presentation software This is software that is used to create materials for presentations and is used in the presentation itself. In some cases, it may have animation functions, such as movies, and sound functions including sound effects. For presentations, it is better to use a projector that has a higher number of lumens, which is a unit that represents the brightness of a light source.

(vii) Groupware This is software that supports the joint activities of an organization with computers. Typical functions include e-mail, digital conference, schedule management, and workflow management (a function to specify and manage business processing procedures and the flow of documents and information.)

p. 191

(6) OS (Operating System)

Below is a description of typical types of OSs (Operating Systems).

Original textbook callout or table. Source text: • MVS (Multiple Virtual Storage) This is a typical general purpose computer OS that was developed by IBM. It has been remade and improved to become its successor z/OS. • Multi-user, multitasking function • Implements large virtual address space that supports any file organization • Windows This is an OS for PCs that was developed by Microsoft. It is installed on most PCs around the world. It is a series, and a new version is frequently released. • Rich GUI function based on a wide variety of icons • Multitask function using a window system • Plug and play function that allows peripherals to be used by simply connecting them • Rich network function to support access to the Internet • UNIX This was originally an OS that was developed for minicomputers by AT&T Bell Laboratories, but it has now been developed into an OS for PCs. Since the specification has been widely released, it is easy for vendors or developers to include it in their own products, and many improved versions are widely used. • Composed of the kernel and the shell • Multiuser, multitask (i.e., multiprocessing) function • Network function that enables simple implementation of distributed processing • Input/output devices can be handled in the same way as files • Linux This is an OS for PCs that builds on and improves the UNIX approach. It is a typical example of an open OS (i.e., OS of open source software). • The kernel that is the core of the OS is released and distributed for free • Multiuser, multitask (i.e., multiprocessing) function • System management with single-user mode • Mac OS This is an OS for PCs that Apple developed for its own PCs (Macintosh). Some versions for sale include UNIX technology in their kernel. • Sophisticated operability with GUI • Well-developed graphics /DTP software • Windows CE This is a real-time OS that was developed by Microsoft and is embedded in household appliances, and so on. The real-time OS is used for hard real-time systems, which
p. 191 · Enlarge

p. 192

Original textbook callout or table. Source text: require a process corresponding to an event to be finished within a set time, and such other systems.
p. 192 · Enlarge

Original chapter exercises

Original chapter exercises →

New FE Textbook Vol.1 · IT Fundamentals · First Edition, April 2015