Documente Academic
Documente Profesional
Documente Cultură
Calculatoarelor
Curs 4
Iulian Nstac
Definiie:
Un sistem de operare (S.O.) este un set
de proceduri care permit unui grup de
utilizatori s foloseasc eficient i
eventual simultan sistemul de calcul
(S.C.) avut la dispoziie.
Recap.
Clasificare
sistemele de operare pe loturi (batch
processing);
sistemele de operare cu multiprogramare
(multiprogramming);
sistemele de operare cu divizarea timpului
(time sharing);
sistemele de operare cu multiprelucrare
(multiprocessing).
4
Recap
Alte clasificri :
n timp real (Real-time)
Pentru mai muli utilizatori simultan (Multi-user)
Multi-tasking / single-tasking
Distribuite
ncapsulate (Embedded)
Recap
nscrierea informaiei n unitatea de
memorie de mas (HDD)
Prin partiionarea hard-disk-ului se segmenteaz unitatea n
mai multe regiuni, numite partiii, care pot conine sistemul de
fiiere al unui anume S.O.
Un sisteme de fiiere separat (un SO separat chiar), poate fi
utilizat pe fiecare partiie
Sistemele de operare ale calculatoarelor utilizeaz unul din
cele trei sisteme uzuale de fiiere:
File Allocation Table (FAT)
High Performance File System (HPFS)
New Technology File System (NTFS)
6
Limbaje de programare
7
Limbaje de programare
Definiie:
Un limbaj de programare este un limbaj
formal bazat pe instruciuni, care este
proiectat pentru a putea pune n aplicare o
serie de sarcini specifice.
De nivel ridicat
bazate pe interpretoare: BASIC, MATLAB,
JAVA, unele programe de baze de date
bazate pe compilatoare: FORTRAN, PASCAL,
ADA, C, etc.
Interpretorul
Un interpretor traduce codul surs
ntr-o reprezentare intermediar
eficient i apoi o execut
imediat.
10
Compilatorul
Un compilator transform codul surs
scris ntr-un limbaj de programare
(sursa) ntr-un cod obiect i, n cele
mai multe cazuri, ntr-un program
executabil.
11
Limbajul de programare C
1966 Martin Richards (University of Cambridge)
a dezvoltat BCPL (Basic Combined
Programming Language)
1969 Ken Thomson ajutat i de Dennis Ritchie
B programming language
1969-1973 Dennis Ritchie C programming
language
13
Dezvoltarea limbajul de
programare C
nceputul anilor 70 codul S.O. UNIX este
rescris n C
De atunci exist ntotdeauna un compilator C
(C shell) ncorporat n fiecare UNIX (chiar n
unele SO nrudite cu UNIX).
15
16
Standardul C++
1998 C++ standard a fost ratificat ca ISO/IEC
14882:1998.
2003 unele modificri au fost adugate la
ISO/IEC 14882:2003.
2011 Standardul curent de C++ cu noi adugiri
a fost denumit ISO/IEC 14882:2011 (uneori
denumit C++11)
17
Portabilitatea
calitate a unui limbaj de
programare, scris pentru o anumit
main, de a putea fi utilizat pe o
alt main.
18
Portarea
Portarea este procesul de adaptare a unui
software.
19
Obs.
Conceptul de portabilitate poate fi stabilit
pentru diferite nivele de implementare:
Descrierea n pseudocod
Diagram logic
Program surs
Compilare
Link-editing
Program executabil
20
21
22
Portabilitatea
Tipurile de date
Controlul erorilor
Lucreaz la nivelul limbajului assembler
Numr restrns de cuvinte cheie
(keywords)
6. Intr n categoria limbajelor structurate
7. Considerat un limbaj al programatorului 23
1. Portabilitatea limbajului C
24
2. Tipurile de date
Exist patru specificatori de baz pentru date:
char
int
float
double
signed,
unsigned
short
long
25
Tip
Explicaii
char
signed char
unsigned char
short
short int
signed short
signed short int
unsigned short
unsigned short int
int
signed int
unsigned
unsigned int
26
Tip
Explicaii
long
long int
signed long
signed long int
unsigned long
unsigned long int
long long
long long int
signed long long
signed long long int
Tip
Explicaii
float
double
long double
long double
29
Observaii:
Dimensiunea tipului ntreg variaz n
funcie de implementarea compilatorului
utilizat.
Standardul prevede doar relaii de mrime
ntre tipurile de date i dimensiunile
minime pentru fiecare tip de date.
long long este mai cuprinztor dect
long, care este mai cuprinztor dect int,
care este mai cuprinztor dect short.
30
Observaii:
char este ntotdeauna cel mai mic tip de
date standard.
Dimensiunea minim pentru char este de
8 bii, dimensiunea minim pentru short i
int este de 16 bii, pentru long este de 32
bii, iar long long trebuie s conin cel
puin 64 bii.
Exist o multitudine de conversii posibile
n C.
31
3. Controlul erorilor
Exceptnd erorile de sintax, n C nu
avem un alt tip de control.
Nu exist control pentru verificarea
dimensiunii variabilelor utilizate.
32
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
34
Standardul C89
Exist doar 32 cuvinte cheie n primul
standard ANSI C:
Din care 27 introdui deja n cartea
Kernighan & Ritchie
37
6. Limbaj structurat
Programare structurat este o paradigm de
programare care vizeaz mbuntirea
(claritate, calitatea i timpul de dezvoltare) unui
program de calculator prin utilizarea pe scar
larg de subrutine, structuri bloc i bucle.
Acest lucru este n contrast cu folosirea de teste
i salturi, cum ar fi instruciunea goto care este
att de dificil de urmrit i de ntreinut.
38
Observaii:
Programe structurate sunt adesea
compuse din structuri nlnuite ierarhic.
Acestea sunt: secvena, selecia, i
repetarea (iteraia).
39
Secven
40
Selecie
41
Iterare (bucle)
42
Not:
compartimentarea facilitatea de
separare i ascundere (fa de restul
programului) a ntregii informaii
(instruciuni) necesare pentru a ndeplini o
anumit sarcin.
Aceasta este o caracteristic a C-ului.
43
Observaie:
Principala component structural n C este
conceptul de funcie.
{
..
}
44
7. Un limbaj al programatorului
C-ul este adesea folosit pentru "programare de
sistem", inclusiv punerea n aplicare a sistemelor
de operare i a aplicaiilor de sisteme tip
embedded.
Un programator are nevoie de:
cod portabil i eficient
capacitatea de a accesa adrese RAM specifice
capacitatea de a se mula peste datele impuse din
exterior pentru cerinele de acces
cererea sczut asupra resurselor de sistem
Funcia main()
Alte funcii
46
Observaii:
Cuvintele cheie (keywords) sunt scrise
cu litere mici
Un program scris n C trebuie s conin o
singur funcie main (i numai una).
Bibliotecile standard ale C i C++, ce
conin diverse funcii standard se afl n
fiierele header.
47
48
<stdlib.h>
<string.h>
<math.h>
Preprocesare n C
Un program surs C poate fi prelucrat
nainte de a fi supus compilrii. Aceast
prelucrare poart numele de preprocesare.
Preprocesorul asigur:
includeri de fiiere cu texte surs;
definiii i apeluri de macrouri;
compilare condiionat.
50
Includeri de fiiere
#include <stdio.h>
int main(void)
{
printf(Salut!\n");
return 0;
51
52
Compilarea condiionat
Compilarea condiionat permite compilatorului
s produc diferene n executabilul obinut n
conform cu unii parametri.
Aceasta tehnica este frecvent utilizat atunci
cnd este nevoie de aceste diferene pentru a
rula software-ul de pe platforme diferite, sau cu
diferite versiuni de biblioteci necesare (eventual
pe un hardware diferit).
53
Directiva if-else
Variante ale directivei:
#if
#ifdef
#ifndef
#else
#elif
#endif