Monday, May 6, 2013

computer memory & Software Overview



Memory
Memory refer to computer components, devices and recording media that retain digital data used for computing for some interval of time. Computer memory includes internal and external memory.
          Internal memory
        The internal memory is accessible by a processor without the use of the computer input-output channels. It usually includes several types of storage, such as main storage, cache memory, and special registers, all of which can be directly accessed by the processor. 


  • Cache memory : A buffer, smaller and faster than main storage, used to hold a copy of instructions and data in main storage that are likely to be needed next by the processor and that have been obtained automatically from main storage.
  • Main memory (Main Storage) : addressable storage from which instructions and other data may be loaded directly into registers for subsequent execution or processing.

    Storage capacity of the main memory is the total amount of stored information that the memory can hold. It is expressed as a quantity of bits or bytes. Each address identifies a word of storage. So the capacity of the main memory depends on the number of bits allowed to address. For instance, a computer allows also 32-bit memory addresses; a byte-addressable 32-bit computer can address 232  = 4,294,967,296 bytes of memory, or 4 gigabytes (GB). The capacity of the main memory is 4 GB.

The main memory consists of ROM and RAM.
Random Access Memory (RAM):
The primary storage is referred to as random access memory (RAM) because it is possible to randomly select and use any location of the memory directly store and retrieve data. It takes same time to any address of the memory as the first address. It is also called read/write memory. The storage of data and instructions inside the primary storage is temporary. It disappears from RAM as soon as the power to the computer is switched off.
 Read Only Memory (ROM):
There is another memory in computer, which is called Read Only Memory (ROM). Again it is the ICs inside the PC that form the ROM. The storage of program and data in the ROM is permanent. The ROM stores some standard processing programs supplied by the manufacturers to operate the personal computer. The ROM can only be read by the CPU but it cannot be changed. The basic input/output program is stored in the ROM that examines and initializes various equipment attached to the PC when the switch is made ON.

          External Memory
        The external memory holds information too large for storage in main memory. Information on external memory can only be accessed by the CPU if it is first transferred to main memory. External memory is slow and virtually unlimited in capacity. It retains information when the computer is switched off and is used to keep a permanent copy of programs and data.

  • Hard Disk: is made of magnetic material. Magnetic disks used in computer are made on the same principle. It rotates with very high speed inside the computer drive. Data is stored on both the surface of the disk. Magnetic disks are most popular for direct access storage device. Each disk consists of a number of invisible concentric circles called tracks. Information is recorded on tracks of a disk surface in the form of tiny magnetic spots. The presence of a magnetic spot represents one bit and its absence represents zero bit. The information stored in a disk can be read many times without affecting the stored data. So the reading operation is non-destructive. But if you want to write a new data, then the existing data is erased from the disk and new data is recorded. The capacity of a hard disk is possibly 20 GB, 30 GB, 40 GB, 60 GB or more.
  •  Floppy Disk: It is similar to magnetic disk discussed above. They are 5.25 inch or 3.5 inch in diameter. They come in single or double density and recorded on one or both surface of the diskette. The capacity of a 5.25-inch floppy is 1.2 mega bytes whereas for 3.5 inch floppy it is 1.44 mega bytes. The floppy is a low cost device particularly suitable for personal computer system.
  •  Optical Disk : With every new application and software (includes sounds, images and videos) there is greater demand for memory capacity. It is the necessity to store large volume of data that has led to the development of optical disk storage medium. There are two commonly used categories of optical disks: CD with the approximate capacity of 700MB and DVD with the approximate capacity of 4.7GB.
  • Memory Stick (Flash card, flash drive):  a removable flash memory card format, with 128MB, 256 MB, 512 MB, 1 GB, 2 GB , 4 GB or more capacities.

Input-Output Devices
A computer is only useful when it is able to communicate with the external environment. When you work with the computer you feed your data and instructions through some devices to the computer. These devices are called Input devices. Similarly the computer after processing, gives output through other devices called output devices.
Common input and output devices are: Speakers, Mouse, Scanner, Printer, Joystick, CD-ROM, Keyboard, Microphone, DVD, Floppy drive, Hard drive, Magnetic tape, and Monitor. Some devices are capable of both input and output.    

    
 Input Devices
        Input devices are necessary to convert our information or data in to a form which can be understood by the computer. A good input device should provide timely, accurate and useful data to the main memory of the computer for processing followings are the most useful input devices.
Keyboard: -
This is the standard input device attached to all computers. The layout of keyboard is just like the traditional typewriter. It also contains some extra command keys and function keys. It contains a total of 101 to 104 keys. You must press correct combination of keys to input data. The computer can recognize the electrical signals corresponding to the correct key combination and processing is done accordingly.
Mouse: -
 Mouse is an input device that is used with your personal computer. It rolls on a small ball and has two or three buttons on the top. When you roll the mouse across a flat surface the screen censors the mouse in the direction of mouse movement. The cursor moves very fast with mouse giving you more freedom to work in any direction. It is easier and faster to move through a mouse.
Scanner:
 The keyboard can input only text through keys provided in it. If we want to input a picture the keyboard cannot do that. Scanner is an optical device that can input any graphical matter and display it back.
          Output Devices
  • Monitor: The most popular input/output device is the monitor. A Keyboard is used to input data and Monitor is used to display the input data and to receive massages from the computer. A monitor has its own box which is separated from the main computer system and is connected to the computer by cable. It can be color or monochrome. It is controlled by an output device called a graphics card. Displayable area measured in dots per inch, dots are often referred to as pixels. Standard resolution is 640 by 480. Many cards support resolution of 1280 by 1024 or better. Number of colors supported varies from 16 to billions
  • Printer: It is an important output device which can be used to get a printed copy of the processed text or result on paper. There are different types of printers that are designed for different types of applications.
Buses
Bus is a subsystem that transfers data or power between computer components inside a computer or between computers. Bus can logically connect several peripherals over the same set of wires. Each bus defines its set of connectors to physically plug devices, cards or cables together. The buses are categorized depending on their tasks:
  • ·         The data bus transfers actual data.
  • ·         The address bus transfers information about where the data should go.
  • ·         The control bus carries signals that report the status of various devices.

Programs and Programming Languages
Programs
        A computer program is an algorithm written for a computer in a special programming language. 
        Programming languages
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. It is defined through the use of syntactic and semantic rules, to determine structure and meaning respectively.
Programming languages are used to facilitate communication about the task of organizing and manipulating information, and to express algorithms precisely.
 There are large number of programming language in use. We can identify three type of programming languages : machine languages, assembly languages, high-level languages.
Machine Languages
        Machine code or machine language is a system of instructions and data directly executed by a computer's central processing unit. Machine code is the lowest-level of abstraction for representing a computer program. Instructions are patterns of bits with different patterns corresponding to different commands to the machine. Machine code has several significant disadvantages : very difficult for a human to read and write, a program written on one computer cannot run on a different computer, so it cannot be used to write large program or program intended to run on different machines.

Assembly Languages
        An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture.
 This representation is usually defined by the hardware manufacturer, and is based on abbreviations (called mnemonics) that help the programmer remember individual instructions, registers, etc. An assembly language is thus specific to a certain physical or virtual computer architecture.
A utility program called an assembler, is used to translate assembly language statements into the target computer's machine code.
Although assembly is more friendly than machine code, use of assembly offer several disadvantages, for instance, each type of computer has its own assembly language or programming assembly requires much time and effort.
Hence, assembly language is not use to write large programs. However, there are some computer application, such as in writing program that control peripherals, assembly is still a necessity.

High-level languages
        A high-level programming language is a programming language that, may be more abstract, easier to use, or more portable across platforms.
Examples: Pascal, C, Visual Basic, SQL, . . . .
Such languages often abstract away CPU operations such as memory access models and management of scope.These languages have been implemented by translating to machine languages.
There are two types of translators

Compiler is a program that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine language)
Interpreter is a program that translates and executes source language statements one line at a time.

Domain Analysis
Often the first step in attempting to design a new piece of software, whether it be an addition to an existing software, a new application, a new subsystem or a whole new system, is, what is generally referred to as "Domain Analysis". The more knowledgeable they are about the domain already, the less the work required. Another objective of this work is to make the analysts who will later try to elicit and gather the requirements from the area experts or professionals, speak with them in the domain's own terminology and to better understand what is being said by these people. Otherwise they will not be taken seriously. So, this phase is an important prelude to extracting and gathering the requirements.
Software Elements Analysis
The most important task in creating a software product is extracting the requirements. Customers typically know what they want, but not what software should do, while incomplete, ambiguous or contradictory requirements are recognized by skilled and experienced software engineers. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect.

Specification
 Specification is the task of precisely describing the software to be written, possibly in a rigorous way. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed, although safety-critical software systems are often carefully specified prior to application development. Specifications are most important for external interfaces that must remain stable.
Software architecture
The architecture of a software system refers to an abstract representation of that system. Architecture is concerned with making sure the software system will meet the requirements of the product, as well as ensuring that future requirements can be addressed. The architecture step also addresses interfaces between the software system and other software products, as well as the underlying hardware or the host operating system.
Implementation (or coding)
 Reducing a design to code may be the most obvious part of the software engineering job, but it is not necessarily the largest portion.
Testing
Testing of parts of software, especially where code by two different engineers must work together, falls to the software engineer.
Documentation
An important (and often overlooked) task is documenting the internal design of software for the purpose of future maintenance and enhancement. Documentation is most important for external interfaces.

Classification of Computer Software
The software is divided to System Software and Application Software with each having several sub levels.
System software is the low –level software required to manage computer resources and support the production or execution of application program.
Application software is software program that perform a specific function directly for the end user.
System Software includes
  • Operating Systems software
  • Network Software : network management software, server software, security and encryption software, etc.
  •  Database management software
  • Development tools and programming language software: software testing tools and testing software, program development tools, programming languages software 
  • Etc.
Application Software includes
  • General business productivity applications : software program that perform a specific function directly for the end user, examples include : office applications, word processors, spreadsheet, project management system ,etc. 
  •  Home use applications : software used in the home for entertainment, reference or educational purposes, examples include games, home education etc. 
  • Cross-industry application software :  software that is designed to perform and/or manage a specific business function or process that is not unique to a particular industry, examples include professional accounting software, human resources management, Geographic Information Systems (GIS) software, etc. 
  •  Vertical market application software : software that perform a wide range of business functions for a specific industry such as manufacturing, retail, healthcare , engineering, restaurant, etc. 
  •  Utilities software : a small program that performs a very specific task. Examples include : compression programs, antivirus, search engines, font, file viewers, voice recognition software, etc.

No comments :

Post a Comment



quote


मानिश ठुलो दिल ले हुन्छ जात ले हुदै न
लक्ष्मी प्र. देवकोटा

Education is the most powerful weapon which you can use to change the world.
Nelson Mandela


The roots of education are bitter, but the fruit is sweet.
Aristotle

Education is what remains after one has forgotten everything he learned in school.
Albert Einstein

He who opens a school door, closes a prison.
Victor Hugo

The highest result of education is tolerance.
Helen Keller

Minds are like parachutes - they only function when open.
Thomas Dewar

Creative minds have always been known to survive any kind of bad training.
Anna Freud

Education is the ability to listen to almost anything without losing your temper.

Robert Frost



my marquee

Dear all viewers welcome to my Blog, This is personal blog about Lilaram Paudel……...

Lilaram Paudel ** E-mail: lilaram@prime.edu.np, paudel.lila2010@gmail.com, lilaram33_lr@yahoo.com, Cell : +977-9841036722

about blog

This is my Personal Blog.

Translate