1 of 42

Cursul #01

Intro

1

2 of 42

Bun venit la Facultatea de Automatică și Calculatoare!

Mult succes!

2

3 of 42

Why?

  • Inițiere în lumea Linux
  • Competențe de utilizare eficientă a sistemelor de calcul
  • Curs și comunitate suport pentru disciplinele de inginerie
  • Primii pași în domeniul sistemelor de operare
  • Prezentarea diversității perspectivelor domeniului IT

3

4 of 42

Resurse USO

  • curs pe Teams
  • my.upb.ro - platforma studenti
  • support.upb.ro - probleme de suport
  • ocw.cs.pub.ro/uso – informații persistente
    • Slide-uri, regulament, etc
  • curs.upb.ro – informații dinamice
    • Forumuri, feedback, etc

4

5 of 42

Carte

  • Utilizarea Sistemelor de Operare
  • 150% din materia de curs și laborator
  • recomandăm parcurgerea capitolului aferent înainte de curs/laborator
  • În format digital:

https://github.com/systems-cs-pub-ro/carte-uso/releases

5

6 of 42

Desfășurare curs

  • Prezentare interactivă – aproximativ 30 de slide-uri de conținut
  • Pauzele sunt importante pentru socializare
  • Un curs = un subiect; corelare curs-laborator-suport
  • Moto + conținut + cuvinte cheie + stiați că + sugestie carte + link-uri utile
  • Recomandăm parcurgerea prezentării si a capitolului din carte înainte/după curs
  • Nu se poate asimila totul de la curs; laboratoarele și suportul de carte sunt importante

6

7 of 42

Așteptări de la studenți

  • Să fiți prezenți
  • Să fiți implicați, să puneți întrebări, să discutați
  • Să nu lăsați (prea multe) neclarități în urma unui curs
  • Folosiți-vă de “resursa” profesor
  • Întrebările cele mai bune încep cu “De ce?” (analiză critică)
  • Un răspuns frecvent este “Depinde”

7

8 of 42

Notare

  • 0.5 puncte - laborator (11 laboratoare)
  • 4 puncte - examen practic la mijlocul semestrului - din primele 6 laboratoare
  • 1 punct - teme (4 teme)
  • 0.5 puncte - lucrări de curs (5 lucrări la CB, CC, CD, 3 la CA)
  • 2.5 puncte - examen grilă final (sesiune)
  • 2.5 puncte - examen practic final (sesiune) - din toate laboratoarele
  • Necesar minim 2.5 puncte pe parcurs pentru intrare în examen
  • total - 11 puncte

8

ocw.cs.pub.ro/courses/uso/punctaj

9 of 42

Hit List

9

systems.cs.pub.ro/bachelor/uso_hitlist

  • 12 pentru rezultate de midterm
  • 23 pentru implicarea în activitățile de laborator
  • 10 pentru implicarea în activitățile de curs
  • 12 pentru rezultatele la examenul final
  • 3 extra vor fi acordate pentru implicarea în comunitate
    • 1 pentru suport pe forum teme
    • 1 pentru suport pe channel-ul suport tehnic
    • 1 pentru activitate de memărie, To be announced

10 of 42

Evenimentele următoare

  • Linux Install Fest
    • Instalăm Linux pe laptopuri noi sau VM
    • Explicăm procesul de instalare celor curioși
    • 04 octombrie, 10:00-16:00, clădirea PRECIS, etaj 7
  • Academy War Games
    • Singurul loc unde poți să-ți bați asistentul
    • 10 octombrie, Hol EC
    • https://awg.sprk.ro/

10

11 of 42

AWG

11

12 of 42

Curs #01

... despre sisteme de operare

12

13 of 42

If you can't explain it simply, you don't understand it well enough

Albert Einstein

13

14 of 42

Ce este un sistem de operare?

  • Îl vom abrevia de acum încolo SO (sistem de operare)
  • Un set de programe care ...
    • Controlează distribuția resurselor unui calculator
    • Mediază comunicarea dintre hardware și aplicațiile utilizatorilor

14

15 of 42

Rolul SO

  • Arbitrarea accesului la resurse:
    • Punte hardware-software
    • Punte hardware - utilizatori

15

16 of 42

Structura unui SO

  • Nucleul (kernelul)
    • Gestionează resursele fizice
    • Oferă o interfață comună aplicațiilor

  • Programele de bază
    • Permit interacțiunea cu nucleul și cu sistemul fizic
    • exemple: interpretoare de comenzi, utilitare de gestiune a utilizatorilor, biblioteci

16

17 of 42

Exemple de SO

17

Generaliste

    • Windows
    • Mac OS
    • Linux
    • FreeBSD, OpenBSD
    • Orbis OS

Dedicate

    • IOS (Cisco)
    • JUNOS (Juniper)
    • FortiOS (Fortinet)

Mobile

    • iOS
    • Android

18 of 42

Funcția SO: Multiplexare

  • Armonizarea utilizatorilor multipli
  • Arbitrarea competiției pentru resurse

18

19 of 42

Funcțiile SO

  • Administrarea resurselor hardware
    • Accesul la procesor, memorie, hard disk, comunicare în rețea, dispozitive de intrare/ieșire
    • Competiția utilizatorilor
    • Competiția aplicațiilor – inclusiv cu SO însuși
  • Portabilitate
    • O aplicație poate rula pe sisteme fizice diferite
  • Comunicarea cu dispozitive periferice
    • Prin drivere – traduc comenzile SO în comenzi inteligibile echipamentelor
  • Gestiunea utilitarelor de diagnosticare și monitorizare

19

20 of 42

Responsabilități ale SO

  • Administrarea procesorului
  • Administrarea memoriei
  • Administrarea echipamentelor și perifericelor
  • Administrarea sistemelor de stocare a datelor
  • Medierea: Interfața cu aplicațiile și cu utilizatorii (system API)
  • Utilitare: aplicații pentru utilizatori

20

Rolul principal al SO constă în impunerea de reguli pentru folosirea coerentă a resurselor (denumită și multiplexare)

21 of 42

Windows

  • Microsoft
  • cel mai răspândit pe piața desktop
  • număr foarte mare de aplicații construite

21

22 of 42

macOS

  • Apple
  • exclusiv pe sistem Mac (Mac Pro, Mac Mini, MacBook)
  • axat pe utilizabilitate
  • circa 10-15% utilizare pe piața Desktop
  • versiunea cea mai recentă: macOS 26 Tahoe

22

23 of 42

Linux

  • proiecte de comunitate
  • nucleul/kernel-ul Linux (iniția de Linus Torvalds)
  • cod open source
  • găsit în distribuții de Linux
  • cotă 1-2% pe piața Desktop
  • răspândit pe piața serverelor
  • foarte răspândit în zona embedded și smartphone (Android și altele)

23

24 of 42

Android

  • dezvoltat în principal de Google
  • cod open source
  • peste 70% cotă pe piața smartphone
  • are la bază nucleul Linux
  • aplicații dezvoltate în Java
  • versiunea cea mai recentă: Android 16

24

25 of 42

iOS

  • Apple
  • doar pe dispozitive produse de Apple (iPhone, iPad)
  • circa 25-29% cotă pe piața smartphone
  • aplicații dezvoltate în Swift
  • versiunea cea mai recentă: iOS 26

25

26 of 42

Alte sisteme de operare

  • Smart watches: watchOS, webOS, PebbleOS
  • Smart TV: tvOS, Tizen, webOS
  • Console de jocuri: Xbox OS, Orbis OS (PlayStation), Nintendo Switch, SteamOS
  • Mașini (automative): QNX, soluții bazate pe Windows, soluții bazate pe Linux
  • Yocto: crearea de distribuții Linux pentru platforme embedded/încorporate

26

27 of 42

Aplicații Desktop

  • Browser de fișiere
  • Browser web
  • Editor de text
  • Image viewer/editor
  • Media player
  • Suită Office
  • Client e-mail
  • Messenger/chat

27

  • BitTorrent
  • Firewall, antiviruși
  • Calculator
  • Notițe
  • Soluții de virtualizare
  • Programatori: IDE (Integrated Development Environment), terminal
  • Jocuri

28 of 42

Aplicații mobile

  • Calculator
  • Calendar
  • Clock
  • Browser
  • Messenger
  • Maps
  • Player
  • Gallery

28

  • Agenda
  • Notes
  • E-mail
  • Google, Facebook, Youtube, Twitter, Skype, Instagram, WhatsApp, Dropbox
  • Angry Birds, Plants vs Zombies
  • http://store.apple.com
  • https://play.google.com

29 of 42

Linux și Windows

Linux

    • Nucleul Linux
    • O serie de pachete bazate pe proiectul GNU
    • Distribuții GNU/Linux
    • Comunitate de autori și utilizatori
    • Open-source
    • Prezent în piața server și embedded
    • Android

29

Windows

    • Proiect comercial (Microsoft)
    • Facilitatea și confortul utilizării
    • Număr mare de aplicații
    • Domină piața desktop
    • Closed-source

30 of 42

Linux și Unix

  • Unix este sistemul de operare de origine
    • Bell Labs, 1969
    • Ken Thompson, Dennis Ritchie
  • SO existente pornite din codul Unix
    • FreeBSD, NetBSD, OpenBSD
    • Open Solaris
    • Mac OS X
  • Linux este un sistem de operare Unix-like
    • nu deține componente din codul Unix
    • este compatibil cu “standardul Unix” (Single Unix Specification)
  • Vom folosi, in general, termenul “Unix”; folosim “Linux” pentru aspecte specifice Linux

30

31 of 42

Istoricul Unix

31

32 of 42

32

33 of 42

Lumea Linux

33

34 of 42

Distribuții Linux

  • Bazate pe RPM

  • Bazate pe Debian

  • Bazate pe Gentoo

  • Bazate pe Slackware

34

35 of 42

Carte: Modern Operating Systems

  • Ediția a 4-a, 2014
  • Andrew Tanenbaum – Vrije Universiteit Amsterdam
  • Carte răspândită pentru sisteme de operare
  • Stil povestit, pe alocuri amuzant, ușor de parcurs

35

36 of 42

Ken Thompson/ Dennis Ritchie

  • inventatorii Unix, 1969, Bell Labs
  • limbaj de programare C
  • autorii mai multor cărți de SO și programare
  • Citate celebre:
    • “C is quirky, flawed, and an enormous success”
    • “When in doubt, use brute force”

36

37 of 42

Serendipity

  • Thompson’s desire to play video games, led him to the PDP-7. He was able to have a computer to himself to work on Unix, because the PDP-7 was a largely abandoned machine.
  • Thompson had the time to write the first version of Unix because his wife went away for a month to show their new baby off to relatives.
  • The severe limitations of DEC’s PDP series forced Thompson and team to be highly efficient in their designs for Unix.
  • Unix had a community develop around it, because AT&T “gave away” not only the OS, but the source code for it, as well.

Joseph Crick, Lessons from the development of Unix

37

38 of 42

Red Hat Inc.

  • redhat.com
  • “The World’s Open Source Leader”
  • Înființată în 1993
  • Professional open-source business model
  • The first obe-billion dollar open source company (2012)
  • Principalul contribuitor “corporate” în nucleul Linux
  • RHEL – Red Hat Enterprise Linux
  • Comunitatea Fedora

38

39 of 42

ReactOS

  • Open source
  • Sistem de operare bazat pe Windows XP/2003
  • Lansat în 2004
  • reactos.org

39

40 of 42

Redox OS

  • Open source
  • Sistem de operare inspirat din Plan 9, Minix, seL4, BSD și Linux
  • Lansat în 2020
  • Scris în Rust cu biblioteca C scrisă în Rust
  • redox-os.org

40

41 of 42

Cuvinte cheie

  • Sistem de operare
  • Nucleu (kernel)
  • Gestiune de resurse
  • Mediere
  • Windows
  • Linux
  • Unix
  • Distribuții

41

42 of 42

Resurse utile

  • http://www.unix.org/
  • http://www.kernel.org/
  • http://www.gnu.org/
  • http://www.distrowatch.com/

42