Sisteme de operare (Operating Systems)


Welcome to Your Classroom!

Universitatea din Bucureşti, Facultatea de Matematica si Informatica

Programul de studii: INFORMATICĂ

Sisteme de operare

Anul II, semestrul I

Bine ați venit!

Contact: Conf. univ. dr. MARIN VLADA
Web: http://prof.unibuc.ro/vlada,

http://old.unibuc.ro/prof/vlada_m/

Blog: http://mvlada.blogspot.ro/

Proiecte: c3.cniv.ro, c3.icvl.eu


MOTTO: I’m a bit like an operating system really… „multitasking” between these two OHPs, „interrupting” you, … „sending you to sleep”… (John Bates). “It would appear that we have reached the limits of what is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years.” John von Neumann, 1949 (Wobbe Vegter, http://wvegter.hivemind.net/abacus/CyberHeroes/Neumann.htm). Do not forget to be creative! This is an option and a way to happiness. (M. Vlada 2010)

Predicting the Future of Computing: „Readers are invited to make predictions and collaboratively edit this timeline, which is divided into three sections: a sampling of past advances, future predictions that you can push forward or backward in time (but not, of course, into the past), and a form for making and voting on predictions.” The New York Times.

Sursa image: Pleiades Suoercomputer (NASA), www.nas.nasa.gov/hecc/resources/pleiades.html

Descriptori

Course: OPERATING SYSTEMS | Bachelor of Science (Computer Science)      |   Software: Windows, Unix, Linux, Java Platform

Definition. Operating System: the collection of software that directs a computer’s operations, controlling and scheduling the execution of other programs, and managing storage, input/output, and communication resources.

Word keys: Memoria fizică, memoria virtuală, alocarea dinamică a memoriei, algoritmi de paginare, algoritmi de inlocuire a paginii; gestiunea memoriei in Unix si Windows, sincronizarea proceselor, Apeluri Sistem (System Calls),  Maşini Virtuale.

Comentariu introductiv

  • Complexitatea aplicaţiilor de utilizare a calculatorului în diverse domenii de activitate (inclusiv in educatie), a determinat perfecţionarea, atât a sistemelor de operare şi limbajelor de programare, cât şi a tehnologiilor şi platformelor.  Au fost concepute şi elaborate noi sisteme de operare, noi limbaje de programare, noi tehnologii. Dacă în anii ’70 inventarea şi utilizarea microprocesorului au însemnat o revoluţie  în domeniul arhitecturii calculatoarelor, în anii ’90 a fost o adevărată revoluţie, atât în domeniul reţelelor de calculatoare, cât şi în domeniile limbajelor de programare (Java şi JavaScript) şi sistemelor de operare (Linux, Windows). Astfel, au apărut tehnologiile Web. Trebuie menţionate dezvoltarea şi evoluţia limbajului C++ care în anii ’80 a implementat şi dezvoltat modelul orientat spre obiecte (modelul programării obiectuale are rădăcini în limbajele SmallTalk, Lisp etc.) şi programarea orientată spre obiecte (OOP-Object Oriented Programming).
  • Dacă în deceniul 70 (secolul XX) la nivel universitar, erau câteva discipline proprii informaticii, astăzi există domenii complexe ale Informaticii: Sisteme de operare, Arhitectura calculatoarelor, Programare şi Software Engineering, Reţele de calculatoare şi Computing, Baze de date şi sisteme informatice, Programare şi dezvoltare Web, Grafică pe calculator şi realitate virtuală, Geometria computaţională, Modelare şi simulare, Calcul paralel şi distribuit, Inteligenţă artificială şi sisteme expert, Ingineria cunoaşterii.

OBIECTIVE

  • Însusirea conceptelor teoretice ale sistemelor de operare. Cunoasterea si utilizarea sistemelor de operare Windows, Unix, Linux;
  •  Competente privind dezvoltarea deprinderile practice pentru înțelegerea modului de proiectare a aplicațiilor de sistem ce folosesc intensiv serviciile oferite de sistemele de operare studiate.
  • Întelegerea si asimilarea principalelor cunostinte privind conceperea si functiile unui SO. Operare si comenzi in Windows, Unix, Linux
  • Laborator – Consolidarea cunostintelor de la curs prin aplicatii, testari; elaborarea de aplicatii ce folosesc comenzi ale unui SO. Aplicatii si proiecte folosind programare C++, Java

CONȚINUT

1. STRUCTURA SISTEMELOR DE OPERARE: Evolutia sistemelor de operare; Structura si functiile generale ale sistemului de operare; Serviciile Sistemului de Operare; Apeluri Sistem (System Calls); Maşini Virtuale;

2. ADMINISTRAREA UNITATILOR: Organizarea sistemului de I/O, Administrarea directă a I/O cu testare periodică (polling), Administrarea operaţiilor de I/O orientată pe întreruperi, Proiecţia în memorie a I/O, Accesul direct la memorie, Utilizarea zonelor tampon (“buffering”)

3. GESTIUNEA MEMORIEI: Memoria fizică, memoria virtuală, alocarea statică a memoriei, alocarea dinamică a memoriei, alocarea paginată a memoriei, alocarea segmentată a memoriei, algoritmi de paginare; algoritmi de inlocuire a paginii; gestiunea memoriei in Unix si Windows;

4. SISTEMUL DE FISIERE: Conceptul de fişier, Organizarea fişierelor, conceptual de director, alocarea spaţiului pentru fişiere pe disc, evidenţa spaţiului liber de pe disc, operaţii cu fişiere, implementarea sistemului de fişiere,  performanţele sitemului de fişiere, fiabilitatea sistemului de fişiere, gestiunea blocurilor libere, Protectia si securitatea datelor (sistem de autentificare, sistem de autorizare, protectia resurselor, protectia memoriei);  

5. GESTIUNEA PROCESELOR: Stările unui proces, paralelismul proceselor, sincronizarea proceselor, comunicarea intre procese, probleme clasice de coordonare a proceselor, Planificarea proceselor, interblocarea proceselor, fire de executie, schema generală de planificare; criterii de performanţa (algoritmi de planificare, algoritmul Round Robin), diagrama stărilor unui proces (procese si threaduri, comutarea proceselor, procese Unix si Windows).

LABORATOR/SEMINAR ÎN SISTEM TUTORIAL

1. STRUCTURA SISTEMELOR DE OPERARE: Evolutia sistemelor de operare; Structura si functiile generale ale sistemului de operare; Serviciile Sistemului de Operare; Apeluri Sistem (System Calls); Maşini;

2. GESTIUNEA MEMORIEI: Memoria fizică, memoria virtuală, alocarea statică a memoriei, alocarea dinamică a memoriei, alocarea paginată a memoriei, alocarea segmentată a memoriei, algoritmi de paginare; algoritmi de inlocuire a paginii; gestiunea memoriei in Unix si Windows;

3. SISTEMUL DE FISIERE: Organizarea fişierelor, conceptual de director, alocarea spaţiului pentru fişiere pe disc, evidenţa spaţiului liber de pe disc;

4. PROTECTIA DATELOR:  Protectia si securitatea datelor (sistem de autentificare, sistem de autorizare, protectia resurselor, protectia memoriei);

5. GESTIUNEA PROCESELOR: Stările unui proces, paralelismul proceselor, sincronizarea proceselor, comunicarea intre procese, probleme clasice de coordonare a proceselor;

6. GESTIUNEA PROCESELOR: Planificarea proceselor, interblocarea proceselor, fire de executie, schema generală de planificare; criterii de performanţa (algoritmi de planificare, algoritmul Round Robin)

EVALUARE. Teme si subiecte pentru PROIECTE

NOTA. Evaluarea cunostintelor/competenţelor: prezentarea (face-to-face) unui proiect (teme A si B, intrebari/subiecte). Proiectul este un fisier format .doc ce descrie o tema privind studiul, analiza, testarea facilitatilor, comenzilor, etc., folosind explicatii, comparatii, scheme, capturi de imagini, etc. si este reprezentat pe suport CD si suport hartie..Relevante sunt: argumentele demonstrative, analizele si testarile, aplicatiile executate. Nu se accepta suport Stick/Flash Memory.
Teme si subiecte pentru PROIECTE: Fisier de tip .pdf ! TEME-PROIECTE

Exemple: Fisier de tip .doc ! Proiect-1 SOFisier de tip .rar ! Proiect-2 SOFisier de tip .pdf ! Proiect-3 SOFisier de tip .rar ! Proiecte-4 SO

Bibliografie

  1. Silberschatz A., Galvin P.B. and Gagne G., Operating Systems Concepts, 8th edn. John Wiley & Sons, 2009
  2. A. Tanenbaum, Sistemede operare moderne, Ed.Teora, 2004
  3. A. Tanenbaum, Goodman, J. R., Organizarea structurata a calculatoarelor, Ed. Byblos, 2004
  4. Deitel H., Operating Systems 3/e, Ed. Prentice Hall, 2004
  5. Silberschatz A. Operating Systems Concepts.Seventh Edition, Wesley Publishing Company, 2006
  6. Tanenbaum A. Modern Operating Systems, Pretince Hall, 2002
  7. Gh. Dodescu, A. Vasilescu, B. Oancea- Sisteme de operare, Editura Economica, 2003
  8. Sorin Adrian Ciureanu- Sisteme de Operare -Editura Printech.2004
  9. D. Acostachioaie, Administrarea si configurarea sistemelor Linux, Ed. Polirom,2003
  10. S. Burada, G. Ciobanu, Atelier de programare in retele de calculatoare, Ed. Polirom, 2001
  11. L. Peterson, B. Davie, Retele de calculatoare: o abordare sistemica, ALL/Teora, Ed. Morgan Kaufmann, 2001/2004
  12. M. Vlada, Sisteme de operare, Universitatea din Bucuresti, tutorial, curs On line – http://ebooks.unibuc.ro/informatica/Seiso/
  13. M. Vlada, Informatica, Ed. Ars Docendi, 1999 (exista la Biblioteca FMI si BCU) – sect. 4.8 si 5.1-5.5

Notes

  1. List of Operating Systems: http://www.operating-system.org/
  2. Liste of Operatimg Systems: http://en.wikipedia.org/
  3. GNU Operating Systems: http://www.gnu.org/
  4. Operating Systems: http://www.google.com/
  5. Operating Systems Articles: http://www.articlesbase.com/
  6. Memory Virtual: Peter J. Denning is best known for pioneering work in virtual memory. He was a pioneer in the development of principles for operating systems and contributed the memory management methods used in all operating systems.. Read more: http://mvlada.blogspot.com/2011
  7. The von Neumann Architecture of Computer Systems (http://www.brown.edu/Research/Istrail_Lab/von_neumann.php , Istrail si Solomon Marcus: http://www.brown.edu/Research/Istrail_Lab/papers/Istrail-Marcus012912FINAL.pdf)
  8. Von Neumann, J. 1981. First draft of a report on the EDVAC.” In Stern, N. From ENIAC to Univac: An Appraisal of the Eckert-Mauchly Computers. Digital Press, Bedford, Massachusetts, http://www.csupomona.edu/~hnriley/www/VonN.html
  9. John von Neumann’s EDVAC Report 1945  John von Neumann’s 1945 on June 30 by Hungarian mathematician John von Neumann (1903-1957) , http://www.velocityguide.com/computer-history/john-von-neumann.html
  10. http://www.wps.com/projects/EDVAC/
  11. The Virtual Von Neumann Architecture and the global computer
  12. http://meta-artificial.blogspot.com/2005/07/virtual-von-neumann-architecture.html

Definition. Assembler: Assembly language is the uncontested speed champion among programming languages. An expert assembly language programmer will almost always produce a faster program than an expert C programmer.

Machines have so much memory today, saving space using assembly is not important. If you give someone an inch, they’ll take a mile. Nowhere in programming does this saying have more application than in program memory use. For the longest time, programmers were quite happy with 4 Kbytes. Later, machines had 32 or even 64 Kilobytes. The programs filled up memory accordingly. Today, many machines have 32 or 64 megabytes of memory installed and some applications use it all. There are lots of technical reasons why programmers should strive to write shorter programs, though now is not the time to go into that. Let’s just say that space is important and programmers should strive to write programs as short  as possible regardless of how much main memory they have in their machine.

Source:  The Art of Assembly Language Programming, Spring 2008, Yale University, http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/ (pdf)

Ex.:  prog1.asm
==================
.model small
.stack
.data
  a db 00110000b
.code
start:
mov ax,@data
mov ds,ax
  mov bl,01010000b
  mov al,a
  not al    ;AL=11001111b    
  mov al,a
  and al,bl ;AL=00010000b
  mov al,a
  or  al,bl ;AL=01110000b
  mov al,a
  xor al,bl ;AL=01100000b
mov ah,4ch
int 21h
end start
===================

TextBook vs. Tablet PC

The „Smart education” Project: 2015. S. Korea to digitise school books  | Coreea de Sud schimbă manualele cu Tablete PC

The South Korean government has said it plans to digitise all textbooks for elementary, middle and high school students by 2015. This plan for „smart education” is aimed at helping students create their own study pattern, and lighten their backpacks. Source: http://www.channelnewsasia.com/

Ministerul Educaţiei, Ştiinţei şi Tehnologiei din Corea de Sud a anunţat un plan pentru migrarea de la manualele şcolare clasice, pe suport de hârtie, la manuale în format electronic. Ministerul a alocat proiectului suma de aproximativ două miliarde de dolari, iar tranziţia urmează să se finalizeze în 2015, când se estimează că toţi elevii din învăţământul primar vor beneficia de noile manuale, precum şi de dispozitive hardware corespunzătoare, tablet PC-uri sau telefoane smart. În următorii ani autorităţile trebuie să se asigure că toate materialele didactice vor fi digitalizate. Toţi elevii sud coreeni vor primi gratuit tabletele digitale, iar manualele vor fi disponibile pentru descărcare de pe serverele ministerului, prin intermediul reţelelor WiFi locale.” Sursa: http://portal.edu.ro/index.php/articles/11512

Tablet PC – calculator portabil al cărui ecran (de regulă cu o diagonală de 12 inchi) îndeplineşte o funcţie dublă: cea de afişare a informaţiei şi interfaţă de manipulare a calculatorului (de obicei prin intermediul unui stylus -unealtă de scris sub forma unei mini-baghete din material plastic sau metal având la vârf o bobiţă din plastic, folosită pentru interacţiunea cu ecranele tactile rezistive, sau folosind degetele – touch). Primul tablet a fost lansat în 2001 de către Microsoft şi folosea Windows XP Tablet PC Edition.


Tipuri de Tablet PC: a) tip broşură ; b) tip placă; c) tip decapotabil; d) tip hibrid.  Tablet-slate-formBooklet formMedical tabletconvertible laptop tablet pchybrid tablet pc

Sursa: http://www.it4fans.ro/ 


Mobile Technology and Communications

Topics: Mobile Learning (m-Learning), Mobile Network Technology, Mobile software, Mobile Internet, Mobile dating, Health impact, Mobile phone features

M-learning’ is the follow up of E-learning and which originates from D-learning (distance learning). M-learning is the delivery of education to the students who are not having fixed location or who prefer to use mobile phone technology for learning. The rapid growth in the mobile and communication sector make it possible to develop new forms of education. M-learning means delivery of education by means of the mobile phone devices, PDAs and audio players. M-learners seek the lessons in the small format.” Ref.: http://www.networktutorials.info/

Mobile Technologies

HARDWARE:iPad, iPhone, Smartphone, Tablet PC. SOFTWARE: Operating Systems – iOS, Android, Windows Phone 7, BlackBerry, Chrome OS tablet, WebOS, MeeGo

Companies (Manufacturers): Apple, Google, Microsoft, Research in Motion (RIM) Mobile Services and Apps (Apple, Google, Microsoft): iOS, Android, BlackBerry, Windows Phone7. Ref.: www.agora.ro/conferinta/programatica-2011-mobile-services-and-apps

Tehnologia secolului 21

IBM PureSystems – sistemele de calcul noi de tip „sisteme expert integrate”.

– Design „Scale-In”: Integrează servere, sisteme de stocare şi reţele de calculatoare.
– Modele de expertiză: IBM încorporează expertiză tehnologică şi industrială prin intermediul aplicaţiilor software.
– Integrare cu mediul „Cloud”: Sistemele din familia PureSystems sunt create pentru mediul „Cloud Computing”.
Detalii:
http://www.agora.ro/stire/ibm-lanseaza-o-noua-era-a-sistemelor-de-calcul
http://www-03.ibm.com/press/us/en/presskit/37378.wss


Cloud computing Microsoft Azure Platform

The Windows Azure Platform is a Microsoft cloud platform used to build, host and scale web applications through Microsoft datacenters. Windows Azure Platform is thus classified as platform as a service and forms part of Microsoft’s cloud computing strategy, along with their software as a service offering, Microsoft Online Services.

The Windows Azure Platform provides an API built on REST, HTTP and XML that allows a developer to interact with the services provided by Windows Azure. Microsoft also provides a client-side managed class library which encapsulates the functions of interacting with the services. It also integrates with Microsoft Visual Studio so that it can be used as the IDE to develop and publish Azure-hosted applications. Windows Azure became commercially available on 1 Feb 2010.

Running applications on machines in an Internet-accessible data center can bring plenty of advantages. Yet wherever they run, applications are built on some kind of platform. For on-premises applications, this platform usually includes an operating system, some way to store data, and perhaps more. Applications running in the cloud need a similar foundation. The goal of Microsoft’s Windows Azure is to provide this.

Sharding with SQL Azure

Database sharding is a technique of horizontal partitioning data across multiple physical servers to provide application scale-out. SQL Azure is a cloud database service from Microsoft that provides database functionality as a utility service, offering many benefits including rapid provisioning, cost-effective scalability, high availability and reduced management overhead. SQL Azure combined with database sharding techniques provides for virtually unlimited scalability of data for an application.

Source: http://www.microsoft.com/windowsazure/whitepapers/

Case Studies: http://www.microsoft.com/windowsazure/evidence/

Premieră în 2011 pentru România:

Modulul de publicare a informaţiilor pe Internet (Sistemul informatic pentru examenele naţionale – realizat de Siveco Romania) a folosit platforma de Cloud computing Microsoft Azure, ceea ce asigură disponibilitate permanentă, capacitate de calcul practic infinită, redundanţă şi securitate a informaţiilor. Acest modul a fost conceput special pentru a face faţă atât unui număr foarte mare de accesări simultane, cât şi posibilelor atacuri menite să întrerupă disponibilitatea serviciilor furnizate.

Conform www.trafic.ro, pe 12 iulie 2011 s-a înregistrat un nou record de vizitatori unici pentru http://portal.edu.ro, cu 828.935 într-o singură zi şi peste 24 de milioane de afişări.  Cele mai accesate site-uri ale portalului au fost http://admitere.edu.ro, http://bacalaureat.edu.ro şi http://titularizare.edu.ro. Sursa: http://portal.edu.ro/index.php/articles/news/11492.


Despre primele calculatoare electronice

Primele in lume

1946: primul calculator electronic pe scara larga, de uz general, complet operational, ENIAC (Electronic Numerical Integrator and Calculator), finantat de armata SUA, utilizat la calculul tabelelor balistice de artilerie, proiectarea bombei cu hidrogen etc.; La 30 iunie 1945 se publica celebrul raport al lui John von Neumann intitulat First Draft of a Report on the EDVAC (EDVAC – Electronic Discrete Variable Automatic Computer), Moore School of Electrical Engineering, care continea 43 de pagini. John von Neumann – stralucit matematician – este atras inca din anul 1944 la proiectul ENIAC.

John von Neumann Page at Brown University
Ref.: http://www.brown.edu/Research/Istrail_Lab/von_neumann.php

John Von Neumann: The Scientific Genius Who Pioneered the Modern Computer, Game Theory, Nuclear Deterrence, and Much More.John von Neumann Page - Brown University

John von Neumann is widely regarded as the greatest scientist of the 20th century after Einstein. Born in Budapest in 1903, John von Neumann grew up in one of the most extraordinary of scientific communities.

1949: calculatorul EDSAC (Electronic Delay Storage Automatic Computer) primul calculator electronic complet echipat, operational, cu programe memorate

1951: calculatorul UNIVAC I, primul calculator electronic comercial de mare succes, derivat din BINAC. Costa 250 000 $, s-au construit 48 de sisteme!

1952: primul calculator comercial IBM 701 Electronic Data Processing Machines

Primele in Romania

1957: CIFA 1 primul calculator romanesc, de la Bucuresti, realizat la Institutul de Fizica al Academiei, Magurele (ing. Victor Toma); Romania este a 8-a tara din lume care construieste un asemenea calculator si a doua dintre fostele tari socialiste, dupa fosta URSS [Draganescu]. Au urmat: CIFA-2 cu 800 de tuburi electronice (1959), CIFA-3 pentru Centrul de calcul al Universitatii din Bucuresti (1961), CIFA-4 (1962).

1961: calculatorul MECIPT – Masina Electronica de Calcul a Institutului Politehnic Timisoara; Aplicatii (calcule pentru rezistenta) realizate pe MECIPT-1 [Farcas] in perioada 1961-1964: proiectarea cupolei pavilionului expozitional Bucuresti, actual Romexpo (acad. D. Mateescu, programator ing. V. Baltac); proiectarea barajului Vidraru de pe Arges (18 zile in loc de 9 luni manual)

1963: DACICC calculator realizat de Institutului de Calcul al Academiei, Filiala Cluj-Napoca

Ref.: MAESTRI AI INGINERIEI CALCULATOARELOR (Lucian N. Vintan ), Universul ingineresc nr. 16/2007 – http://www.agir.ro


mandela.jpg einstein.jpg

Conf. dr. Marin Vlada,Universitatea din București, 22 Februarie 2018

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *