You are on page 1of 7

Software

Program or set of instructions that tells the computer what to do.

Two classes of software: - System software - Application software System Software

Programs that control the basic operations of a computer system.Examples: operating systems, communications control programs, interpreters, compilers, debuggers, text editors, linkers, loaders.

Benefits of system software: 1. They hide one "ugly" detail of computer operations from the user. 2. Computer programmers can write programs without knowing the details on how the computer hardware works 3. System software such as an operating system controls the execution of programs. Application Softwares

Programs that are used to accomplish specific or specialized tasks for computer users.

Software that falls in the category of application programs includes:


1. Document production software 2. Spreadsheet software 3. Presentation software 4. Database management software 5. Business software System Programming - Act of developing system software

Machine Language - Natural or primitive language that the computer actually understands Assembly Language - Uses abbreviations or mnemonics in place of binary patterns in order to make the task of programming easier. Assembler - Special translator program that converts assembly language mnemonics into machine language instructions.

System Programming
High-level programming language

Use English-like commands or instructions. Easiest to use and contain many complicated or advance instructions.

Compiler

Special translator program that converts high-level language instructions into machine language.

Types of System Programs Language translators - System programs that convert a program written in high-level programming language or assembly language into machine language thereby allowing a computer to execute.

Two types of language translators:


Assemblers Compilers

Interpreters - Convert and execute each instructions of high-level language program into machine language as it runs, before going on to the next instructions

Linker - System program that links or combines object modules together with the libraries needed by these programs to form a single executable program. Loader - System program that takes the load module from secondary storage and brings it into main memory for execution; performs address binding. Address Binding

Process of a signing or mapping symbolic references to actual main memory addresses. Three techniques of the loader may use in placing the load module in main memory.
o

Absolute loading - the load module already contains actual memory addresses. Address binding has already been done before loading the program into the computers main memory.

Relocatable loading - address binding is done before loading the load module and address mapping on what memory location are available at that time. Loadmodule is generated anywhere in the main memory.

Dynamic run time loading - address binding is delayed until runtime. Address can be computed only when it is needed by the CPU.

Operating System

System software that allows users or the application programs they are using to interact with the computer hardware in an easy and convenient manner.

Major functions of an operating system:


It creates a virtual machine interface between the user/application program and the hardware. It acts as the computer's resource manager or resource allocator. It functions the program launcher.

Two parts of an operating system:


1. Kernel - is the heart and soul of the operating system. 2. Shell - is the part of the operating system that serves as the interface between users and the kernel.

Command-line Interface (CLI)

Requires users to type the commands of a prompt.

Graphical User Interface (GUI)

Users enter commands by either using drop-down menus or by clicking o icons using a mouse pointer.

Services provided by an operating system:


Program execution Access to I/O devices File system management System access Error handling Communication

A core component is an operating system:


Process manager Memory manager File manager I/O manager

History of Operating Systems


Serial processing (first generation) late 1940's and early 1950's

There were no operating systems, so these computers were "bare" machines. Computers can only be used by one person at a time. There were no keyboards during the time so user commands are entered by using toggle switches. High-level programming languages were developed and enter into the computer by using punched cards. There see no fixed or hard disks.

Batch systems (second generation)

Similar jobs are grouped together and processed as a batch.

Multiprogrammed systems (third generation)

Multiprogramming, which means concurrent execution of two or more programs by a single CPU, was implemented.

Control Cards - it is a special punch card that give information or instruction to the computer on how the job following is to be carried out. Monitor - it is a system software who's main function is to carry out the instructions in the control cards. It also ensures that the transition from one job to the next is performed automatically. Called as the first primitive operating system.

Time-sharing system (fourth generation)

Operating systems during this time were designed to be time sharing or multi-tasking operating system.

Other Types of Computer System Personal computer systems (Uni-processor system)

These components were designed as single-user systems.

Multiprocessor systems

These are computer systems with more than one CPU.

Two kinds of Multiprocessor systems:


1. Symmetric multiprocessors (SMP) 2. Asymmetric multiprocessors (AMP) 3. Networked and distributed systems 4. Network operations systems allow the sharing of resources among computers connected in a network. 5. In distributed systems, there is a high level of transparency in such a way that the entire system is perceived by a user as one big, powerful computing machine instead of several cooperating computers.

Goals of a distributed operating system:


1. Transparency 2. Parallelism 3. Reliability Real-time systems

These are computers that operate on a very strict time constraint.

Handheld systems

These are characterized by being battery powered having slower processors compared to PC's, and having smaller memory.

Computer System Operating Basics

Four basic components of a computer system:


CPU Primary Memory Secondary Memory I/O devices

Primary memory - where programs and the data they are processing reside during execution.

Secondary memory - where all programs and data are permanently stored since it does not lose its contents whenever power is cu off. Interrupts

Signal sent by devices and programs to the CPU to tell the CPU that the services are needed.

1. The time it takes to the read write head to its current position to the desired track position. 2. The time it takes to actually transfer the data to and from the hard disk. The transfer time is dependent on the transfer rate of modern hard disk which normally ranges from 100s of megabits per second.

You might also like