[so] my feedback
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Mon Jul 6 20:30:53 EEST 2009
On Fri, 2009-06-26 at 03:09 +0300, Daniel Flamaropol wrote:
> A. Cursul de Sisteme de Operare (vasta lume a SO) s-a redus la Linux
> si Windows.
> E pana la urma normal, avand in vedere extinderea acestora, dar cred
> ca tuturor ne-ar fi
> facut placere sa vedem macar cum arata un program de Mac sau unul de
> Solaris, etc.
> Astea sunt genul de curiozitati foarte greu de satisfacut in afara
> facultatii.
Desi, din punctul de vedere al "hacker"-ului din mine, acest lucru ar fi
util, este o cantitate nerelevanta de informatie si efort. Multe din
feedback-uri adreseaza cantitatea mare de informatie alocata materiei.
Adaugarea unor alte sisteme de operare ar face asimilarea acestora si
mai grea. Probabil ca niste infomatii de genul "bits & pieces" ar putea
fi utile.
> Obisnuinta cu Linux se poate observa si in modul in care este
> alcatuit/predat cursul.
> Majoritatea laboratoarelor (si nu pot sa accentuez suficient acest
> lucru), sunt alcatuite
> pe Linux si apoi PORTATE pe Windows. (exemplul cel mai bun este
> laboraturl de
> semnale si cel de introducere).
Toti cei care predau la SO au experienta in Linux. Este natural sa
existe o inclinatie in acest sens. Nevertheless, ridicarea nivelului de
relevanta a Windows in cadrul cursului/laboratorului este o directie
importanta pentru anul viitor[1].
> 1+2. Solutie : Folositi Visual Studio. Orice slujba Windows-related
> din industrie va folosi cel putin
> o instalare Professional de Visual Studio. Invatati studentii sa faca
> debugging, profiling, sa foloseasca
> msdn-ul integrat. Invatati-i sa foloseasca macro-urile predefinite si
> snippet-urile automate. Asa cum
> sunt sectiuni anexa despre modalitati de cautare in fisiere multiple
> pe Linux, sa fie anexe despre
> proiecte si solutii pe Windows.
> 1+2. Impact asupra studentilor :
> - De la primele laboratoare, se instaureaza o frica de
> parametrii.. cati sunt, ce fac,
> unde ii pun? Un simplu open de fisier (CreateFile) se poate transforma
> intr-un calvar de a cauta codul
> pe msdn/cs.pub.ro si de a il adapta corespunzator.
> - Daca vor avea ocazia sa lucreze in industrie, se vor uita "Ca
> vitelul la poarta noua" la IDE si la
> facilitatile lui. La EGC cand s-a intrebat "cine nu a creat vreodata
> un .sln" 3/4 din grupa mea a ridicat
> mana. Cursul de SO nu a schimbat nimic in aceasta privinta
Corect. Vom trece laboratorul pe Visual Studio. E mentionat la
Sugestii[1].
> 3. Problema : Nu s-a facut nimic legat de HWND si Message Pump. Am mai
> scris in diverse mesaje,
> dar acestea 2 sunt concepte _vitale_ in modul in care functioneaza
> procesele intr-un sistem Windows.
> In opinia mea sunt la fel de importante ca semnalele de pe Linux.
> Orice program care se vrea serios
> contine un message pump cu interpretari ale diverselor semnale
> (pardon, mesaje).
Nu am nici o cunostinta despre HWND si MessagePump. Din ce descrii tu,
insa, nu par a fi concepte legate de SO si mai degraba de programarea
Windows, care nu este scopul acestui curs.
> 4. Problema : Nu s-a facut nimic legat de profiling pe Windows.
> Probabil studentii au ramas cu impresia ca
> nu se poate, sau ca nu exista astfel de unelte. Bineinteles ca exista,
> si sunt integrate in Visual Studio.
Laboratorul de profiling nu este un laborator "fundamental". Probabil ca
va fi inlocuit la anul.
> 5. Problema : Nu s-a facut nimic legat de debugging pe Windows. Cele
> mai importante aspecte (si deloc
> triviale) sunt pentru mine cele care privesc debugging-ul
> multi-threaded, in care urmaresti un anumit
> thread pe parcursul executiei, sau repornesti anumite thread-uri desi
> s-au blocat.
Taken into account.
> 6. Problema : Nu s-a facut nimic legat de ferestre pe Windows. Spre
> deosebire de Linux, unde X-server-ul
> este doar o alta aplicatie, in Windows ferestrele stau la baza
> sistemului (dupa cum ii spune si numele).
> Shell-ul este atat de integrat de partea de ferestre incat pentru
> multe functii de sistem, daca nu ai deja o
> fereastra deschisa, trebuie sa iti creezi una (fie ea si una
> invizibila), doar pentru a aloca resursele necesare.
Vezi raspunsul la observatia 3.
> 7. Etc.. cred ca v-ati prins deja care este ideea. Tot ce am scris, am
> scris din proprie experienta. Avand in
> vedere ca partea de Linux a laboratorului mi-a depasit cu mult
> expertiza, presupun ca exista aspecte de
> Windows care ar fi utile studentilor, dar despre care habar nu am si
> pe care nu le pot mentiona.
Daca tu stii foarte multe intr-un domeniu dat nu inseamna ca laboratorul
trebuie sa streseze acele aspecte pe care tu nu le cunosti. Nu toti
studentii au un nivel de pregatire echivalent. Diversitatea
laboratorului vine in sprijinul ideii ca unii studenti stiu mai bine
unele lucruri iar altii mai bine altele. Ai ocazia astfel, sa inveti
lucruri noi si sa iti stabiliezezi cunostintele despre lucrurile deja
stiute.
> As sugera asistentilor sa orienteze partea de Windows catre
> dezvoltarea de programe care fac ceva, mai clar
> de programe care fac lucrurile asa cum _ar trebui_ sa fie facute.
Este dificil sa faci la un laborator programare ca "sa faca ceva". Ca
asistent, nu ai timpul si nici atentia necesara pentru a face asa ceva.
Ce putem face este sa definim niste exercitii "care sa faca ceva", dar
care sa nu fie gandite pentru rezolvare in laborator. Oricum,
laboratorul nu vine sa compenseze studiul individual, ci sa ofere baza
pentru acesta.
> Multi dintre studentii care vor iesi din facultate vor lucra in medii
> Windows-based. Acest curs nu i-a invatat
> aproape nimic despre realitatea lucrului pe Windows, nimic despre
> debugging sau profiling, nimic despre
> link-are multipla intr-o solutie de dimensiuni mari, nimic despre cum
> arata DE FAPT un program de Windows.
Nu asta este scopul. E un curs de sisteme de operare, nu un curs de
programare Windows.
> Interes pentru Windows. Acceptarea necesitatii unei pregatiri
> eficiente si profunde in acest sistem de operare.
> Folosirea _tuturor_ uneltelor puse la dispozitie de Microsoft, si a
> sistemelor de operare la zi. ( Server 2003 are
> 6 ani vechime.. la multe dintre teme gaseam referinte la API-ul cel
> nou, care are apeluri si functionalitati diferite).
Absenta documentatiei, a exemplelor si a unei comunitati de oameni care
sa lucreze intens in acest domeniu va insemna tot timpul o diminuare a
impactului Windows in cadrul laboratorului. Este o diferenta importanta
intre nivelul de receptivitate pe care il obtii cand ai o problema de
dezvoltare pe un sistem Linux si una pe un sistem Windows.
Faptul ca echipa de SO are experienta pe Linux si nu pe Windows nu e o
intamplare. Acea acceptare a necesitatii mentionata de tine este un fel
de a spune "bah, asa stau lucrurile, iti place sau nu-ti place" :-) Din
punctul meu de vedere, inveti ceva pentru ca iti place ceva, nu pentru
ca asa se intampla prin jur.
Si, din perspectiva cursului, API-ul si utilitarele folosite sunt
subprioritare notiunilor si conceptelor prezentate. O data ce conceptele
si notiunile sunt clare, acomodarea cu o noua platforma sau un nou API
este extrem de facila: fie ea Windows, Apple, MFC etc.
>
> Dar cel mai important, cred eu, este aplicarea aceleiasi pasiuni si
> aceluiasi entuziasm pentru laboratoarele/temele
> de Windows, de care se da dovada la cele de Linux. Impresia actuala
> este ca acestea se fac doar ca sa
> se faca, si nimanui nu ii convine atunci cand trebuie sa se ocupe de
> ele.
Vom lucra la acest aspect.
> Multumesc daca ati citit pana aici si pentru dedicatia cu care va
> ocupati de aceasta materie!
Multumim si noi pentru rabdarea cu care ai scris acest feedback.
Razvan
[1] http://cs.pub.ro/~so/wiki/index.php/Sugestii:Probleme
More information about the so
mailing list