Documente Academic
Documente Profesional
Documente Cultură
1. Istorie
Conceptul de linux stundentul finlandez LINUS TORVALDS 1991, domeniul calculatoarelor devine din ce in ce mai intens cercetat Lipsa unui SO ieftin si fiabil DOS S.O. Macintosh Unix Scumpe Neaccesibile populatiiei
1. Istorie
apare scris de Andrew S. TANENBAUM profesor danez instrument didactic acces public Avantaje: acces la mecanismele interioare (codul sursa)
limbaj scris in C
1. Istorie
Proiectul G.N.U (GNU is Not Unix) Richard Stallman Free Software Solutions spre deosebire de alte produse, software-ul trebuie s fie liber de orice restricii privind copierea, distribuirea i modificarea lui pentru a se putea obine programe mai bune 1984 inceperea scrierii compilatorului C GNU (GCC) unealta importanta in scrierea sistemelor de operare.(suita de compilatoare implicit pe majoritatea distribuiilor Linux)
1. Istorie
1991 compilatorul C GNU este deja disponibil aceleasi probleme cu SO MIMIX a fost licentiat NU exista inca un sistem de operare (in lucru la GNU)
Hello everybody out there using minix Im doing a (free) operating system (just a hobby, wont be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. Id 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). Ive currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that Ill get something practical within a few months, and Id like to know what features most people would want. Any suggestions are welcome, but I wont promise Ill implement them Linus (torvalds@kruuna.helsinki.fi) PS. Yes its 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 thats all I have:-(
1. Istorie
Exista o multime de distributii de linux dintre care aminitim: Red Hat OpenSuse Ubuntu Fedora Mandriva Debian
2. Proprietatile LINUX-ului
Caracteristici Linux - sistem de operare cu divizare a timpului (timesharing operating system)
atribute de baza:
- sistem ierarhizat de fiiere; - asigur compatibilitatea ntre fiiere, dispozitive I/O i mecanismele de comunicaie ntre procese; - ofer posibilitatea de a iniia procese asincrone, multitasking; - permite selectarea de ctre utilizator a interpretorului de comenzi; - prezint un grad nalt de portabilitate, fiind scris n proporie de 90% in C
2. Proprietatile LINUX-ului
Componentele sistemului de operare Linux sunt: - nucleul LINUX (eng. kernel); - interpretorul de comenzi (eng. shell); - utilitarele (compilatoare, editoare de legturi, editoare de text, analizoare lexicale, utilitare Web, etc.) - programele utilizator.
2. Proprietatile LINUX-ului
2.1. AVANTAJE
Gratuit Poate fi portat pe orice fel de dispozitiv Versatil Functionare neintrerupta De incredere Scalabil
Deoarece Linux-ul este dezvoltat i testat de mii de oameni, att erorile, ct i cei care le pot repara sunt foarte uor de gsit. Adesea se ntmpl s treac doar cteva ore ntre descoperirea i repararea unei erori!
2. Proprietatile LINUX-ului
2.2. DEZAVANTAJE
NU este user friendly prea multe distribuii cate capete, atatea pareri
produse gratuite produse de incredere? Numarul de virusi creati pentru LINUX a crescut in ultimii ani (422 863)
2. Proprietatile LINUX-ului
2.3. NUCLEUL LINUX: Kernel C scris GNU C Limbaj de asamblare nucleu monolitic imbunatatit constant
2. Proprietatile LINUX-ului
2.3. NUCLEUL LINUX: Kernel Nucleul are rolul de a gestiona resursele fizice (procesor, memorie, dispozitive periferice) i logice (procese, fiiere, etc). Interfaa dintre nucleu i aplicaiile utilizator este asigurat de proceduri i funcii puse la dispoziie direct de nucleu sau de o serie de biblioteci.
3. Interfata
Utilizator Comenzi S.O. LINUX
Programe
Interfaa ntre utilizator i sistemul de operare este format din comenzi, care sunt de fapt programe ce se lanseaz n execuie cu ajutorul interpretorului de comenzi.
3. Interfata
Interpretorul de comenzi
4. Comenzi de baza
se introduc dup prompter, ntr-o fereastr terminal (in modul grafic sau n modul text) apasarea tastei Enter.
4. Comenzi de baza
Sintaxa generala comanda optiuni parametri
4. Comenzi de baza
4. Comenzi de baza
Comenzi pentru operaii asupra fiierelor i directoarelor Linux recunoate 4 tipuri de fiiere fiiere obinuite - iruri de octei fr o structur logic special socket-uri - sunt fiiere speciale utilizate pentru realizarea comunicrii ntre procese Linux
fiiere speciale - sunt asociate dispozitivelor periferice fiiere director (cataloage) - utilizate pentru structurarea sistemului de fiiere
fiiere FIFO - sunt fiiere speciale utilizate pentru realizarea comunicrii ntre procese Linux
4. Comenzi de baza
4. Comenzi de baza
Comenzi de informare
4. Comenzi de baza
Comenzi pentru prelucrarea fiierelor text
4. Comenzi de baza
Alte comenzi
Editor de text
Functionalitate modala
6 module
Normal (Text)
Inserare
Linie comanda
Vizual
Selectie
Ex
Modulul Comanda
Modulul Vizual
Trecerea din modul text n cel comand se face cu tasta i. Trecerea din modul comand n cel vizual se face cu tasta v. Revenirea n modul text se face cu tasta Esc
Lansare: vim va deschide o fereastr n care utilizatorul poate introduce text vim nume_fisier dup lansarea n execuie, vim va ncarca un fiier
Comenzile vim pot fi executate doar n modul comand sau vizual. Comenzile precedate de : apar n linia de stare a editorului (ultima linie) i trebuie terminate cu CR pentru a se executa
h muta cursorul un caracter in stanga l - muta cursorul un caracter in dreapta k muta cursorul o linie in sus j - muta corsorul o linie in jos nG sau :n cursorul este mutat pe linia n (ex. 10G muta pe linia 10) ^F (CTRl F) Forward screenful ^B Backward screenful ^f o pagina inainte ^b p pagina inapoi backward ^U - Up half screenful ^D - Down half screenful $ - muta cursorul la capatul liniei 0 muta cursorul la inceputul liniei curente w un cuvant inaintei
Cele mai multe comenzi pot fi repetate de n ori, scriind un numar n inaintea comenzii: (ex. 10dd inseamna stergerea a 10 linii) . repeta ultima comanda cw - schimba cuvantul curent cu un cuvant nou r schimba un caracter la pozitia cursorului R - incepe modul de inlocuire (se dezactiveaza apasand ESC) :/ model cauta inainte un model :? model cauta inapoi un model
Dezvoltarea unei aplicaii C presupune editarea textului sursa cu ajutorul unui editor (vim sau editorul intern al programului mc). Fiierul creat trebuie s aib extensia .c, extensie care prin convenie este atribuit surselor scrise in limbaj C
#include <stdio.h>
hello.c
GCC folosete pentru compilarea de programe C/C++ comanda gcc, respectiv g++. O invocare tipic este pentru compilarea unui program dintr-un singur fiier surs, n cazul nostru hello.c.
Aadar, comanda gcc hello.c a fost folosit pentru compilarea fiierului surs hello.c. Rezultatul a fost obinerea fiierului executabil a.out (nume implicit utilizat de gcc). Dac se dorete obinerea unui executabil cu un alt nume se poate folosi opiunea -o. n mod similar se poate folosi g++ pentru compilarea unui program surs C++.
Fazele compilrii Compilarea se refer la obinerea unui fiier executabil dintr-un fiier surs.
-E - se realizeaz doar preprocesarea fiierului surs gcc -E hello.c va genera fiierul preprocesat pe care, implicit, l va afia la ieirea standard. -S - se realizeaz inclusiv faza de compilare gcc -S hello.c va genera fiierul n limbaj de asamblare hello.s -c - se realizeaz inclusiv faza de asamblare gcc -c hello.c va genera fiierul obiect hello.o Opiunile de mai sus pot fi combinate cu -o pentru a specifica fiierul de ieire.
#include <stdio.h> int main(void) { char sursa[] = "abcdefg"; char dest[10]; int i = 0; while (sursa[i] != '\0') dest[i] = sursa[i++]; dest[i] = '\0'; printf("Sirul destinatie este: %s", dest); exit(0); }