6. Information storage
• 1 bit
• 8 bits
• 16 bits
• 32 bits
• 64 bits
• bit (1 or 0)
• byte (octet) (28
)
• word (216
)
• double (232
)
• long double (264
)
Encoding information on a fixed element of length n with a
base b gives bn
non-redundant possibilities
R-tech Computer Education Institute
7. Information coding
• Binary
0 or 1
• Octal
0-7
• Hexadecimal
0-9+A-F
• Decimal
0-9
• How to count
• 128+32+16+4+1=
181 (decimal)
265 (octal)
B5 (hexadecimal)
• Signed vs unsigned
0 to 255
-127 to +127
128 64 32 16 8 4 2 1
1 0 1 1 0 1 0 1
R-tech Computer Education Institute
8. Operations on bits
• Booleans:
0 = false = no
1 = true = yes
• Operators:
AND
OR
XOR
NOT
• Example tables
AN
D
0 1
0 0 0
1 0 1
OR 0 1
0 0 1
1 1 1
XO
R
0 1
0 0 1
1 1 0
R-tech Computer Education Institute
11. Display
• Screen pixel or dots
• Color coding: 32 bits
• 1 pixel = 3 bytes of color (RGB)+1
byte alpha channel (transparency)
• 1600x1200x4bytes=7,5 Mb!
• Fonts
Bitmap
Vectors
TrueType, OpenType,
PostScript
QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.
R-tech Computer Education Institute
12. Keyboard/Mouse
• Each key (or combination
of keys) of the keyboard
sends a code to the
computer.
• The code is interpreted and
converted to the
corresponding ASCII or
Unicode number.
• The mouse movements
1 to 4 bytes (vertical &
horizontal)
• Buttons
Clicked, pressed, rolled
buttons
R-tech Computer Education Institute
13. ASCII & Unicode
• ASCII 7/8 bits
• Unicode
UTF-8/16/32 bits
ISO-8859 (Latin)
• od -c od -h
•
R-tech Computer Education Institute
14. Software layers
ROM
Hardware
Operating System
User Interface
Software
Files
CPU, RAM, HD, DVD
Word, scripts, mail, web browser…
Data (.doc, .mp3)
BIOS
Linux
CLI, X-Windows
Windows
Windows
MacOSX
Firmware
Quartz
R-tech Computer Education Institute
15. File systems
• Method the OS uses to store information
Storage unit, directories, subdirectories (Windows,
VMS)
Single arborescence (Linux, MacOSX, all Unix)
• What exactly is a file?
a piece of information (text, graphic, data, music
program, script)
it is identified by a name and an logical address (or
path)
other informations: date, size, type, creator,
ownership, physical address…
R-tech Computer Education Institute
16. File system organisation
Disk 1 Disk 2
Directories
Subdirectories
Windows
DOCS PROGS
WORD EXCEL
CONFIG DATA
EXPT1 EXPT2
/
/usr /home
phil johnlocal
bin lib
emacs X11
Unix
D:C:
Disk 1
Disk 2
R-tech Computer Education Institute
17. Path
• The path is the logical address used by
the system or the user to locate a file.
• Example:
/bd_du_Palais/35/etage/4/appart/12/Dupont_ Jean.txt
filename
suffix
path
R-tech Computer Education Institute
18. File types
• Executable
.exe
.app
Unix requires « x »
• Data
Text (.txt)
Music (.mp3)
Image (.jpg, .gif)
Movie (.mpg, .mov)
Binary (.bin)
• Special cases in Unix
STDIN
STDOUT
STDERR
R-tech Computer Education Institute
19. Encryption / compression
• Compression
Reducing the size of files
E.g., .mp3, .gz, .jpg, .zip
• Encryption
Protecting your privacy
E.g., .pgp
• Packing
Grouping the files
E.g., .tar
R-tech Computer Education Institute
20. Networks
• Direct
USB 11Mb-480Mb
Ethernet 10Mb-1Gb
• Wired
Modem 56Kb
ADSL 600Kb-8Mb
LAN 10Mb-10Gb
• Wireless
Bluetooth 1Mb-20Mb
WIFI (AirPort) 11Mb-54Mb
R-tech Computer Education Institute
21. Network (ethernet or wireless)
• Computer talk to each
other via network
protocols
ip, tcp, http, ftp, …
• TCP/IP
transmission control
protocol/internet protocol
• Handshaking
• Transmission
• Ackowledgement
• DNS
Domain Name Server
• URL
Universal Resource
Locator
• IP addess
192.42.197.51
R-tech Computer Education Institute
22. DNS reminder
Primary DNS
Root DNS
Local DNS
Client query Target server
1
2 3
45
6
www.expasy.org
129.194.8.64
*.org
dns.anywhere.net
client.anywhere.net
www.expasy.org ??
R-tech Computer Education Institute
31. Source code -> Object code
• Compiler+linker
Fortran, C, Pascal, C++…
• Interpreter
Basic, Perl…
• Intermediate
Java
• Compiler+linker
Fast to execute, but slow
to debug
• Interpreter
Slow to execute, but fast
to debug (no need to
recompile)
• Intermediate
Slow…
R-tech Computer Education Institute
33. Source code (2)
• Statement, blocks
One or more
instructions for the
processor
• Affectation
Change to a variable
• Operator
affect one or more
variable
+ * - / AND OR NOT…
• Variable
A region in memory
that can be modified
Exists in different
types
Scalar, char, numeric,
boolean
List, array
Hash
Combination->data
structure
R-tech Computer Education Institute
34. Source code (3)
• Loops
Allow the computer to
repeat blocks
• Tests
Decide what to do
• Subroutines
Programs frequently
called (functions)
• Comments
The most important
lines of the source
code…
• Pointers
Reference to region in
memory (address)
• Objects
Combination of data
and code
R-tech Computer Education Institute
35. Example: a text to treat
« Noon rings out. A wasp, making an ominous sound, a sound akin to a klaxon or a
tocsin, flits about. Augustus, who has had a bad night, sits up blinking and purblind. Oh
what was that word (is his thought) that ran through my brain all night, that idiotic word
that, hard as I'd try to pun it down, was always just an inch or two out of my grasp - fowl
or foul or Vow or Voyal? - a word in a quizz which, by association, brought into play an
incongruous mass and magma of nouns, idioms, slogans and sayings, a confusing,
amorphous outpouring which I sought in vain to control or turn off but which wound
around my mind a whirlwind of a cord, a whiplash of a cord, a cord that would split again
and again, would knit again and again, of words without communication or any possibility
of combination, words without pronunciation, signification or transcription but out of
which, notwithstanding, was brought forth a flux, a continuous, compact and lucid flow: an
intuition, a vacillating frisson of illumination as if caught in a flash of lightning or in a mist
abruptly rising to unshroud an obvious sign - but a sign, alas, that would last an instant
only to vanish for good. »
Gilbert Adair
R-tech Computer Education Institute
38. Source code example
#!/usr/bin/perl -w # essential line of all perl scripts
$filename = "avoid.txt"; # affect « avoid.txt » to the variable $filename
# open the file, or exit
open(FILE, $filename) || die "Cannot open file ‘$filename’nn";
@text = <FILE>; # add each line of the file to an array
close FILE;
foreach $line (@text) { # read one line from the array into $line and repeat for each line
@table = split(//,$line); # read each character of the line in an array
while ($char=pop(@table)) { # read one character of the array 'table' and repeat for all
$char =~ s/[^a-z]//; # keep only the alphabetical character a to z
if ($char) { # check if the character exists and execute the block
$count{$char}++; # if yes, increment by one the hash 'count'
}
}
}
# print each character and its number of occurence one per line
foreach $c (keys %count) {
print "$c=$count{$c}n";
}
exit; # quit the program
R-tech Computer Education Institute