+ All Categories
Home > Documents > Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^...

Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^...

Date post: 02-Jan-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
21
Laborator 1 Introducere Sisteme de Operare 25 Februarie - 2 Martie 2016 SO Laborator 1, Introducere 1/21
Transcript
Page 1: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Laborator 1Introducere

Sisteme de Operare

25 Februarie - 2 Martie 2016

SO Laborator 1, Introducere 1/21

Page 2: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Cine sunt?

I email

I experienta

I pasiuni relevante

I de ce SO?

SO Laborator 1, Introducere 2/21

Page 3: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Resurse

I Wiki: http://ocw.cs.pub.ro/soI NeedToKnow page:

http://ocw.cs.pub.ro/so/meta/need-to-knowI Folosit, i feed-ul RSS

I Lista de discut, iiI [email protected] Abonat, i-va (detalii pe wiki)

I Catalog Google, calendar Google

I Mas, ini virtuale

I vmchecker (verificare teme)

I Documentat, ie

I cs.curs.pub.ro (rol de portal + workshop)

I Pagina de Facebook

SO Laborator 1, Introducere 3/21

Page 4: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Despre laborator

I Subiecte principaleI ProceseI Thread-uriI Comunicare s, i sincronizareI MemorieI Sisteme de fis, iereI I/O

I POSIX/Win32 API programming (C/C++)

I 7 minute workshop / 15 min prezentare / restul task-uri

I Tutorial-like, task-based, learn by doing

I Karma Points (”pentru cei puternici”)

SO Laborator 1, Introducere 4/21

Page 5: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Workshop

I TestulI 3 ıntrebari din laboratorul curentI Primele 7 minute din laboratorI Intrebari atat teoretice, cat s, i practice

I PunctareI Corectat, i voi: acasa, random s, i anonim cate doua teste;

deadline: o saptamana dupa ıncheierea laboratoruluiI Nota finala pe test: punctajul primit pe test (50%) + punctaj

pe cum at, i corectat (50%)

I Total teste: 5 (la ınceputul laboratoarelor 2, 4, 6, 8, 11)

SO Laborator 1, Introducere 5/21

Page 6: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Teme

I Tema 0 – hash-table

I Tema 1 – mini-shell

I Tema 2 – demand pager/swapper

I Tema 3 – thread scheduler

I Tema 4 – server de fis, iere

I Intense

I Necesare: aprofundare API (laborator) s, i concepte (curs)

I Estimare de timp: 8-20 ore pe tema

I Teste publice

I Suport de testare la submit - feedback imediat

SO Laborator 1, Introducere 6/21

Page 7: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Reguli s, i notare

I http://ocw.cs.pub.ro/courses/so/meta/notare/reguli-notare-cb

I Examen final - 4 puncteI Activitate laborator - 1 punct

I 0.75 puncte workshop, 0.75 puncte task-uri => trunchiere la 1punct

I Prezent, a activa obligatorie la cel put, in 8 laboratoare pentru aintra ın examen

SO Laborator 1, Introducere 7/21

Page 8: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Reguli s, i notare (2)

I Teme - 5 puncte + 4 puncte * corelare punctajI Fiecare tema valoreaza 1punctI Rezolvata pe ambele platforme, fiecare tema este punctata cu

maxim 1 punct, punctajele se cumuleaza s, i se trunchiaza la 1punct.

I Trunchiere la 5 puncte pentru teme

I Depunctare temeI -0.25 puncte pe zi (din 10) timp de 14 zileI Dupa 14 zile tema nu se mai puncteaza

I Punctajul de absolvire a cursului este 4.5

I Dupa restant,e tot punctajul se reseteaza la 0

SO Laborator 1, Introducere 8/21

Page 9: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Karma Awards

I Cum se obt, in Karma Points?I Participare la discut, iile din timpul cursuluiI Participare la discut, iile din timpul laboratoruluiI Raspunsuri pe lista de discut, iiI Editarea wiki-uluiI Exercit, iile bonus din timpul laboratoruluiI Teme elegante

I Coding style consistent, comentarii punctuale, claritateacodului

I Solut, ii simple s, i corecteI Modularitate, cursivitate

SO Laborator 1, Introducere 9/21

Page 10: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Desfas,urare laborator

I Parcurgere laborator acasa - 40 de minute

I Workshop - 7 minute

I Prezentare teoretica + ıntrebari - 15 de minuteI Rezolvare exercit, ii - 80 de minute

I Punctaj ıntre 0 s, i 11I Bucuria rezolvarii unui laborator de SO infinita :)

I WorkshopI 3 ıntrebari din laboratorul curent

SO Laborator 1, Introducere 10/21

Page 11: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Suport de laborator

I Cart, iI TLPI, The Linux Programming Interface, M. KerriskI WSP4, Windows System Programming 4th Edition, J. Hart

I Lista de discut, iiI http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so

I Canal IRC, ret,ea Freenode, #cs so

SO Laborator 1, Introducere 11/21

Page 12: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Ce vom ınvat,a ın laborator

I Compilare, depanare, biblioteci

I Operat, ii I/E simple

I Procese

I Gestiunea memoriei

I Comunicarea inter-procese

I Semnale

I Memoria virtuala

I Fire de execut, ie (2)

I Operat, ii de I/E avansate (2)

I Profiling

I Securitate

SO Laborator 1, Introducere 12/21

Page 13: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Laboratorul 1

I CompilareI Traducerea unui program (limbaj sursa, limbaj t, inta)

I MakefileI Automatizarea procesului de compilare

I DepanareI Detectarea erorilor din programe

I BiblioteciI Colect, ie de fis, iere precompilate

SO Laborator 1, Introducere 13/21

Page 14: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Fazele compilarii

SO Laborator 1, Introducere 14/21

Page 15: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

GCC

I GNU Compiler CollectionI gcc hello.c

I Compilare simpla, rezulta fis, ierul executabil a.out

I gcc hello.c -o helloI Compilare simpla cu specificarea numelui fis, ierului de ies, ire

I gcc hello.c -c -o hello.oI Oprirea compilarii dupa obt, inerea fis, ierului obiect

I gcc hello.o -o helloI Editarea de legaturi pentru fis, ierul obiect hello.o

SO Laborator 1, Introducere 15/21

Page 16: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

cl

I cl.exe - Microsoft CompilerI cl hello.c

I Compilare simpla, rezulta fis, ierul executabil hello.exe

I cl /Fehello win.exe hello.cI Compilare simpla cu specificarea numelui executabilului

I cl /c hello.cI Obt, inerea fis, ierului obiect

I cl /Fehello.objI Editarea de legaturi pentru fis, ierul obiect

I cl /? - help

SO Laborator 1, Introducere 16/21

Page 17: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Fis, iere make

I Automatizarea compilariiI Fis, ier Makefile

I ReguliI ComenziI Variabile

I Compilare ’des, teapta’

I make vs. nmake

SO Laborator 1, Introducere 17/21

Page 18: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

gdb

I Fis, ierele sunt compilate cu opt, iunea -gI Execut, ie

I gdb ./a.out

I Comenzi utileI p - printI bt - backtraceI step, nextI set args

SO Laborator 1, Introducere 18/21

Page 19: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Biblioteci

I StaticeI Rezolvare simboluri ın momentul editarii de legaturiI Funct, iile utilizate sunt incluse ın executabilI Dimensiune executabil mai mare, rulare mai rapida

I DinamiceI Rezolvare simbolurilor se poate face

I La ıncarcare (load-time)I La rulare (run-time) (dlopen and friends)

I Executabil de dimensiune redusa

SO Laborator 1, Introducere 19/21

Page 20: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Lucrul cu biblioteci ın Linux

I Crearea unei biblioteci statice (.a)I ar rc libxyz.a f1.o f2.o

I Crearea unei biblioteci partajate (.so)I gcc -fPIC -c f1.cI gcc -shared f1.o -o libxyz.so

I Legarea cu o bibliotecaI -lxyzI -LpathI LD LIBRARY PATH

SO Laborator 1, Introducere 20/21

Page 21: Laborator 1 - Introducereelf.cs.pub.ro/so/res/laboratoare/lab01-cb-slides.pdfWorkshop I Testul I 3 ^ ntreb ari din laboratorul curent I Primele 7 minute din laborator I ^Intreb ari

Lucrul cu biblioteci ın Windows

I Crearea unei biblioteci statice (.lib)I lib /out:<nume.lib> <lista fisiere obiect>

I Crearea unei biblioteci dinamice (.dll)I declspec(dllimport), declspec(dllexport)I link (/dll) sau cl /LD

SO Laborator 1, Introducere 21/21


Recommended