Sie sind auf Seite 1von 51

‫م علي عبد العزيزالقزاز‬.

‫م‬ ‫تقنيات الحاسوب‬

Data representation

Data
1-Numeric data – numbers (integer, real)
2-Non-numeric data - symbols, letters
1-Number System
*Non positional number system like Roman number system
*Positional number system
- Each digit position has a value called a weight associated with it like Decimal,
Octal, Hexadecimal, Binary systems
- Example AR = an-1 an-2 ... a1 a0 .a-1…a-m
Point (.) separates the integer portion and the fractional portion

R = 10 Decimal number system, R = 2 Binary, R = 8 Octal, R = 16 Hexadecimal

Representation of numbers

Decimal Binary Octal Hexadecimal


00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3

1
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Base R to Decimal Conversion:-

(736.4)8 = 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1= 7 x 64 + 3 x 8 + 6 x 1 + 4/8 =


(478.5)10
(110110)2 = 1*25+1*24+0*23+1*22+1*21+0*20 = 32+16+0+4+2+0 = (54)10
(110.111)2 =1*22+1*21+0*20+1*2-1+1*2-2+1*2-3 = 4+2+0+0.5+0.25+0.125 =
(6.875)10
(F3)16 = 15*161+3*160 = 240+3 = (243)10
(0.325)16 =3*16-1+2*16-2+5*16-3 = (........)10

Decimal to Base R number conversion:-

1-To convert integer decimal number to base (R) number we take the number
modulate (R) to calculate the first digit then divided the number by (R) and repeat
the above steps until the number become zero
Example:-
Convert (124) to binary, Octal, and Hexadecimal numbers

2
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

number N mod 2 n/2


124 0 62
62 0 31
31 1 15
15 1 7
7 1 3
3 1 1
1 1 0
124)10 = 1111100)2
number N mod 8 n/8
124 4 15
15 7 1
1 1 0
124)10 = 174)8
number N mod 16 n/16
124 C 7
7 7 0
124)10 = 7C)16

2- To convert fraction decimal number to base (R) number we take the number
multiplying (R) to calculate the first integer digit and repeat the above step until
the number become zero
Example:-
Convert (0.125) to binary, Octal, and Hexadecimal numbers
number N * 2 digits
0.125 0.25 0
0.25 0.5 0
0.5 1 1

3
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

0
0.125)10 = 0.001)2
number N * 8 digits
0.125 1 1
0
0.125)10 = 0.1)8

number N * 16 digits
0.125 2 2
0

0.125)10 = 0.2)16

Convert binary number to Octal, and Hexadecimal numbers

In Octal conversion we divided the binary number to groups with three digits as
below
1111100 = 1 111 100 = 1 7 4
In Hexadecimal conversion we divided the binary number to groups with four
digits as below
1111100 = 111 1100 = 7 C

Unsigned numbers

Binary Addition
_ Start with the least significant bit (rightmost bit)
_ Add each pair of bits
_ Include the carry in the addition, if present

4
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Octal Addition
34567
64377
121166

Hexadecimal Addition

36 28 28 6A
42 45 58 4B
78 6D 80 B5

Signed numbers

In Positive numbers (Signed value = Unsigned value)

Two's Complement Representation of binary number


In negative numbers we followed the following steps
1- Represent the unsigned number
2- Convert every digit to its complement
3- Add one to the result from step 2
Example
Represent (-36) in binary format

5
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Sum of an integer and its 2's complement must be zero:


00100100 + 11011100 = 00000000 (8-bit sum) (ignore Carry)

Two's Complement of a Hexadecimal


To form the two's complement of a hexadecimal we Subtract each hexadecimal
digit from 15
then Add 1
_ Examples:
_ 2's complement of 6A3D = 95C3
_ 2's complement of 92F0 = 6D10
_ 2's complement of FFFF = 0001

Binary Subtraction

When subtracting A – B, convert B to its 2's complement then Add A to (–B)


00001100 00001100
00000010 1 1 1 1 1 1 1 0 (2's complement)
00001010 0 0 0 0 1 0 1 0 (same result)

6
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Hexadecimal Subtraction

Characters representation

The American standard code for information interchange (ASCII) maps a set of
128 characters into the set of integers from 0 to 127 , requiring 7 bits for each
numeric code where 95 of the characters are printable and are mapped into the
codes 32 to 126 the reminder are special control codes(WRU, RU, tab, line feed,
…….) the decimal digits (0) to (9) are assigned sequential codes, the upper case
characters (A) through (Z) are also assigned sequential codes as are the lower-
case characters (a) through (z) as shown in figure below

ASCII code for space character = 20 (hex) = 32 (decimal)


ASCII code for ‘A' = 41 (hex) = 65 (decimal)
ASCII code for 'a' = 61 (hex) = 97 (decimal)
The first 32 characters of ASCII table are used for control

7
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

_ Control character codes = 00 to 1F (hex)


_ Examples of Control Characters
_ Character 0 is the NULL character which used to terminate a string
_ Character 9 is the Horizontal Tab (HT) character
_ Character 0A (hex) = 10 (decimal) is the Line Feed (LF)
_ Character 0D (hex) = 13 (decimal) is the Carriage Return (CR)
_ One control character appears at end of ASCII table
_ Character 7F (hex) is the Delete (DEL) character

Parity Bit

Data errors can occur during data transmission or storage/retrieval.


_ The 8th bit in the ASCII code is used for error checking.
_ This bit is usually referred to as the parity bit.
_ There are two ways for error checking:
Even Parity: Where the 8th bit is set such that the total number of 1s in the 8-bit
code word is even.

0(p) 1 0 0 0 0 0 1

Odd Parity: The 8th bit is set such that the total number of 1s in the 8-bit code
word is odd.

1(p) 1 0 0 0 0 1 1

8
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Floating Point

Binary numbers can also have decimal points, and to show you how,we will once
again begin with decimal numbers. For decimal numbers with decimal points, the
standard way to represent the digits to the right of the decimal point is to continue
the powers of ten in descending order starting with -1 where 10-1=1/10th = 0.1.
That means that the number 6.5342 has 5 increments of 10 -1 (tenths), 3
increments of 10-2 (hundredths), 4 increments of 10-3 (thousandths), and 2
increments of 10-4 (ten-thousandths). The table below shows this graphically.

Exponent 3 2 1 0 -1 -2 -3 -4
Position value 1000 100 10 1 0.1 0.01 0.001 0.0001
Sample values 0 0 0 6 5 3 4 2

Therefore, our example has the decimal value


6*1 + 5*0.1 + 3*0.01 +4*0.001 + 2*0.0001 = 6.5342.
Binary representation of real numbers works the same way except that each
position represents a power of two, not a power of ten. To convert 10.01101 to
decimal for example, use descending negative powers of two to the right of the
decimal point.

Exponent 2 1 0 -1 -2 -3 -4 -5
Position value 4 2 1 0.5 0.25 0.125 0.0625 0.03125
Sample values 0 1 0 0 1 1 0 1
Therefore, our example has the decimal value
0*4 + 1*2 + 0*1+0*0.5 + 1*0.25 + 1*0.125 + 0*0.0625 + 1*0.03125 = 2.40625.

9
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

This means that the method of conversion is the same for real numbers as it is for
integer values; we've simply added positions representing negative powers of
two.
Computers, however, use a form of binary more like scientific notation to
represent floating-point or real numbers. For example, with scientific notation we
can represent the large value 342,370,000 as 3.4237 x 108. This representation
consists of a decimal component or mantissa of 3.4237 with an exponent of 8.
Both the mantissa and the exponent are signed values allowing for negative
numbers and for negative exponents respectively.
Binary works the same way using 1's and 0's for the digits of the mantissa and
exponent and using 2 as the multiplier that moves the decimal point left or right.
For example, the binary number 100101101.010110 would be represented as:
1.00101101010110 * 28
The decimal point is moved left for negative exponents of two and right
for positive exponents of two.
The IEEE Standard 754 is used to represent real numbers on the majority of
contemporary computer systems. It utilizes a 32-bit pattern to represent single-
precision numbers and a 64-bit pattern to represent double-precision numbers.
Each of these bit patterns is divided into three parts, each part representing a
different component of the real number being stored. Figure below shows this
partitioning for both single and double-precision numbers.

11
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Both formats work the same differing only by the number of bits used to
represent each component of the real number. In general, the components of the
single-precision format are substituted into Equation 1 where the sign of the value
is determined by the sign bit (0 –positive value, 1 – negative value). Note that E is
in unsigned binary representation.

(+\-) 1. F x 2(E-127) (1)

Equation 2 is used for the double-precision values.

(+\-) 1. F x 2(E-1023) (2)


In both cases, F is preceded with an implied '1' and a binary point.
There are, however, some special cases. These are as follows:
• Positive, E=255, F=0: represents positive infinite;
• Negative, E=255, F=0: represents negative infinite; and
• Positive or negative, E=0, F=0: represents zero.
Sign bit Exponent, E Fraction, F 1 bit 8 bits 23 bits

Example

11
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Convert the 32-bit single-precision IEEE Standard 754 number shown below into
its binary equivalent.
11010110101101101011000000000000
Solution

First, break the 32-bit number into its components.

A sign bit of 1 means that this will be a negative number.


The exponent, E, will be used to determine the power of two by which our
mantissa will be multiplied. To use it, we must first convert it to a decimal integer
using the unsigned method.
Exponent, E = 101011012
= 27 + 25 + 23 + 22 + 20
= 128 + 32 + 8 + 4 + 1
= 17310
Substituting these components into Equation 1 gives us:
(+\-)1.F x 2(E-127) = –1.01101101011000000000000 x 2(173-127)
= –1.01101101011 x 246
Example
Create the 32-bit single-precision IEEE Standard 754 representation
of the binary number 0.000000110110100101
Solution
Begin by putting the binary number above into the binary form of scientific
notation with a single 1 to the left of the decimal point. Note that this is done by
moving the decimal point seven positions to the right giving us an exponent of –
7.
12
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

0.000000110110100101 = 1.10110100101 x 2-7

The number is positive, so the sign bit will be 0. The fraction (value after the
decimal point and not including the leading 1) is 10110100101 with 12 zeros
added to the end to make it 23 bits. Lastly, the exponent must satisfy the
equation:

E – 127 = –7
E = –7 + 127 = 120
Converting 12010 to binary gives us the 8-bit unsigned binary value 011110002.
Substituting all of these components into the IEEE 754format gives us:

Therefore, the answer is 00111100010110100101000000000000.

Information System

Information systems (IS) collects, processes, stores, analyzes, and


disseminates information for a specific purposes, like any other system ,an
information system include inputs(data, instructions)and outputs(reports,
calculations).

It processes the inputs and produces outputs that are sent to the user or other
system. Feedback mechanism that controls the operation may be included. Like
any other system, an information system operates within an environment.

It is important to note the differences between data, information, and knowledge.

13
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Data:

Are raw facts or elementary descriptions of things, events, activities, and


transactions that are captured, recorded, stored, and classified but not organized to
convey any specific meaning.

Examples of data would include grade point averages, bank balances, or the
number of hours employees worked in a pay period.

Information:

Is collection of facts (data) organized in some manner so that they are


meaningful to a recipient, for example, if we include student name with grade
point averages, customer names with bank balances, and employees' wages with
hours worked, we would have useful information.

Knowledge:

Consists of information that has been organized and processed to convey


understanding experiences, accumulated learning, and expertise as it applies to a
current business problem or process.

A computer goes through four operations when it process data into


information.

( Input, processing, output and storage)

1- Input operation: data is entered or otherwise captured electronically and is


converted to a form that can be processed by the computer. The means for
capturing data (raw, unsorted facts) is input hardware, such as keyboard.

14
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

2- Processing operation: the data is manipulated to process or transform it into


information for example numbers may be added or subtracted.

3- Output operation: the information which has been processed from the data is
produced in form usable by people. Examples of output are printed text, sound,
and charts and graphs displayed on computer screen.

4- Secondary storage operation: the information and programs are stored in


computer -processable form.

Computer

Is programmable, multiuse that accepts data- raw facts and figures and
processes, or manipulates, it into information that can use, such as summaries or
totals. Its purpose is to speed up problem solving and increase productivity.

15
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Also is a programmable machine designed to sequentially and


automatically carry out a sequence of arithmetic or logical operations. The
interface between the computer and the human operator is known as the user
interface.

Digital computer

The digital computer is a digital system that performs various


computational tasks. The word digital implies that the information in the
computer is represented by variables that take a limited number of discrete
values. Digital computer use the binary number system, which has two digits: 0
and 1.

Digital computer classification

Digital computer can be classified by their size and power as follows

1- micro computer: a small single user computer based on a microprocessor that


is the most familiar kind of computer is the microcomputer. There are two types
of microcomputer which are

i- Personal computer (PC) this machine ran reasonably to use applications


software such as word processor. The personal computer has microprocessor,
keyboard for entering data, a monitor for displaying information, and a storage
device for saving for saving data.

ii- workstations: is a powerful single user computer like a personal computer,


but it has a more powerful microprocessor and high quality monitor.

2- MINI computer: a multi user computer capable of supporting 10 to hundreds of


users simultaneously, this computer works distributed data processing (DDP).

16
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

3-Mainframes computer: is a powerful multiuser computer capable of supporting


many hundreds of users simultaneously. These computers process several
million-program instructions per second. Large organizations rely on these room
size systems to handle large programs with lots of data.

4- Supercomputer: is a very fast computer that can perform hundreds of millions


of instructions per second. These computers are the fastest calculating devices.
These computers are used by government agencies.

Computer system

Computer system is divided into two functional entities:

1- Hardware: the hardware of the computer consists of all the electronic


components and electromechanical devices that comprise the physical entity of
the device. The hardware of the computer is usually divided into three major
parts:

i- the central processing unit(CPU): contains an arithmetic and logic unit


for manipulating data, a number of registers for temporary storing, and control
circuits for fetching and executing instructions.

ii- the memory of a computer for saving instructions and data. It is called a
random access memory (RAM) because the CPU can access any location in
memory at random and retrieve the binary information within a fixed interval of
time.

iii- the input-output devices connected to the computer include: keyboard,


printers, terminals, magnetic disk drivers, and other communication devices. The
input and output processor (IOP) contains electronic circuits for communicating
and controlling the transfer of information between the computer and the outside
world.

17
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Random Access Memory

(RAM)

Central Processing Unit

(CPU)

Input- Output Processing


Input Output
devices (IOP) devices

2- Software: the software of the computer consists of the instructions and data
that the computer manipulates to perform various data processing tasks. A
sequence of instructions is called a program.

A computer system is composed of its hardware and the system software


available for its use. The system software of a computer consists of a collection of
programs whose purpose is to make more effective use of the computer. The
programs included in a system software package are (operating system). They are
distinguished from application programs which written by the user for the
purpose of solving particular problems, for example, office programs are
application programs while the compiler is a system program.

Practical computer systems divide software into three major classes:

18
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

System software, programming software and application software

• System software helps run the computer hardware and computer system. It
includes operating systems, device drivers, diagnostic tools, servers, windowing
systems, utilities and more. The purpose of systems software is to insulate the
applications programmer as much as possible from the details of the particular
computer complex being used, especially memory and other hardware features,
and such accessory devices as communications, printers, readers, displays,
keyboards, etc.

• Programming software usually provides tools to assist a programmer in writing


computer programs and software using different programming languages in a
more convenient way. The tools include text editors, compilers, interpreters,
linkers, debuggers, and so on. A programmer may not need to type multiple
commands for compiling, interpreter, debugging, tracing, and etc.,

• Application software allows end users to accomplish one or more specific (non-
computer related) tasks. Typical applications include industrial automation,
business software, educational software, medical software, databases, and
computer games. Businesses are probably the biggest users of application
software, but almost every field of human activity now uses some form of
application software. It is used to automate all sorts of functions.

Main Parts of a Personal Computer

1-The System Unit

• The "system unit" is the name given to the main PC box which houses the
various elements which go together to make up the PC. For instance within the
system unit is the computer system's motherboard, which contains all the main
components, such as the CPU. The system unit also houses items such as the hard
disk, the floppy disk and CD-ROM drives etc.

19
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

2-The System (Mother) Board

• The system (mother) board is contained within your system unit and all the vital
computer systems plug directly into the system board. The CPU is normally
housed on your system board along with all the other electronic components.
Other items such as the hard disk are attached to the system board, either directly
or via cables. These boards are getting smaller and smaller as the components
become more integrated.

3-The CPU

21
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

The CPU (Central Processing Unit) is normally an Intel Pentium (or


equivalent) and it is one of the most important components within your computer.
It determines how fast your computer will run and is measured by its MHz or
GHz speed. Thus, a 2 GHz Pentium is much faster than say a GHz Pentium CPU.
It is the CPU which performs all the calculations within the computer, when
running programs such as word-processors, spreadsheets and databases.

4-Memory (RAM)

The RAM (Random Access Memory) within your computer is where the
operating system is loaded to when you switch on your computer and also where
your applications are copied to when you start an application, such as a word
processor or database program. When you create data, (e.g. letters and pictures),
these are initially created and held in RAM and then copied to disk when you
save the data. As a rule of thumb, the more RAM you have installed in your
computer the better.

5-ROM-BIOS

The ROM-BIOS (Read Only Memory - Basic Input Output System) chip is a
special chip held on your computer's system (mother) board. It contains software
which is required to make your computer work with your operating system, for
instance it is responsible for copying your operating system into RAM when you
switch on your computer.

6-Serial Port

The serial port is a socket located at the back of your computer which
enables you to connect items to the computer, such as a modem. They are
commonly labeled as COM1 or COM2.

21
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

7- Parallel Port

• The parallel port is a socket located at the back of your computer which enables
you to connect items to the computer, such as a printer. It is commonly labelled
as LPT1 or LPT2.

8-Universal Serial Bus (USB)

• The Universal Serial Bus is a relatively new item within the PC. You will see
one or more USB sockets at the back of the system unit, allowing you to plug in
devices designed for the USB. These devices include printers, scanners and
digital cameras.

9-Output devises like Monitor

10-Input devices like mouse

Programming languages

Programming languages provide the basic building blocks for all systems
and application software. Programming languages allow people to tell computers
what to do and are the means by which software systems are developed, we will
describe the five generations-levels-of programming languages:

22
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

1) Machine language

Is the lowest-level computer language, consisting of the internal


representation of the instructions and data. This machine code-the actual
instructions understood and directly executable by the CPU is composed of
binary digits. Machine language is the only programming language that the
machine actually understands, therefore, machine language is considered the first-
generation language .all other languages must be translated into machine
language before the computer can run the instructions because computer's CPU is
capable of executing only machine language programs.

Machine language is extremely difficult to understand and use by programmers.


As a result, increasingly more user-friendly languages have been developed.

These user oriented languages make it much easier for people to program.

But they are impossible for the computer to execute without first translating
the program into machine language.

The set of instructions written in a user _oriented language is called a source


program.

The set of instructions produced after translation into machine language is


called the object program.

Programming in a higher _level language (i.e., a user oriented language) is


easier and less time consuming but additional processor time is required to
translate the program before it can be executed.

2) Assembly language

Assembly languages are considered second-generation languages; it is


more user-friendly because it represents machine language instructions and data

23
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

locations in primary storage by using mnemonics, which people can more easily
use.

Compared to machine language, assembly language eases the job of the


programmers.

Translating an assembly language program into machine language is


accomplished by system software program called an assembler.

3) Procedural language

• Called third-generation language

• Procedural language are much closer to natural language (the way we talk) and
therefore, are easier to write, read.

• Procedural language use common words rather than abbreviated mnemonics.

• There are three examples of procedural languages FORTRAN, COBOL, and C.

4) Nonprocedural languages

• Called fourth-generation language.

• They can be used by non technical users to carry out specific functional tasks.

• These languages simplify the programming process as well as reduce the


number of coding errors.

• They are common in database applications as query languages, report


generators.

5) Natural languages

• Are called fifth –generation languages or" intelligent language"

• They are use mnemonics and tables.

24
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

• Most of these languages are still experimental because the programs that are
translate natural language into machine – readable form are extremely complex
and require a large amount of computer resources.

Secondary Storage

Secondary storage is designed to store very large amounts of data for


extended periods of time .secondary storage can have memory capacity of
gigabyte or more; only small portions of the data are placed in primary storage at
any one time. Secondary storage has the following Characteristics:

1-it is nonvolatile

2-it takes much more time to retrieve data from secondary storage than it does
from RAM

3-it much more cost effective than primary storage

4-it can take place on a variety of media each with its own technology, as is
cussed below:

a) Magnetic tape

b) Magnetic disc

c) Magnetic diskette (floppy disc)

d) Optical disc

Disks

Features of magnetic disks (hard disks)

1. Disks are randomly accessed

25
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

2. Disks are of size and shape similar to a long-playing record

3. The surfaces of each disk are of magnetic able material.

4. Each disk surface is divided into a number of concentric tracks (typically 200).

5. Disks are placed on pack and each pack may have 6 or 11 disks and is used as a
single unit.

6. The latest models of disk packs can store many hundreds of megabytes of data
(i.e. hundreds of millions of characters).

Hard Disk Performance:

Several basic parameters determine the performance of a given hard disk


drive. A seek operation is the movement of the read/write head to the desired
track.

1- Seek Time: A seeks time is the movement of the read\write head to the desired
track. The seek time is the average time for this operation to be performed.
Typically, hard disk drives have an average seek time of several milliseconds,
depending on the particular drive.

2- Latency Time: The latency period is the time takes for the desired sector to
spin under the head once the head is positioned over the desired track. Latency
time depend on the constant rotational speed of the disk.

• The sums of average seek time and the average latency time is the access time
for the disk drive.

26
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Floppy

Features of floppy disks

1-apliable disk permanently sealed with a rigid, protective plastic envelope.

2- They have random access facility.

3- Data are stored in concentric tracks

4-the floppy disks sizes are 8, 5 1/4, 3 1/2 inch.

5-storing capacity of 3 1/2 inch disks is 1.44 megabytes i.e. one million four
hundred thousand characters.

CD-Rom

Features of optical disks

1-this is a random access device.

2- Data is written into the disk by burning a permanent pattern into the surface of
the disk by means of high precision laser beam.

27
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

3-data is read by using the laser at lower intensity and detecting the pattern
reflected from its beam by the surface of the disk there are many types of optical
disks:

1-compact disk read-only memory (CD-ROM) storing devices feature high


capacity, low cost.

It has become popular for recorded music as well as information (such as books)
a variant is the digital video disk (DVD), used for movies.

2- Write once, read many (WORM) disk can be written.

3-rewritable CD is a less common technology that allows the disk to be written


upon and written up to 1.000 times.

Computer Architecture

Introduction to Computer Architecture

• Most computers have similar architectures that combine software and hardware.

1-Hardware

• The term hardware refers to the physical components of your computer such as
the system unit, mouse, keyboard, monitor, processors, memory and peripheral
devices etc...

2-Software

• The software is the collection of instructions which makes the computer work.
For instance, when you type in words via the keyboard, the software is
responsible for displaying the correct letters, in the correct place on the screen.
Software is held either on your computer’s hard disk, CD-ROM, DVD or on a

28
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

diskette (floppy disk) and is loaded (i.e. copied) from the disk into the computers
RAM (Random Access Memory), as and when required.

Software includes the operating system which controls the computer hardware
and application software, such as word processing, spreadsheets, etc…

1-Hardware

The hardware of personal computers can be classified into the following


components

A-CPU (Processor)

B- Buses

C-Memory

D-Input Unit

E-Output Unit

A-Processor Architecture

The CPU (Central Processing Unit) also called (processor or


microprocessor) is the brain of the computer that located on the motherboard and
is an integrated circuit that contains millions and millions of transistors and other
electrical components, the CPU is a mere small silicon chip that runs the whole
computer, it is one of the most important components within your computer. It
determines how fast your computer will run and is measured by its MHz or GHz
speed. Thus, a 2 GHz Pentium is much faster than say a GHz Pentium CPU. It is
the CPU which performs all the calculations within the computer, when running
programs such as word-processors, spreadsheets and databases.

The central processing unit (CPU) perform the actual computation inside
any computer, the CPU is a microprocessor for example, Pentium ΙΙΙ) made up of
29
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

millions of microscopic transistors embedded in a circuit on a silicon wafer or


chip.

The microprocessor has different portions which perform different


functions:

1-Control Unit: this controls the flow of information.

2-Arithmetic Logic Unit (ALU) performs arithmetic calculations.

3-Registers: which store very small amount of data and instructions for short
period of time.

4- Buses

Control Unit

-Direct and coordinates all units of the computer to execute program steps.

-Direct and coordinate all operations of the computer systems.

These operations include;

1- Control to the input and output devices.

2- Entry and retrieval of information and instructions from memory.

3- Routing of information between the memory, arithmetic and logic unit.

4- the control unit has a special feature known as the interrupt (it will tell the CPU
to put aside one operation and to instead begin work on another operation).

Control unit automatically coordinates the operation of the entire computer


system, although the control unit does not performed any actual processing on the
data, it acts as a central nervous system uses to sent control signal to other units.

31
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

The control unit carries out the instructions in four basic operations known as the
machine cycle which consists of

1- Fetches an instruction.
2- Decodes the instruction.
3- Executes the instruction.
4- Stores the results.

ALU

Is the part of the central processing that performing the actual computing. The
ALU Perform the processing of data including arithmetic operations such as
addition, subtraction, multiplication, division and logic operation including
sorting and comparison (like A<B), this operation is useful because the ALU
could have instructions saying "perform this operation if these two numbers are
equal, but perform another operation if the first number is greater than the
second".

Registers

Register are devices capable of storing information, receiving data from


other areas within the computer and transferring information as directed by the
control unit, the data contained here can accessed much quicker than the data
contained in other memory locations such as RAM and ROM, it is used for
temporary storage of data or instruction and the most important register are:

1- Program counter (PC): it contains the address of the next instruction to be


executed.

2- Instruction register (IR): it contains the instruction being executed.

3- Address register (AR): holds the address of memory location.

31
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

4- Accumulator it is register that holds the data to be used in arithmetic and logic
operations.

5-(B, C, D, E, F, H, and L) registers: these registers contain the data for executing
the operations.

Registers in different parts of the CPU are used for different functions. In the
control unit , the registers are used to store the current instruction and the
operands while the registers found in the ALU called accumulators, are used to
store the results of the arithmetic or logical operations.

Path of data flow through the CPU:

1- The instructions for the CPU originate in software. They are usually stored in
floppy disks, hard disks, or CD-ROMs.

2- These software instructions make their way to the RAM(random access


memory).

3- The control unit fetches the instructions and brings them to the CPU.

4- The instructions are stored in special registers in the CPU, and the program
counter increments, allowing the instructions to be sequentially performed.

5- When the CPU is ready, the instructions coming next in the sequence are sent
to the instruction decoder, it is determined what exactly the instructions say and
what the computer must do.

6- The address bus and data bus now come into use. The address bus will send the
address of the data that the CPU needs to the memory, and then the data bus will
retrieve the data found at that address.

7- The instructions are carried out in the ALU, where the computations are made.

32
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

8- After the results of operations are calculated, they are temporarily stored in
registers in the CPU for quick and easy access.

B-Busses (data roadways)

Buses or bus lines are electrical data roadways through which bits are
transmitted within the CPU and between the CPU and other components of the
motherboard. A bus resembles a multilane highway: the more lanes it has, the
faster bits transferred. The old fashion (8-bits word) bus of early microprocessors
had only eight pathways. Data is transmitted four times faster in a computer with
a 32 bit bus ,which has 32 pathways, than in a computer with an 8-bit bus.

For example Macintosh G4 microcomputers contain buses that are 128 bits.
The various components of the CPU are connected together with lines called
internal lines (internal bus). The lines connected the CPU to the reminder of the
computer components are called external lines (external buses). A computer main
memory is interfaced to the CPU through three groups of lines or buses: data bus,
address bus, control bus.

C-Memory

Memories are one of the most important parts of a computer system. The
term memory refers to any device that can be used for storage. There are three
basic ways to store memory. One way is to store the memory within the actual
circuitry of the computer (main memory), which allows for it to be quickly
accessed by the CPU. These memory devices are generally used for temporary
storage of data and programs that are currently used by the CPU. The second type
of memory storage is to store the memory in external storage devices (secondary
memory). They include hard drives(disks), floppy disks, and CD-ROM. Programs
and information that you are not currently using can be permanently stored on
33
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

these devices. The third type of memory is cache memory which serves as
intermediate temporary storage unit logically positioned between the processor
registers and main memory The term "memory" usually pertains to the devices
stored within the circuitry of the computer. They are temporary, meaning that
when the computer is turned off, they will be deleted. These devices are
connected directly to the CPU and are pretty fast.

The total memory capacity of a computer can be visualized as being a


hierarchy of components. The memory hierarchy system consist of all storage
devices employed in a computer system. The reason of having three levels of
memory hierarchy is economics , as the storage capacity of the memory increases
,the cost per bit for storing binary information decreases and the access time of
the memory become longer figure below illustrates the components in a typical
memory hierarchy.

Secondary memory
(magnetic tapes,
I/O processor Main memory
magnetic disk,…..)

CPU Cache memory

In addition, most current computer operating systems allow for the use of virtual
memory, that is some free hard disk space is used to extend the capacity of RAM.

34
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Primary storage

Is temporary or working storage and is often called memory or main


memory, there are four principle types of memory chips are RAM, ROM, CMOS,
and flash

RAM chips

The RAM (Random Access Memory) within your computer is where the
operating system is loaded to when you switch on your computer and also where
your applications are copied to when you start an application, they temporarily
hold (1) software instructions and (2)data after and before processed by the CPU.
Because its contents are temporary, RAM is said to be volatile (the contents are
lost when the power is turned off). There are three types of RAM used in personal
computers:

1- Dynamic RAM (DRAM) must be constantly refreshed by the CPU or it will


lose its contents.

2- Synchronous dynamic RAM (SDRAM) which is synchronized by the system


clock and it is faster than RAM.

3-Static RAM (SRAM) it is the faster and will retain its contents without having
to be refreshed by the CPU.

Microcomputers come with different amount of RAM, which is usually measured


in megabytes, the more RAM you have, the faster the computer operates and the
better your software performs.

If you are short on memory capacity, you can usually add more chips by plugging
them into expansion slots on the motherboard.

35
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

ROM chips

The ROM-BIOS (Read Only Memory - Basic Input Output System) chip is a
special chip held on your computer's system (mother) board. It used to store fixed
start up instructions: unlike RAM the ROM cannot be written on or erased by the
computer user without special equipment.ROM chips are loaded at the factory
with programs containing special instructions for basic computer operations, such
as those that start the computer or put characters on the screen. These chips are
nonvolatile (their contents are not lost when power is turned off). A special kind
of ROM (programmable read only memory (PROM)) allows user to load
programs and data but this can done only once.

Note: in computer technology, read means to transfer data from input source to
the computer memory or CPU, while the write means to transfer data from CPU
or memory to output devices. Thus with ROM chip the CPU can retrieve
programs from the ROM chip but cannot modify or add to those programs.

36
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

COMS chips (complementary metal oxide semiconductor):

Store flexible start up instructions and powered by a battery and thus do not
lose their contents when the power is turned off. CMOS chips contain flexible
start up instructions like time, date, and calendar. Unlike ROM chip the CMOS
chip can be reprogrammed to change time as example.

Flash memory

This chip store flexible programs and nonvolatile form of memory but it can
be erased and reprogrammed more than once. It capacity ranged from (1 to 4000
megabytes). It used to store programs not only in personal computer but also in
cell phone, printers, and digital camera.

Cache memory

Is special very fast memory used to increase the speed of processing by


making current programs and data available to the CPU at a rapid rate. It is
employed in computer systems to compensate for the speed difference between
main memory access time and processor logic. CPU logic is faster than main
memory access time.

Input devices

Input devices allow you to input information to the computer and include
things such as the keyboard and mouse.

Output devices

Output devices allow you to output information from the computer and
include the printer and the monitor.

37
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Peripheral devices

A peripheral device is any device which you can attach to your computer.
Thus, you could attach a scanner or modem to the back of your system unit.

D-Input devices

Keyboard

Is the most common input device the keyboard is designed like a typewriter
but with additional function keys. It is what you use to type in letter numbers and
other characters.

Touch screen

Is a technology that divides the computer screen into different areas. Users
simply touch the desired area (often buttons or squares) to trigger an action.

Mouse

Mouse is hand held device used to point a cursor at a desired place on


screen, such as an icon, cell in a table.

38
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Scanners

A scanner allows you to scan printed material and convert it into a file
format which may be used within the PC. You can scan pictures and then
manipulate these inside the PC using a graphics application of your choice. In
addition, you can scan printed text and convert this not just to a picture of the text
but also to, actual text which can be manipulated and edited as text within your
word-processor. There are a number of specialist programs, generically called
OCR (Optical Character Recognition) programs which are specifically designed
for converting printed text into editable text within your applications.

Digital camera

you can take pictures and digital cameras convert these pictures to digital form so
they can be used on the computer.

Output devices

Display

Are the video screens used with most computers that display input as well
as output like television sets, monitors come in a variety of sizes and
color/resolution quality .and like television sets, the common desktop monitor
uses cathode ray tube (CRT) technology to shoot beams of electrons to the screen.
The points on the screen known as pixels, the more pixels on the screen, the
better resolution.

39
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Here are some other useful facts about monitors:

1-portable computers use a flat screen that uses liquid crystal display (LCD)
technology not (CRT)

2-LCDs use less power than CRT monitors but cost six to eight times what an
equivalent CRT

Printer

There are three types of printers:

1-impact printers:

Work like typewriters, using some kind of striking action, raised metal
character strikes an inked ribbon that makes a printed impression of the character
on the paper, these devices cannot produce high-resolution graphics, and they are
relatively slow, noisy, and subject to mechanical failure, although inexpensive,
they are becoming less popular.

2- Nona pact printers

Come in two styles laser printers. Are higher speed, high _quality devices
that uses laser beams to write information on photosensitive drums, laser printers
produce very high quality resolution text and graphics.

Inject printers: work differently, by shooting fine streams of colored ink onto
the paper. These are less expensive than laser printers, but offer less resolution
quality.

Translator

A translator is program that takes as input a program written in a given


programming language (the source program) and produce as output program in
another language (the object or target program). As an important part of this
41
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

translation process, the compiler reports to its user the presence of errors in the
source program.

Assemblers

Is a translator takes assembly language as a source language, and the object

program is machine language.

Interpreters

Another kind of translator which process an internal form of the source


program and data at the same time. That is interpretation of the internal source
from occurs at run time and an object program is generated.

41
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Compilers

Is a program (translator) that reads a program written in one language, (the

source language) in high level language and translates into an equivalent program
in machine language (the target language).

Linkers

A utility program that combines one or more files containing object code
from separately compiled program modules into a single file containing loadable
or executable code. the function of a linker is to take as input a collection of
object modules and produce a load module, consisting of an integrated set of
program and data modules, to be passed to the loader. In each object module,
there may be address references to locations in other modules. Each such
reference can only be expressed symbolically in an unlinked object module. The
linker creates a single load module that is the contiguous joining of all of the
object modules. Each intramodule reference must be changed from a symbolic
address to a reference to a location within the overall load module.

Most programs consist of more than one procedure. Compilers and


assemblers generally translate one procedure at a time and put the translated
output on disk. Before the program can be run, all the translated procedures must
be found and linked together properly. If virtual memory is not available, the
linked program must be explicitly loaded into main memory as well. Programs

42
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

that perform these functions are called by various names, including linker, linking
loader, and linkage editor. The complete translation of a source program requires
two steps, as shown in Figure below:

1. Compilation or assembly of the source procedures.

2. Linking of the object modules.

The first step is performed by the compiler or assembler and the second one
is performed by the linker.

The translation from source procedure to object module represents a change


of level because the source language and target language have different
instructions and notation. The linking process, however, does not represent a
change of level, since both the linker’s input and the linker’s output are programs
for the same virtual machine. The linker’s function is to collect procedures
translated separately and link them together to be run as a unit called an
executable binary program.

LINKAGE EDITOR:

The nature of this address linkage will depend on the type of load module to
be created and when the linkage occurs. If, as is usually the case, a relocatable
load module is desired, then linkage is usually done in the following fashion.
Each compiled or assembled object module is created with references relative to

43
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

the beginning of the object module. All of these modules are put together into a
single relocatable load module with all references relative to the origin of the load
module. This module can be used as input for relocatable loading or dynamic run-
time loading. A linker that produces a relocatable load module is often referred to
as a linkage editor.

DYNAMIC LINKER

As with loading, it is possible to defer some linkage functions.The term


dynamic linking is used to refer to the practice of deferring the linkage of some
external modules until after the load module has been created.Thus, the load
module contains unresolved references to other programs. These references can
be resolved either at load time or run time.

For load-time dynamic linking, the following steps occur. The load module
(application module) to be loaded is read into memory. Any reference to an
external module (target module) causes the loader to find the target module, load
it, and alter the reference to a relative address in memory from the beginning of
the application module. There are several advantages to this approach over what
might be called static linking:

• It becomes easier to incorporate changed or upgraded versions of the target


module, which may be an operating system utility or some other general purpose
routine. With static linking, a change to such a supporting module would require
the relinking of the entire application module. Not only is this inefficient, but it
may be impossible in some circumstances.

• Having target code in a dynamic link file paves the way for automatic code
sharing. The operating system can recognize that more than one application is
using the same target code because it loaded and linked that code. It can use that

44
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

information to load a single copy of the target code and link it to both
applications, rather than having to load one copy for each application.

• It becomes easier for independent software developers to extend the


functionality of a widely used operating system such as Linux. A developer can
come up with a new function that may be useful to a variety of applications and
package it as a dynamic link module.

With run-time dynamic linking, some of the linking is postponed until


execution time. External references to target modules remain in the loaded
program. When a call is made to the absent module, the operating system locates
the module, loads it, and links it to the calling module. Such modules are
typically shareable. In the Windows environment, these are call dynamic-link
libraries (DLLs) Thus, if one process is already making use of a dynamically-
linked shared module, then that module is in main memory and a new process can
simply link to the already-loaded module.

Loaders

A program routine that copies an executable program into memory for


execution. In general, three approaches can be taken:

• Absolute loading

• Relocatable loading

• Dynamic run-time loading

ABSOLUTE LOADING An absolute loader requires that a given load module


always be loaded into the same location in main memory. Thus, in the load
module presented to the loader, all address references must be to specific, or
absolute, main memory addresses.

45
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

The assignment of specific address values to memory references within a


program can be done either by the programmer or at compile or assembly time.
There are several disadvantages to the former approach. First, every programmer
would have to know the intended assignment strategy for placing to satisfy this
new requirement, the assembler or compiler produces not actual main memory
addresses (absolute addresses) but addresses that are relative to some known
point, such as the start of the program. The start of the load module is assigned
the relative address 0, and all other memory references within the module are
expressed relative to the beginning of the module.

With all memory references expressed in relative format, it becomes a


simple

task for the loader to place the module in the desired location. If the module is to
be loaded beginning at location x, then the loader must simply add x to each
memory reference as it loads the module into memory. To assist in this task, the
load module must include information that tells the loader where the address
references are and how they are to be interpreted (usually relative to the program
origin, but also possibly relative to some other point in the program, such as the
current location). Second, if any modifications are made to the program that
involve insertions or deletions in the body of the module, then all of the addresses
will have to be altered. Accordingly, it is preferable to allow memory references
within programs to be expressed symbolically and then resolve those symbolic
references at the time of compilation or assembly. Every reference to an
instruction or item of data is initially represented by a symbol. In preparing the
module for input to an absolute loader, the assembler or compiler will convert all
of these references to specific addresses.

RELOCATABLE LOADING The disadvantage of binding memory references


to specific addresses prior to loading is that the resulting load module can only be

46
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

placed in one region of main memory. However, when many programs share
main memory, it may not be desirable to decide ahead of time into which region
of memory a particular module should be loaded. It is better to make that decision
at load time. Thus we need a load module that can be located anywhere in main
memory.

DYNAMIC RUN-TIME LOADING Relocatable loaders are common and


provide obvious benefits relative to absolute loaders. However, in a
multiprogramming environment, even one that does not depend on virtual
memory, the relocatable loading scheme is inadequate. We have referred to the
need to swap process images in and out of main memory to maximize the
utilization of the processor. To maximize main memory utilization, we would like
to be able to swap the process image back into different locations at different
times. Thus, a program, once loaded, may be swapped out to disk and then
swapped back in at a different location. This would be impossible if memory
references had been bound to absolute addresses at the initial load time. The
alternative is to defer the calculation of an absolute address until it is actually
needed at run time. For this purpose, the load module is loaded into main memory
with all memory references in relative form. It is not until an instruction is
actually executed that the absolute address is calculated. To assure that this
function does not degrade performance, it must be done by special processor
hardware rather than software.

Dynamic address calculation provides complete flexibility. A program can


be loaded into any region of main memory. Subsequently, the execution of the
program can be interrupted and the program can be swapped out of main
memory, to be later swapped back in at a different location.

47
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Operating systems and Windows

Supervise the overall operation of the computer, including monitoring the


computer's status and scheduling operations, which include input and output
processes. In addition, the operating system allocates CPU time and main
memory to programs running on the computer, and is also provides an interface
between the user and the hardware.

The operating system provides services that include process management, virtual
memory, file management, security, fault tolerance, and the user interface.

Process management

Means managing the program or programs (also called jobs) running on the
processor at a given time, in the simplest case (a desktop operating system), the
operating system loads a program into main memory and execute it. Some
operating system offer more other forms of process management such as
multitasking, multithreading, and multiprocessing.

Multitasking:

Multitasking or multiprogramming is the management if two or more tasks


,or programs running on the computer system at the same time ,the first program
is executed until an interruption occurs ,such as request for input, while the input
request is handled, the execution of second program begins because switching
among these programs occurs so rapidly, they appear to be executing at the same
time ,however, because there is only processor, only one program is actually in
execution mode at any one time.

48
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

Multithreading:

Is a form of multitasking that focuses on running multiple tasks within


single application simultaneously, For example, a word processing application
may edit one document while another document is being spell checked.

Time-sharing:

Is an extension of multiprogramming in this mode, a number of users


operate online with the same CPU , but each uses a different input/output
terminal. The programs of these users are placed into partitions in primary
storage, execution of these programs rotates among all users, occurring so rapidly
that it appears to each user as though he or she were the only one using the
computer.

Multiprocessing

Occurs when a computer system with two or more processors can run more
than one program, or thread, at a given time by assigning them to different
processors, multiprocessing uses simultaneous processing with multiple CPUs.

Virtual memory

Simulates more main memory than actually exists in the computer system.
it allows a program to behave as if it had access to the full storage capacity of a
computer, rather than just access to the amount of primary storage installed in the
computer. Virtual memory divides an application program or module into fixed –
length portions called pages. The system executes some pages of instructions
while pulling others from secondary storage. In effect, primary storage is
extended into a secondary storage device, allowing users to write programs as if
primary storage were larger than it actually is. This enlarged capability boosts the

49
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

speed of the computer and allows it to efficiently run programs with very large
numbers of instructions.

File management and security

The operating system is responsible for file management and security,


managing the arrangement of, and access of, files held in secondary storage. the
operating system creates and manages a directory structure that allows files to be
created and retrieved by name. and it also may control access to those files based
on permission and access controls. The operating system

provides other forms of security as well, for example, it must typically provide
protected memory and maintain access control on files in the file system, the
operating system also must keep track of users and their authority level, as well as
audit changes to security permissions.

Fault tolerance

Is the ability as a system to produce correct results and to continue to operate


even in the presence of faults or errors. fault tolerance can involve error
correcting memory, redundant computer components. And related software that
protects the system from hardware, operating system, or user errors.

Common Operating System Tasks

1-monitoring performance

2-correcting errors

3-providing and marinating the user interface

4-starting'booting' the computer

5-reading the program into memory

51
‫م علي عبد العزيزالقزاز‬.‫م‬ ‫تقنيات الحاسوب‬

6-managing memory allocation to those programs

7-placing files and programs in secondary storage

8-creating and main ting directories.

9-formatting diskettes

10-controling the computer monitor

11-sending jobs to printers

12-maintying security and limiting access

13-locating files

14-detecting viruses

15-compressing data

51

Das könnte Ihnen auch gefallen