Defense Univrsty: Cores Title:-Apply Object Oriented Programming Language
Defense Univrsty: Cores Title:-Apply Object Oriented Programming Language
DEPARTMENT -------------------------ICT
to teacher alemayu
Submitted Date 10/3/2013 E.c
1. Generations of programming language
Programming languages have been developed over the year in a phased manner.
Each phase of developed has made the programming language more user-friendly,
easier to use and more powerful.
The programming language in terms of their performance reliability and robustness can be
grouped into five different generations,
Applications Software
System Software
System Hardware
Overview of Computer Organization Irvine Edition IV : Section 1.2 and
Section 2.4 Fundamentals Of Computer Organization and Design, Dandamudi,
Objective Our key objective : To Understand computers at machine level
System Hardware System Software Applications Software Figure 1.1
Dandamudi Understanding Computer Organization: basic terms Computer
Architecture: describes structure and basic functional parts of a computer
system at a logical level from the programmer’s point of view. Key
component: Instruction Set Computer Organization: describes how hardware
components operate to meet the architecture. Behaviour : How the parts
work Computer Programming: :
for explaining software at the machine level No transistor details Widely used
in practice Models computer as a state-based system Abstract models of a
Computer System Abstract models of a computer depends on the level of the
language being used. Application Programs High-level Languages Assembly Language
Machine Language Micro Program Control Hardware Machine-Independent Machine-
Specific Central Processing Unit (CPU) Processor System Bus (address, data, &
control) Memory Program Storage Data Storage Output Units Input Units
Organization of a Simple Computer System A Simple Computer System is
comprised of three major components (processor, memory, I/O) that interact
indirectly through the bus. The objective of the system is associated with attached
devices Connected I/O devices : Keyboard, mouse, display, printer, disk drives,
commn links, etc.
System Components Processor manipulates information (located in processor,
memory, I/O) by executing instructions Information in processor is held in
registers – Processors are characterized by: (more later) 1. register set 2.
instruction set – includes addressing modes 3. interrupt mechanism – lets other
components notify processor when “events” happen Memory holds information in
cells or locations A cell has an address name that identifies cell and contents
information value held in cell Memory supports 2 operations∷
read and write. Input/Output supports the information exchange between
computer and connected devices –Independent I/O components associated with
each connected device Ports: exchange information between bus and I/O
components Information in computer systems. Observation∷
information plays key role in all components of the computer system Numerical
information: counting numbers, integers, reals, fractions, complex, irrational Text
information: characters, strings – Graphical information Composite information:
date day, month, year. Information in computer systems.
3. The evolution of operating system.
Evolution of Operating System: Evolution of Operating Systems: User driven,
operator driven, simple batch system, off line batch system, directly coupled off
line system, multi- programmed spooling system, online timesharing system,
multiprocessor systems, multi-computer/ distributed systems, Real time
Operating Systems. 1. Serial processing 2. Batch processing 3.
Multiprogramming 4. Multitasking or time sharing System Multitasking or Time
Sharing System: Multiprogramming didn't provide the user interaction with the
computer system. Time sharing or Multitasking is a logical extension of
Multiprogramming that provides user interaction.
CPU bound is divided into different time slots depending upon the number of
users using the system.
A multitasking system uses CPU scheduling and multiprogramming to provide each
user with a small portion of a time shared computer. Each user has at least one
separate program in memory.
Multitasking are more complex than multiprogramming and must provide a
mechanism for jobs synchronization and communication and it may ensure that
system does not go in deadlock. Although batch processing is still in use but most of
the system today available uses the concept of multitasking and Multiprogramming.
Serial Processing∷ Early computer from late 1940 to the mid 1950.
Uses Punch Card, paper tapes and language translator These system presented two
major problems. 1. Scheduling 2. Set up time: Scheduling: Used sign up sheet to
reserve machine time. A user may sign up for an hour but finishes his job in 45
minutes. This would result in wasted computer idle time, also the user might run
into the problem not finish his job in alloted time. Set up time: A single program
involves: Loading compiler and source program in memory
Saving the compiled program (object code) Loading and linking together object
program and common function Each of these steps involves the mounting or
dismounting tapes on setting up punch cards. If an error occur user had to go the
beginning of the set up sequence. Thus, a considerable amount of time is spent in
setting up the program to run. This mode of operation is turned as serial processing
,reflecting the fact that users access the computer in series. Simple Batch
Processing:
Early computers were very expensive, and therefore it was important to maximize
processor utilization.
The wasted time due to scheduling and setup time in Serial Processing was
unacceptable.
To improve utilization, the concept of a batch operating system was developed.
Batch is defined as a group of jobs with similar needs. The operating system allows
users to form batches. Computer executes each batch sequentially, processing all
jobs of a batch considering them as a single process called batch processing. The
central idea behind the simple batch-processing scheme is the use of a piece of
software known Page:16 Compiled by: daya as the monitor. With this type of OS, the
user no longer has direct access to the processor. Instead, the user submits the job
on cards or tape to a computer operator, who batches the jobs together sequentially
and places the entire batch on an input device, for use by the monitor. Each
program is constructed to branch back to the monitor when it completes
processing, at which point the monitor automatically begins loading the next
program. With a batch operating system, processor time alternates between
execution of user programs and execution of the monitor. There have been two
sacrifices: Some main memory is now given over to the monitor and some
processor time is consumed by the monitor. Both of these are forms of overhead.
Multiprogrammed Batch System∷