Thursday, 26 September 2013

Operating System Glossary1 (k to z)

Kernel – a portion of the operating system that includes the most heavily used portions of software.  Generally, the kernel is maintained permanently in main memory.  The kernel runs in a privileged mode and responds to calls from processes and interrupts from devices.
Lightweight Process – a thread

Macrokernel – a large operating system core that provides a wide range of services
Main Memory – memory that is internal to the computer system, is program addressable, and can be loaded into registers for subsequent execution of processing
Message – a block of information that may be exchanged between processes as a means of communication
Microkernel – a small privileged operating system core that provides process scheduling, memory management, and communication services and relies on other processes to perform some of the functions traditionally associated with the operating system kernel
Mode Switch – a hardware operation that occurs that causes the processor to execute in a different mode (kernel or process).  When the mode switches form process to kernel, the program counter, processor status word, and other registers are saved.  When the mode switches from kernel to process, this information is restored.
Monolithic Kernel – a large kernel containing virtually the complete operating system, including scheduling, file system, device drivers, and memory management.  All the functional components of the kernel have access to all of its internal data structures and routines.  Typically, a monolithic kernel is implemented as a single process, with all elements sharing the same address space.
Multiprocessing – a mode of operation that provides for parallel processing by two or more processors of a multiprocessor
Multiprocessor – a computer that has two or more processors that have common access to a main storage
Multiprogramming – a mode of operation that provides for the interleaved execution of two or more computer programs by a single processor.  The same as multitasking, using different terminology.
Multitasking – a mode of operation that provides for the concurrent performance or interleaved execution of two or more computer tasks.  The same as multiprogramming, using different terminology.
Mutual Exclusion – a condition in which there is a set of processes, only one of which is able to access a given resource or perform a given function at any time.  See critical section.
Network Operating System – the software, supplemental to the operating system, that provides support for the use of common server systems in a network of computers
Nonprivilaged State – an execution context that does not allow sensitive hardware instructions to be executed, such as the ‘interrupt disable’ and I/O instructions
Operating System – software that controls the execution of programs and that provides services such as resource allocation, scheduling, input/output control, and data management
Preemption – reclaiming a resource from a process before the process has finished using it
Privileged Instruction – an instruction that can be executed only in a specific mode, usually by a supervisory program
Process – a program in execution.  A process is controlled and scheduled by the operating system.  Same as task.
Process Control Block – the manifestation of a process in an operating system.  It is a date structure containing information about the characteristics and state of the process.
Process Descriptor – same as process control block
Process Image – all of the ingredients of a process, including program, data, stack, and process control block
Process State – all of the information that the operating system needs to manage a process and that the processor needs to properly execute the process.  The process state includes the contents of the various processor registers, such as the program counter and data registers; it also includes information of use to the operating system, such as the priority of the process and whether the process is waiting for the completion of a particular I/O event.  Same as execution context.
Process Switch – an operation that switches the processor from one process to another, by saving all the process control block, registers, and other information for the first and replacing them with the process information for the second
Round Robin – a scheduling algorithm in which processes are activated in a fixed cyclic order.  Those which cannot proceed because they are waiting for some event (e.g., termination of a child process or an input/output operation) simply return control to the scheduler.
Secondary Memory – memory located outside the computer system itself, including disk and tape
Shell – the portion of the operating system that interprets interactive user commands and job control language commands.  It functions as an interface between the user and the operating system.
Stack – a list that is constructed and maintained so that the next data item to be retrieved is the most recently stored item in the list.  This method is characterized as last-in-first-out
Starvation – a condition in which a process in indefinitely delayed because other processes are always given preference
Symmetric Multiprocessing (SMP) – a form of multiprocessing that allows the operating system to execute on any available processor or on several available processors simultaneously
Synchronization – situation in which two or more processes coordinate their activities based on a condition

Task – same as process
Thread – an execution context that is independently scheduled but shares a single address space with other threads
Time Sharing – the concurrent use of a device by a number of users
Time Slicing – a mode of operation in which two or more processes are assigned quanta of time on the same processor

Operating System Glossary1 (A to J)

Address Space – The range of addresses available to a computer program
Address Translator – A functional unit that transforms virtual addresses to real addresses
Application Programming Interface (API) – A standardized library of programming tools used by software developers to write applications that are compatible with a specific operating system or graphic user interface.
Asynchronous Operation – An operation that occurs without a regular or predictable time relationship to a specified event; for example, the calling of an error diagnostic routine that may receive control at any time during the execution of a program
Batch Processing – pertaining to the technique of executing a set of computer programs such that each is completed before the next program of the set is started
Block – (1) a collection of contiguous records that are recorded as a unit; the units are separated by interblock gaps. (2) a group of bits that are transmitted as a unit.
Busy waiting – the repeated execution of a loop of code while waiting for an event to occur
Cache Memory – a memory that is smaller and faster than main memory and that is interposed between the processor and main memory.  The cache acts as a buffer for recently used memory locations.
Client – a process that requests services by sending messages to server processes
Cluster – a group of interconnected, whole computers working together as a unified computing resource that can create the illusion of being one machine.  The term whole computer means a system that can run on its own, apart from the cluster.
Concurrent – pertaining to processes or threads that take place within a common interval of time during which they may have to alternately share common resources.
Critical Section – in an asynchronous procedure of a computer program a part that cannot be executed simultaneously with an associated critical section of another asynchronous procedure
Deadlock – (1) an impasses that occurs when multiple processes are waiting for the availability of a resource that will not become available because it is being held by another process that is in a similar wait state
Device Driver – an operating system module (usually in the kernel) that deals directly with a device or I/O module
Direct Memory Access (DMA) – a form of I/O in which a special module, called a DMA module, controls the exchange of data between main memory and an I/O device.  The processor sends a request for the transfer block of data to the DMA module and is interrupted only after the entire block has been transferred.
Disabled Interrupt – a condition, usually created by the operating system, during which the processor will ignore interrupt request signals of a specified class
Disk Cache – a buffer, usually kept in main memory, that functions as a cache of disk blocks between disk memory and the rest of main memory
Distributed Operating System – a common operating system shared by a network of computers.  The distributed operating system provides support for interprocess communication, process migration, mutual exclusion, and the prevention or detection of deadlock.
Enabled Interrupt – a condition, usually created by the operating system, during which the processor will respond to interrupt request signals of a specified class
Encryption – the conversion of plain text or data into unintelligible form by means of a reversible mathematical computation
Execution Context – same as process state
File – a set of related records treated as a unit
File Allocation Table (FAT) – a table that indicates the physical location on secondary storage of the space allocated to a file.  There is one file allocation table for each file.
File Management System – a set of system software that provides services to users and applications in the use of files, including file access, directory maintenance, and access control.
First In First Out (FIFO) – a queuing technique in which the next item to be retrieved is the item that has been in the queue for the longest time
Hash File – a file in which records are accessed according to the values of a key field.  Hashing is used to locate a record on the basis of its key value.
Hashing – the selection of a storage location for an item of data by calculating the address as a function of the contents of the data.  This technique complicates the storage allocation function but results in rapid random retrieval.
Hit Ratio – in a two-level memory, the fraction of all memory accesses that are found in a the master memory (i.e. the cache)
Interrupt – a suspension of a process, such as the execution of a computer program, caused by an even external to that process and performed in such a way that the process can be resumed
Interrupt Handler – a routine, generally part of the operating system.  When an interrupt occurs, control is transferred to the corresponding interrupt handler, which takes some action in response to the condition that caused the interrupt.
Job – a set of computational steps packaged to run as a unit
Job Control language (JCL) – a problem-oriented language that is designed to express statements in a job that are used to identify the job or to describe its requirements to an operating system

Operating System Glossary 2

Base Address – an address that is used as the origin in the calculation of addresses in the execution of a computer program
Dynamic Relocation – a process that assigns new absolute addresses to a computer program during execution so that the program may be executed from a different area of main storage
Indexed Access – pertaining to the organization and accessing of the records of a storage structure through a separate index to the locations of the stored records
Indexed Sequential Access – pertaining to the organization and accessing of the records of a storage structure through an index of the keys that are stored in arbitrarily partitioned sequential files
Last In First Out (LIFO) – a queuing technique in which the next item to be retrieved is the item most recently placed in the queue
Logical Address – a reference to a memory location independent of the current assignment of data to memory.  A translation must be made to a physical address before the memory access can be achieved.
Memory Partitioning – the subdividing of storage into independent sections
Page – in virtual storage, a fixed length block that has a virtual address and that is transferred as a unit between main memory and secondary memory
Page Fault – occurs when the page containing a referenced word is not in main memory.  This causes an interrupt and requires that the proper page be brought into main memory.
Paging – the transfer of pages between main memory and secondary memory
Physical Address – the absolute location of a unit of data in memory (e.g., word or byte in main memory, block on secondary memory)
Real-Time System – an operating system that must schedule and manage real-time tasks
Sequential Access – the capability to enter data into a storage device or a data medium in the same sequence as the data are ordered or to obtain data in the same order as they were entered
Sequential File – a file in which records are ordered according to the values of one or more key fields and processed in the same sequence from the beginning of the file
Server – (1) a process that responds to request from clients via messages.  (2) In a network, a data station that provides facilities to other station; for example, a file server, a print server, a mail server.
Spooling – the use of secondary memory as buffer storage to reduce processing delays when transferring data between peripheral equipment and the processors of a computer
Trojan Horse – secret undocumented routine embedded within a useful program.  Execution of the program results in execution of the secret routine.
Trusted System – a computer and operating system that can be verified to implement a given security policy
Virtual Address – the address of a storage location in virtual storage


Virus – secret undocumented routine embedded within a useful program.  Execution of the program results in execution of the secret routine.

Computer Glossary M to Z

network                   A group of computers hooked together to share information.

Network Interface Card         NIC  An adapter that connects a PC to a network.
-----------------------------------------------------------------------------------------

operating system    OS  A collection of programs for operating a computer.

output                     Sending information out of a computer such as to the printer.

overwrite                 To erase old data by writing over the old data .
-----------------------------------------------------------------------------------------


peer-to-peer            A type of network where each computer is equal and shares it’s information with the other computers.

Pentium                  An Intel microprocessor.

peripheral                Any piece of computer equipment that is attached outside the computer.  Such as disk drives, printers, scanners, etc.

platter                     A disk in a hard drive.

Plug and Play         PnP  Hardware and software that allows the computer system to detect new hardware being added.

power supply          Hardware that allows the computer to connect to an electrical outlet.

proprietary              Anything invented by one company and is only available from that company.

protocol                  Rules.
-----------------------------------------------------------------------------------------


RAM                       Random-acess memory.  All memory accessible.

real-time                  The actual time in which a program or event takes place.

reboot                    The process of restarting a computer and reloading the operating system.

ribbon cable            Flat cable with wires located inside the computer.

RJ-11                      Standard wire connector for telephones.
RJ-45                      Standard wire connector for networks.

root directory          The main directory of any hard or floppy disk.

router                      Hardware that routes messages from one local area network to another.
 -----------------------------------------------------------------------------------------

security software     Software that uses a system of passwords to protect and restrict access to files.

subdirectory            A directory inside of a directory.

surge protector       A device that protects the computer from sudden surges of power.

system crash          When the computer freezes and stops working.

system files            Files needed by the operating system to make the computer run.
-----------------------------------------------------------------------------------------


TCP/IP                    Rules that make computers communicate with each other over a network.

terabyte                  TB  A unit of information storage equal to 1,099,511,627,776 bytes.

Token Ring              A type of network where information is passed in a ring using a token.

toner                       Ink, which is actually a powder, used in laser printers.

tower                      A computer that sits on the floor.

track                       Cone of many circles that holds data on a disk.

troubleshooting       The task of determining the cause of a computer or network problem.

twisted pair             A type of wire where insulated copper wires are twisted around each other.
-----------------------------------------------------------------------------------------


virus                       A software program that damages program, files, and may damage hardware.
-----------------------------------------------------------------------------------------


wide area network      WAN  A network that extends beyond a single building.

World Wide Web     WWW  Allows you to access the Internet.

write protect            Preventing a removable disk from being overwritten.
-----------------------------------------------------------------------------------------

Computer Glossary A to M

     
                      
        8086                       One of the very first personal computers.

antivirus                  Software that prevents files containing viruses from running on a computer or software that detects, repairs, cleans, or removes virus-infected files.

application              Software such as a word processor, spreadsheet, database, graphics editor, game, or Web browser.
---------------------------------------------------------------------------------------------------------------------

backup                   The process of duplicating a file onto a floppy.

bit                          One piece of information.

boot sector             The first sector on a disk that tells the system how to load files into memory.

boot                       To load a program into the computer.

bug                        An error or defect in a program.

byte                        A collection of bits.
---------------------------------------------------------------------------------------------------------------------

CD                         Compact disc

CD-R                      Compact Disc-Recordable, can be recorded on.

CD-ROM                 Compact Disc-Read Only Memory, drive that read CD’s.

CD-RW                   Compact Disc-ReWritable, a CD that can be written to several times.

circuit board            The collection of circuits gathered on a sheet of plastic.

CBT                        computer-based training.

console                  Keyboard used to communicate with the computer.

controller                A card that controls the electronics for one or more devices such as hard disks.

crash                      When the computer doesn’t work and information maybe lost.

crosstalk                 Signal from one wire interfering with the signal of another wire.
---------------------------------------------------------------------------------------------------------------------

data                        Groups of information.

default                    Any setting at startup.

degauss                 To remove magnetic charges.

desktop                  A personal computer that sits on a desk.

device driver           A memory-resident program loaded when the computer starts up that controls a device such as, speakers, external drives, etc.

dip switches            Tiny switches on a circuit board.

directory                 An area of a disk that stores the titles or names of files.

DOS                       Disk Operating System.  A collection of programs that load hardware into the computer before application software can be run.

dot-matrix printer     An impact printer that prints characters composed of dots.

drive                       A device that manipulates data.

DVD                       digital versatile disc.  High-capacity CD-ROM disc.
---------------------------------------------------------------------------------------------------------------------

Ethernet                  A type of network protocol developed in the late 1970’s by Bob Metcalf at Zerox Corporation.

external device        A device that is installed outside of the computer.
---------------------------------------------------------------------------------------------------------------------

file allocation table  FAT  A table that allows the computer to keep track of data.

fax / modem           A device that is a fax machine and a modem.

filename                  The name given to a file when you save it.

floppy disk             A removable disk.

folder                     Like a file folder in a filing cabinet that holds files.
---------------------------------------------------------------------------------------------------------------------

gateway                  A conversion program that coverts files from one computer system to another over a network.

gigabyte                 GB  A unit of information storage equal to 1,073,741,824 bytes.

GUI                         Graphical User Interface.  Allows users to use a mouse.
---------------------------------------------------------------------------------------------------------------------

hard disk                 A high-capacity disk storage unit.

hardware                 Physical components that make up a computer, monitor, printer, and so on.
---------------------------------------------------------------------------------------------------------------------

inkjet printer            A type of printer that sprays one or more colors of ink on the paper.

input                       Entering / typing data into the computer.

Internet                   A computer network that joins many government, university, and private computers together over phone lines.
---------------------------------------------------------------------------------------------------------------------

Java                       A programming language.

joystick                   An input device used for playing games.
---------------------------------------------------------------------------------------------------------------------

keyboard                The primary input device for most computers consisting of keys with letters of the alphabet, digits, punctuation, and function control keys.

kilobyte                   KB  A unit of information storage equal to 1,024 bytes.
---------------------------------------------------------------------------------------------------------------------

laptop computer      A small, briefcase size computer.

laser printer             A type of printer that uses heat and a laser to transfer ink onto paper.

local area network  LAN  A network that is in one building or on one floor of a very large building.
---------------------------------------------------------------------------------------------------------------------

megabyte               MB  A unit of information storage equal to 1,048,576 bytes.

memory                  Any component in a computer that stores information for future use.

modem                   A device that converts data from the computer, sends it over the telephone line to another computer and modem.

motherboard           The main circuit board in a computer.

mouse                    An input device invented by Douglas Engelbart of Stanford Research Center in 1963.  Consists of a roller ball and a tracking mechanism that relays horizontal and vertical position to the computer.

MPEG                    Motion Picture Experts Group.  A video / graphics file.

multimedia              The use of sound, graphic images, animation, motion video, and text in a file.


multitask                 To run several programs at the same time.

---------------------------------------------------------------------------------------------------------------------

Monday, 5 August 2013

                                  COMPLETE C NOTES 
     20 CHAPTERS COVERING MAXIMUM SYLLABUS OF C LANGUAGE






Saturday, 27 July 2013

FILE MANAGEMENT IN C LANGUAGE

INTRODUCTION: Abstractly, a file is a collection of bytes stored on a secondary storage device, which is generally a disk of some kind. The collection of bytes may be interpreted, for example, as characters, words, lines, paragraphs and pages from a textual document; fields and records belonging to a database; or pixels from a graphical image. The meaning attached to a particular file is determined entirely by the data structures and operations used by a program to process the file. It is conceivable (and it sometimes happens) that a graphics file will be read and displayed by a program designed to process textual data. The result is that no meaningful output occurs (probably) and this is to be expected. A file is simply a machine decipherable storage media where programs and data are stored for machine usage.

LINKED LIST THROUGH C LANGUAGE

INTRODUCTION  Linked list is a chain of structs or records called nodes. Each node has at least two members, one of which points to the next item or node in the list! These are defined as Single Linked Lists because they only point to the next item, and not the previous. Those that do point to both are called Doubly Linked Lists or Circular Linked Lists.  
Linked lists are among the simplest and most common data structures, and are used to implement many important abstract datastructures, such as stacks, queues, hash tables, symbolic expressions, skip lists, and many more.