Sunteți pe pagina 1din 12

Istorie Unix/Linux

Anii 60Bell Laboratories (devizie de cercetare a AT&T) formeaza un consortiu impreuna cu MIT
(Massachusetts Institute of Technology) si General Electric pentru a dezvolta un sistem de operare
interactiv, multiuser si multi-tasking numit Multics (Multiplexed Information and Computing
Service) care sa ruleze pe Mainframe-uri GE-645. Proiectul nu a avut succesul scontat, iar Bell
Labs se retrage. Un programator pe nume Ken Thompson nu renunta si continua dezvoltarea
proiectului impreuna cu un alt programator pe nume Dennies Ritchie.

1970Noul proiect este numit Unics (Uniplexed Information and Computing Service). Numele este
atribuit de Brian Kernighan, iar mai tarziu este schimbat in UNIX. Sistemul de operare este scris in
limbaj de asamblare.

1973 Unix este rescris in C pentru a putea fi portabil (sa ruleze si pe alte masini). Acest lucru a dus
la o dezvoltare accelerata. AT&T distribuie noul sistem universitatilor, marilor firme dar si
guvernului USA.

1973-1979Unix-ul este in continuare dezvoltat in cadrul Universitatii Berkeley din California.


Printre imbunatatiri sunt shell-ul C, editorul VI precum si alte utilitare necesare. Tot aici este
adaugat suportul pentru lucrul in retea.

1980-1983 AT&T lanseaza prima versiune comerciala de UNIX fara a introduce modificarile aduse
de Berkeley.

1982Un programator din cadrul proiectului BSD (Berkeley Software Distribution - Berkeley Unix)
impreuna cu cativa colegi de la Stanford University creaza firma SUN - Stanford University
Network. Prima lansare de Unix are loc in 1983 si se numeste SunOS. Printre altele sunt introduse
NFS (Network File System) care devine un standard.

1984 Richard Matthew Stallman (nickname RMS) paraseste MIT (care crea doar software
proprietar) pentru a crea un sistem de operare complet FREE (Free as in Freedom) - FREE (Free as
in Freedom). Noul proiect poarta numele de GNU (GNU's not UNIX). Primul program creat a fost
editorul emacs. In 1985 RMS creaza fundatia FSF - Free Software Foundation. Scopul acesteia este
ca software-ul sa fie free in sensul de liber si oricine sa poata avea acces liber si fara restrictii la
sursa. Acest tip de licenta se numeste GPL - General Public License.

1988SunOS/BSD, AT&T System V Release 3 si Xenix ( Microsoft version of Unix pentru PC cu


procesoare Intel cumparat de la AT&T in 1979) au fost combinate in System V Release 4 (SVR4).

Nota
Xenix a fost versiunea Microsoft de Unix pentru PC cu procesoare Intel cumparata de la AT&T
in 1979. Aceasta a fost ulterior vanduta firmei Santa Cruz Operation(SCO) si a devenit SCO
UNIX.

1990 GNU continea aproape toate componentele necesare unui nou sistem de operare, mai putin
kernel-ul.

1991Profesorul olandez Andrew Tanenbaum scrie o carte intitulata "Operating System" in care
explica conceptul unui nou sistem de operare numit Minix. Un student finlandez pe nume Linus
Torvalds de la Universitatea din Helsinki scrie un Kernel pentru GNU care sa ruleze pe
calculatoarele AT-386 si 484, bazandu-se pe anumite concepte din cartea lui Tanenbaum.

Ulterior intre Linus Torvalds si Andrew Tanenbaum se isca un conflict bazat pe viziunea diferita pe
care acestia o aveau asupra noului Kernel. Detalii
Celebrul anunt al lui Linus Torwalds precum ca a dezvoltat un kernel a fost postat pe un newsgroup
comp.os.minix:
Nota
Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't
be big and professional like gnu) for 386(486) AT clones. This has been brewing since april,
and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my
OS resembles it somewhat (same physical layout of the file-system (due to practical reasons)
among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and I'd like to know what
features most people would want. Any suggestions are welcome, but I won't promise I'll
implement them :) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and
it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably
never will support anything other than AT-harddisks, as that's all I have:-(.

Sistemul de operare creat astfel prin folosirea kernelului lui Linus si a programelor si utilitarelor
GNU poata numele de GNU/Linux.
Nota
Numele complet si corect al sistemului de operare nu este Linux ci GNU/Linux. Detalii

GNU/Linux este un sistem de operare multiuser si multitasking care ruleaza pe procesoare 32 si 64


biti pe aproape toate platformele hardware existente. Este format din kernelul lui Linus Torvalds si
programele de la GNU. Intre Linux si Unix exista o mare diferenta. Unix-ul este un sistem de
operare proprietar cu sursa inchisa, iar GNU/Linux este un sistem de operare FREE cu sursa deshisa
care la inceput a incercat sa imite sistemul Unix original.

Marile firme private si-au dezvoltat propriile sisteme de operare Unix astfel:
- HP-UX - Unix-ul celor de la Hewlard Packard (SVR4). Versiunea actuala este 11.i
- AIX - Unix-ul celor de la IBM bazat pe SVR4
- BSD - Unix-ul celor de la universitatea din California. In prezent exista FreeBSD, OpenBSD,
NetBSD
Prima distributie de Linux a fost Slackware lansata in 1993.

Ulterior au aparut multe alte distributii fiecare avand specificul sau: RHEL (RedHat Enterprise
Linux - Sistem Comercial) Fedora (varianta free de la RedHat) SuSE (cumparat de Novell, Sistem
Comercial) Debian Ubuntu Gentoo Mandriva CentOS (bazat pe RHEL, necomercial) Knoppix
(prima distributie de Linux care ruleaza direct de pe CD - LiveCD) Puppy MEPIS

Exista in prezent mai mult sute de distributii de Linux. Detalii

Resurse
· The Code
· Unix
· Linux
· Richard Stallman
· Linus Torvalds

ACPI
ACPI (Advanced Configuration and Power Interface) este un standard dezvoltat de un consortiu
format din HP, Intel, Microsoft, Phoenix si Toshiba in 1996. Ultima versiune dateaza din Octombrie
2006.

ACPI reprezinta un standard prin care OS are controlul asupra recunoasterii elementelor hardware
si power management.
Folosind aceasta interfata BIOS-ul furnizeaza OS toate mecanismele necesare pentru controlul low-
level al componentelor hardware.
OS poate determina ca sistemul sa consume putina energie in anumite perioade si multa energie
cand este cazul (ca si in cazul laptop-urilor).
Exista pe tastatura "power management keys" pentru oprirea sistemului, cresterea luminozitatii
monitorului etc.

Hardware-ul (placa de baza si chiar CPU) trebuie sa fie compatibil cu acest standard.

Un sistem compatibil ACPI poate sa se gaseasca in urmatoarele stari:


a) G0 - Working - starea normala de operare a unui calculator cand aplicatiile ruleaza, CPU executa
instructiuni etc
b) G1 - Sleeping - are 4 substari ( Standby, Hybernation etc)
c) G2 - Soft off - Aproximativ asemanator cu G3 (mechanical off) doar ca anumite componente
raman alimentate cu energie astfel incat diferite evenimente sa poate aduce statia in starea G0
(keyboard, LAN, USB). Din aceasta stare sistemul trebuie sa buteze pentru a intra in starea G0.
d) G3 - Mechanical Off - Nivelul de energie consumat este aproape zero.

Wake on LAN (WoL)

WoL este o tehnologie care permite pornirea unui calculator de la distanta prin trimiterea unui frame
Ethernet special. Placa de retea este alimentata continuu cu energie si asculta primirea frame-ului
special.
Supportul pentru Wake on Lan (WoL) este implementat pe placa de baza. NIC-ul (care inca
primeste energie) asculta dupa acel pachet special numit "Magic Packet". Daca acesta este valid
buteaza calculatorul.
Magic Packet: se trimite pe adresa de broadcast folosind UDP si portul 0 (la inceput), 7 sau 9 (mai
recent).
Datele din MagicPacket: FFFFFFFFFFFF urmat de 16 repetitii ale MAC-ului targetului si eventual
o parola formata din 4 sau 6 bytes
In afara de hardware (placa de baza) compatibil exista si componenta software si anume programul
care genereaza si trimite target-ului magic packet. Exista mai multe astfel de aplicatii atat pentru
Windows cat si pentru Linux. Un exemplu de astfel de program este Depicus

Nota
Daca se doreste pornirea calculatorului dintr-o alta retea de exemplu Internet, Routerul trebuie
configurat pentru redirectarea pachetelor "Directed Broadcast"

Resurse Linux ACPI ACPI

Hard Disks
In prezent pentru PC-uri exista 2 standarde de conectare a hard disk-urilor la placa de baza: SATA si
PATA

ATA - Advanced Technology Attachment reprezinta o interfata prin care hard disk-urile, CD/DVD
se conecteaza la placa de baza. Odata cu introducerea SATA (Serial ATA) in 2003, ATA a fost
redenumita PATA (Parallel ATA).

Pe placa de baza a arhitecturii X86 exista 2 sloturi pentru conectarea hardiskurilor PATA. Pe fiecare
cablu paralel se pot conecta 2 hdd. Avem astfel in total maxim 4 hdd.

Ele sunt reprezentate in Linux astfel::


/dev/hda - primary master hard disk
/dev/hdb - primary slave hard disk
/dev/hdc - secondary master
/dev/hdd - secondary slave
Fiecare Hard Disk poate contine partitii primare care pot fi maxim 4 si partitii logice care se gasesc
in cadrul unei partitii extinse.
A 4-a partitie primara este considerata partitia extinsa, este unica si va contine restul partitiilor
logice.

Nota
In cazul hard disk-urilor SATA sau SCSI acestea sunt reprezentate prin fisierele /dev/sda,
/dev/sdb, /dev/sdc si /dev/sdd

RAID
RAID (Redundant Array of Inexpensive/Independent Disks)

Definitie
RAID reprezinta o metoda prin care mai multe hard diskuri fizice se grupeaza intr-o singura unitate
logica.
Tehnologia RAID a fost definita prima data de catre un grup de cercetatori de la universitatea
Berkeley din California.

Exista 2 categorii de configuratii


1. Software RAID. Hard diskurile sunt combinate intr-o singura unitate logica de catre sistemul de
operare. OS vede fiecare disk si trebuie configurat sa le foloseasca ca un singur ansamblu.
2. Hardware RAID. Hard diskurile sunt combinate intr-o singura unitate logica de catre un
controller. OS (Operating System) vede ansamblul ca un singur hard disk. Nu este nevoie de nicio
configuratie la nivel de sistem de operare.

Hardware RAID ofera mai multa securitate si performanta a datelor dar este mult mai scump.

Nivele RAID

- RAID 0 (Data Striping without redundancy). Acest nivel este cel mai eficient ca si performanta
dar nu ofera protectia datelor. Se formeaza din minimum 2 hard disk-uri. Informatia este "sparta" in
fragmente si redistribuita pe mai multe diskuri din array (ansamblul de diskuri fizice care pentru
sistemul de operare reprezinta o singura unitate logica). Se poate scrie/citi in paralel. Daca un singur
disk se defecteaza intreg sistemul devine inutilizabil.
- RAID 1 (Disk Mirroring). Nr. minim de diskuri din array este 2. Datele sunt salvate pe fiecare
dintre cele 2 hard diskuri. Securitatea datelor este maxima iar performantele de citire/scriere sunt
mari. Singurul dezavantaj este ca acest nivel necesita de doua ori mai mult spatiu de stocare.
- RAID 2 - Nu se foloseste.
- RAID 3 si RAID 4 (Striped Set with dedicated parity) - minimum 3 discuri.
- RAID 5 (Striped Set with Distributed Parity). Nr. minim de diskuri este 3. O defectiune a unui
disk nu duce la distrugerea tuturor datelor. Datele aflate pe diskul defect pot fi recuperate de pe
celelalte diskuri.
- RAID 0/1, RAID 10 - reprezinta o combinatie intre RAID 0 si RAID 1. Nr. minim de discuri este
4.
Pentru RAID 0 si RAID 1 avem nevoie de cel putin 2 partitii pe 2 hard diskuri diferite. RAID 5
necesita 3 partitii. Se recomanda folosirea partitiilor de aceeasi marime.

Nota
Exista si posibilitatea folosirii unui singur hard disk, doar ca beneficiile RAID dispar.

Resurse RAID - Intro RAID Linux Sofware RAID

LVM
LVM (Logical Volume Management)

Reprezinta posibilitatea prin care se pot crea "Logical Volumes" care se intind pe mai multe diskuri
si partitii.
Un volum logic poate fi folosit ca o partitie si anume se poate formata cu un sistem de fisiere si
monta intr-un anumit mount-point.

Mai multe "physical partitions" - hard diskuri intregi sau partitii se combina intr-un singur "volume
group".
LVM nu trebuie confundat cu RAID. Acestea sunt 2 tehnologii diferite care se completeaza. EVMS
(Enterprise Volume Management System) reprezinta o interfata comuna pentru LVM si RAID.

Avantaje LVM:
se pot combina mai multe partitii sau hdd intr-un singur "volume group"
un "logical volume" poate fi largit cand este nevoie de mai mult spatiu intr-un mod foarte simplu.
se pot adauga noi "logical volumes" la "volume group" fara a fi nevoie de oprirea sistemului sau
demontarea partitiilor.
se pot adauga noi hdd la "volume group" intr-un "running system"

Resurse: LVM Linux LVM

Boot Loader/Boot Manager


Boot manager & Boot loader
Boot Loaderul este primul program executat in momentul butarii unui calculator. Acesta este
responsabil sa transfere controlul catre kernelul sistemului de operare. Acesta din urma incarca
intreg sistemul de operare.

Definitie
Procesul de butare (booting) reprezinta incarcarea/copierea sistemului de operare de pe Hard Disk
in RAM si executarea de catre acesta a diferitelor functii pentru initializarea dispozitivelor hardware
(recunoasterea placii grafice pentru afisare la monitor, stabilirea rezolutiei monitorului, montarea
sistemelor de fisiere de pe hard disk, initializarea porturilor seriale, usb, initializarea mouse-ului si a
tastaturii etc. Detalii).

Un boot manager este un program care ajuta utilizatorul sa aleaga intre mai multe sisteme de
operare, sa seteze sistemul default, timeout etc.

Pe Linux se folosesc in principal 2 programe care contin atat boot loader cat si boot manager.
Acestea sunt LILO - Linux Loader si GRUB - GRand Unified Bootloader.
Grub este mai flexibil, este de preferat.
Grub este instalat automat de multe distributii de Linux dar si Unix (ex. Solaris).
Grub poate incarca si alte sisteme de operare (Windows, Solaris, etc).
Fisierul de configurare al lui Grub este default in /etc/grub.conf sau in /boot/grub/menu.lst
Boot Loaderul se instaleaza intr-un singur sector al hard disk-ului numit sector de boot.

Exista 2 categorii de sectoare de boot:


1) VBR - Volume Boot Record - reprezinta primul sector al unui hard disk care nu a fost partitionat
sau primul sector al unei partitii a unui hard disk care a fost partitionat. Contine cod pentru a incarca
sistemul de operare de pe acel hard disk sau de pe acea partitie.
2) MBR - Master Boot Record - reprezinta primul sector al unui hard disk care a fost partitionat.
Contine cod pentru a identifica partitia activa si a invoca Volume Boot Record al acelei partitii.
Dimensiunea MBR este 512 bytes din care maximum 446 reprezinta cod executabil.
Fisierul de configurare al GRUB este: /boot/grub/menu.lst
In momentul in care dorim modificari referitoare la modul de functionare al acestuia precum
adaugarea unui nou sistem de operare in meniul grubului de la inceput, stergerea unui sistem de
operare in care sa butam, modificare timeout etc trebuie sa modificam fisierul precizat mai sus.

Resurse GRUB

Instalare
Instalarea unui sistem de operare Linux modern decurge asemanator cu instalarea sistemului
Windows. Installer-ul recunoaste componentele hardware, instaleaza drivere pentru acestea,
partitioneza hard disk-ul, creaza utilizatori, configureaza reteaua etc. La sfarsit avem un sistem de
operare Linux perfect functional.

Nota
In comparatie cu Windows, o distributie Linux contine aproape toate programele necesare
utilizatorului. Acestea sunt incluse pe DVD-ul sau CD-urile de instalare, iar daca sunt alese de
utilizator sunt instalate o data cu sistemul de operare. La final vom avea acces la majoritatea
programelor necesare precum: editoare de text, playere video, mp3 player, program de copiere
CD-uri, program de Backup, client de E-mail, Browser, client de messenger etc.
Pentru o echivalenta a programelor Windows-Linux cititi sectiunea capitolului "Mediul Grafic"
a acestui curs numita "Programe Desktop".

Aspecte care trebuie avute in vedere inaintea inceperii instalarii unui sistem de operare Linux:

1. Linux are nevoie de propria partitie pe care sa se instaleze. Aceasta poate fi creata anterior din
Windows folosind un program precum Partition Magic sau in timpul instalarii Linux. Dimensiunea
partitiei se recomanda sa fie de circa 10 GB pentru o folosire normala a sistemului Linux. In cazul
in care aceasta se creaza din Windows poate sa fie formatata cu orice sistem de fisiere (fat, ntfs etc),
iar in timpul instalarii Linux aceasta trebuie formatata cu un sistem de fisiere precum ext3 sau
reiserfs.
2. Pentru performante crescute, Linux necesita o partitie speciala de tip swap. Se recomanda ca
dimensiunea partitiei sa fie de 2 ori dimensiunea memoriei RAM. Partitia de swap trebuie creata
anterior din Windows sau in timpul instalarii Linux. Se va formata ca swap in timpul instalarii.
Partitia de swap NU este obligatorie.
3. Dupa downloadul fisierului ISO si inainte de copierea acestuia pe un CD/DVD si instalare, se
recomanda verificarea hash-ului acestuia folosind md5sum sau sha1sum. Hash-ul este un rezumat
criptografic unic pentru fiecare fisier (nu exista 2 fisiere cu acelasi hash). Fiecare fisier are mereu
acelasi hash (daca dorim sa calculam hash-ul de mai multe ori). Astfel se compara hash-ul calculat
local cu hash-ul de pe site-ul producatorului. In cazul in care acestea sunt egale putem trage 2
concluzii: fisierul a fost downloadat fara erori (este integru) si a fost nemodificat fata de versiunea
originala de pe site-ul producatorului. In Linux exista comenzile md5sum si sha1sum pentru calcul
de hash-uri, iar in Windows trebuie instalate. Detalii.

Refacerea configuratiei de boot


Exista foarte multe cazuri in care sistemul de operare nu mai buteaza din cauza unei erori, cand am
"pierdut" parola de root sau cand vrem sa rescriem Grub-ul pe MBR pentru butarea in mai multe
sisteme.
Dupa instalarea Windows (Linux fiind deja instalat) MBR-ul este suprascris de Windows astfel
incat nu vom mai putea alege sistemul de operare in care sa butam sau sa intram in Linux.

Nota
CD-ul de rescue poate sa fie primul CD dintre CD-urile de instalare, un CD special in cazul
Fedora sau DVD-ul de instalare. La butare folosind CD-ul de rescue trebuie aleasa butarea in
modul rescue sau la anumite distributii precum Slackware sau Fedora Core 2,3,4,5 sau 6 se scrie
linux rescue in linia de comanda din prima fereastra care apare.

Etapele sunt urmatoarele (in cazul in care folosim primul CD Fedora, similar pentru alte distributii):
1. Butam folosind CD-ul de rescue
2. Scriem in linia de comanda din prima fereastra: linux rescue
3. Sistemul va intra in modul rescue, iar dupa o serie de intrebari (daca pornim interfata de retea,
alegerea limbii) va incerca sa identifice daca exista un sistem de operare Linux deja instalat. In
acest caz acesta este montat automat in /mnt/sysimage
4. Daca sistemul de operare anterior a fost gasit si montat in /mnt/sysimage trebuie sa executam
comanda chroot /mnt/sysimage

Comanda chroot are urmatoarea sintaxa: chroot NEWROOT [COMMAND [ARGS]...]

In mod normal comenzile si fisierele sunt cautate incepand cu root directory care este "/". chroot
schimba "/" cu un nou director NEWROOT si executa comanda COMMAND cu argumentele
ARGS. Daca comanda nu este specificata este pornit shellul default sau Bourne ( /bin/sh) daca
acesta nu este definit.

Comanda chroot permite executarea urmatoarelor comenzi in sistemul de fisiere avand root
directory /mnt/sysimage (unde se gaseste sistemul de operare Linux care este deja instalat) in loc de
"/"care contine sistemul de fisiere generat automat de modul rescue.

5. Se instaleaza Grub cu vechea configuratie pe MBR prin comanda grub-install /dev/hda


Nota
/dev/hda se inlocuieste cu fisierul care reprezinta Hard Disk-ul pe care se instaleaza Grub. In
cazul hard disk-urilor SATA sau SCSI acestea sunt reprezentate prin sda, sdb, sdc si sdd

Recuperarea parolei de root


Exista cazuri in care parola userului root a fost uitata, schimbata accidental sau in mod intentionat
de o alta persoana care avea acces la contul de root astfel incat nu mai ne putem loga ca root in
sistem.

Important
Orice sarcina administrativa din Linux poate fi realizata DOAR de userul root deci accesul la contul
root este obligatoriu. In Linux orice modificare a unei setari a sistemului de operare se realizeaza
modificand un fisier text aferent numit fisier de configurare. Aceste fisiere se gasesc in directorul
/etc
Un user normal sau neprivilegiat are permisiunea de a modifica DOAR fisierele si directoarele din
propriul Home Directory.

Exista in general 2 posibilitati de recuperare a parolei de root:


1. Butarea sistemului folosind CD-ul de rescue
In cazul in care exista acces fizic la calculator se buteaza folosind CD-ul de rescue dupa care se
monteaza partitia pe care se gaseste sistemul de fisiere "/" si care contine fisierele /etc/passwd
(contine userii din sistem inclusiv root) si /etc/shadow (contine hash-ul parolei uitate).

In continuare exista 3 posibilitati:

a) Se editeaza folosind editorul preferat (Exemplu VI) fisierul /etc/shadow si se sterge hash-ul
parolei lui root. Dupa restartarea calculatorul ne putem loga ca root fara a mai fi necesara parola;
b) Se inlocuieste hash-ului parolei lui root cu hash-ul unei parole cunoscute a unui cont oarecare. Se
logheaza ca root folosind acea parola;
c) Se monteaza sistemul de fisiere pe care se gaseste sistemul Linux in root ( /) si se foloseste
comanda passwd root;

Exemplu
Presupunem ca Linux s-a instalat pe prima partitie primara de pe primul hard disk SATA (
/dev/sda1)

mount /dev/sda1 /mnt


chroot /mnt
passwd root
2. Modificarea boot loader (GRUB).
Scopul acestei metode este de a instrui Grub-ul sa buteze in run-level 1 (single mode) caz in care
exista un singur utilizator si anume root caruia nu i se mai cere parola pentru logare.
Ulterior se schimba parola folosind comanda passwd root.

S-ar putea să vă placă și