1/75
Introduction to System Software
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Software
is a program or set of instructions that tells the computer what to do.
Application Software
are programs that are used to accomplish specific or specialized task for computer users such as creating and editing documents, making graphic presentations.
System Software
are programs that control the basic operations of a computer system such as saving files in a storage device, input from hardware, printing files
Document Production software
these are the programs that help computer users in composing, editing, printing, and electronically publishing documents.
Spreadsheet software
these programs allow users to enter and manipulate data into an electronic worksheet of rows and columns.
Presentation software
through this kind of software, users are able to create slide shows for visual presentation purposes.
Database management software
these enable the users to store, manipulate, and retrieve vast amounts of data in an organized and structured manner.
Business software
are programs that can provide users with tools for business management.
Multimedia Software
multimedia programs that can process pictures, sound, and video
Entertainment Software
these include music players, video players, and games.
System Programming
The act of developing a system software
Machine Language
The natural or primitive language that the computer actually understands
Assembly Language
This programming language uses the abbreviation or mnemonics in place of binary patterns in order to make the task of programming easier
Assembler
A special translator program that converts assembly language mnemonics into language instructions
High-level programming languages
This type of programming language use English-like commands or instructions, easiest to use, and contain many complicated or advanced instructions
Compiler
A special translator program that converts high-level language instructions into machine language
Language Translators
These are system programs that convert a program written in a high level programming language or assembly language into machine language thereby allowing to execute it.
Assemblers
A language translator that takes a source program written in assembly language and converts it to an executable file that contains machine language instructions.
Compilers
Is a language translator that takes a source program written in a high level programming language and converts it to an executable file that contains machine language instructions.
Interpreters
This language translator converts a program written in a high level programming language to machine code so that it can be executed by a computer.
Linkers
A system program that links or combines object modules together with the libraries needed by these programs to form a single executable program
Loaders
A system program that takes the load module from secondary storage and brings it into main memory for execution; it performs address binding
Physical Addresses
The process of assigning or mapping symbolic references to actual main memory addresses. These actual memory addresses are often called
Absolute loading
A technique used in placing the load module in main memory, where the load module already contains actual memory addresses instead of symbolic variables.
Relocatable Loading
A technique used in placing the load module in main memory, where the load module is generated before load module is loaded and load module can be loaded anywhere in the main memory based on the available main memory location.
Dynamic Run Time Loading
A technique used in placing the load module in main memory, where Absolute address is not generated when loaded, but when it is needed by the CPU; the loader places the load module into the main memory without converting the relative addresses to absolute addresses.
Operating System
It is a system software that allows users and the application programs they are using to interact with the computer hardware in an easy and convenient manner. It functions as the computer’s resource manager, resource allocator, and program launcher. It creates a virtual machine interface between the user, application program and hardware.
Kernel
It is is the heart and soul of operating system. It is responsible in controlling the computer hardware and performing many of the services being offered by the operating system.
Shell
It is the part of the operating system that serves as the interface between users and kernel. It is often called the command interpreter.
Command Line Interface (CLI)
A type of shell that requires user to type the commands at a prompt. This type of shell is seen in the old DOS and many Linux Systems.
Graphical User Interface (GUI)
A type of shell where the user enter commands by either using drop-down menus or by clicking on icons using a mouse pointer.
Process Manager
This core component of the OS is also called the Process Scheduler or CPU Scheduler, which is responsible for determining which among the program will execute first and determining runtime duration.
Memory Manager
This component of the OS is responsible for making sure that programs are given sufficient memory space to execute effectively.
Services Provided by the OS
Program Execution
Access to I/O devices
File System Management
System Access
Error Handling
Communication
File Manager
This component of the OS organizes the files stored in secondary storage and presents an interface to the users.
I/O Manager
This component of the OS also called as Device Manager, it manage the different I/O devices of the entire computer system.
Serial Processing (First Generation)
The generation of the OS during the late 1940’s and early 1950’s, where the computers were massive, expensive, slow, and very primitive.
Batch Systems (Second Generation
The generation of the OS during the mid 1950’s. One solution to the inefficient use of expensive computer during the serial processing period is to group similar jobs and process them together as a batch
Multiprogrammed Systems (Third Generation)
The generation of the OS that introduced Multiprogramming, which means concurrent execution of two or more programs by a single CPU, was implemented
Time Sharing Systems (Fourth Generation)
The generation of the OS that introduced Time sharing, which is simply an extension of multiprogramming. The operating system assigns the CPU to a user or to a process for a certain period of time, usually in the range of a few milliseconds. This time period is often called the time slice or time quantum.
Personal Computer Systems
These computers were designed as single user systems
Multiprocessor Systems
These computers are computer systems with more than one CPU.
Symmetric Multiprocessors (SMP)
This is a multiprocessor system that has several, usually identical, processor that share a common main memory. Because of this, SMP’s are also called Shared Memory Multiprocessors.
Asymmetric Multiprocessor (AMP)
Also called Distributed Memory Multiprocessors, these systems also have multiple processors but each processor has its own local memory.
Asymmetric Multiprocessor (AMP)
The main difference between an _____ and an SMP is that in the former, each processor is assigned certain tasks only.
Network operating systems
These operating systems allow the sharing of resources among computers connected in a network. This type of operating system is responsible for managing the sharing resources and the actual communication among the computers.
Distributed Systems
They are very similar to network systems in the sense that they are also the interconnection of independent computers that can share resources.
Real Time Systems
These are are computers that operate on a very strict time constraint. They are literally required to produce results immediately upon receipt of input data.
Handheld Systems
These are computers that are characterized by being battery powered, having slower processors compared to PC’s and having smaller memory.
The Four Basic Components of a Computer System
CPU
Primary Memory
Secondary Memory
I/O Device
Interrupts
These are signals sent by devices and programs to the CPU to tell the CPU that its services are needed
Hardware interrupts
I/O devices are usually the ones making interrupt request, which are referred to as _________.
Traps or Exceptions
Software also generates interrupt requests in the form of ______
Traps
_______ are usually used to inform the operating system when an error occurs and when operating system services are needed
Interrupt service routine (ISR)
When an interrupt request is generated, the CPU will stop executing the current program and start executing the ____________ of the devices that made the interrupt request.
Primary Memory
The type of memory where programs and the data they are processing reside during execution.
Secondary Memory
The type of memory where all programs and data are permanently stored since it does not lose its contents whenever the power is cut off.
Track
In the secondary memory, the surface of the platter is divided into circular _____. Each _____ is divided by sector
Sector
In secondary memory, it is the smallest unit that can be read from or written to and contain a fixed number of bytes.
Seek time or Positioning Time
To find the total time it takes to access data in a hard disk, this refers to the time it takes for the read / write head to access the track where the data is located.
Rotational latency or rotational delay
To find the total time it takes to access data in a hard disk, this refers to the time it takes for the sector to move directly under the read/write head.
Transfer time
To find the total time it takes to access data in a hard disk, this refers to the time it takes to transfer the data to or from the hard disk.
Static Bipolar RAM
A type of RAM chip that has extremely fast memory access time, low packing density and is very expensive
Dynamic RAM
A type of RAM that is relatively slower, high packing density, and is much cheaper
Cache memory
This is a smaller version of the main memory but is constructed using SRAM chips.
The two type of cache memories
Primary Cache or L1 Cache
Secondary Cache or L2 Cache
Programmed controlled IO
A method used by the CPU in communicating or transferring data to or from I/O devices where data transfer to or from the IO device is done under the control of program being executed by the CPU.
Interrupt driven IO
A method used by the CPU in communicating or transferring data to or from I/O devices where the device sends an interrupt signal to the CPU to inform it that a requested operation has been completed.
Direct Memory Access (DMA)
A method used by the CPU in communicating or transferring data to or from I/O devices where high speed IO devices are allowed to transfer blocks of data to or from the main memory without passing through the CPU, meaning IO devices can directly access the memory
Monitor Mode
This is also called System Mode, Supervisor Mode, Kernel Mode, and Privileged Mode. In this mode, the CPU can execute any instruction and access the entire main memory. The CPU is in this mode specifically when it is executing the operating system code.
User Mode
In this mode, the CPU can execute only certain instructions and access only certain areas in main memory. The CPU is in this mode when it is executing user programs
Memory Protection
This hardware protection mechanism involves two registers: base register and limit register. The purpose of these two registers is to restrict the range of valid memory addresses that a program can access.
Base register
The register that has the address of the first memory location
Limit register
The register that has the total number of assigned memory location
I/O Protection
This protection mechanism classifies all instructions that use I/O devices as privileged. User processes must make a system call to access I/O devices, and the CPU switches to monitor mode to allow access.
CPU Protection
This is a hardware mechanism that uses a timer to prevent user processes from taking over the CPU completely. An example of this is when a user process gets stuck in an infinite loop.