Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatică
Programul de studii: Optimizarea modelelor informatice - în limba maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID1029	Erőforrás optimalizáció operációs rendszerekben 	

Félév	Órák: E+Sz+L	Kategória	Típus	
2	2+2+0	szaktárgy	kötelező	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
ROBU Judit	Dr.	docens	Informatikai rendszerek	*	*		

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkitűzései
egy számítási rendszer erőforrásainak optimalizálásával kapcsolatos módszerek elsajátítása.	

IV. A tantárgy tartalma
–	programok forráskód szintű optimalizálása
–	programok assembly-kód szintű optimalizálása
–	műveletek vektorizálása assembly nyelven
–	multimédia utasítások
–	alkalmazások végrehajtásának optimalizálása többszálas és többprocesszoros környezetben	

V. Könyvészet
1.	IA-32 Intel Architecture Optimization
Intel Corporation, 2003.
2.	Software Optimization Guide for AMD 64 Processors
Advanced Micro Devices, Sunnyvale, 2005.
3.	Mark E. Russinovich, David A. Solomon: Microsoft Windows Internals (4th edition)
Microsoft Press, Redmond, 2005.
4.	AMD Athlon Processor x86 Code Optimization Guide
Advanced Micro Devices, Sunnyvale, 2002.
5.	Agner Fog: How to optimize for the Pentium family of microprocessors
http://www.agner.org/assem/, 2004.
6.	Walter Oney: Programming the Microsoft Windows Driver Model (2nd edition)
Microsoft Press, Redmond, 2003.
7.	Robert Love: Linux Kernel Development (2nd edition)
Novell Press - Pearson Education, Indianapolis, 2005.	

VI. Az oktatói tevékenység heti tematikája
1.	Az Intel IA-32 processzorok felépítése
–	felépítés
–	az utasítások dekódolásának és végrehajtásának folyamata
–	végrehajtási egységek és a köztük levő függőségek 
2.	Kernel architektúra és az alkalmazások végrehajtása modern operációs rendszerekben 
–	NT architektúra (Windows NT, 2000, XP, 2003)
–	a kernel, a driverek és az alkalmazások végrehajtási környezete 
3.	Programok forráskód szintű optimalizálása 
–	rövid ciklusok eltávolítása
–	logikai kifejezések kiértékelése 
–	dinamikus-memória kiosztási stratégiák 
–	explicit párhuzamosság a kódban
–	gyakran használt közös részkifejezések 
–	adatok és adatszerkezetek átszervezése
–	gyors aritmetikai utasítások
4.	Programok assembly-kód szintű optimalizálása. 
–	ugrások optimalizálása 
–	utasítások végrehajtásának optimalizálása
5.	Műveletek vektorizálása assembly nyelven
–	SIMD (Single Instruction Multiple Data) architektúrák
–	az adatok átszervezése SIMD processzoros feldolgozáshoz
–	SIMD utasításkészletek: MMX, 3DNOW!, SSE
6.	Multimédia utasítások a processzor szintjén 
–	programozás MMX utasításokkal, műveletek egész számokkal
–	programozás SSE utasításokkal, műveletek valós számokkal 
–	példák: a DSP (grafika és hang), a matematika, stb. területéről
7.	Alkalmazások végrehajtásának optimalizálása többszálas és többprocesszoros környezetben.
–	hatékony szinkronizálás és kommunikáció többszálas folyamatoknál 
–	programok párhuzamosítása, párhuzamos algoritmusok	

VII. Alkalmazott didaktikai módszerek
előadás, beszélgetés, problémafelvetés, bemutató	

VIII. Értékelés
szemináriumi dolgozat 50%, projekt 50%	

IX. Kiegészítő könyvészet
1.	Andrew S. Tannenbaum, Albert S. Woodhull: Operációs rendszerek (második kiadás), Panem-Prentice-Hall, Budapest, 1999.
2.	Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest: Algoritmusok (negyedik kiadás), Műszaki Könyvkiadó, Budapest, 2003.
3.	William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery: Numerical Recipes in C, Cambridge University Press, 2002.
4.	Paul Hsieh: Programming Optimization
http://www.prism.uvsq.fr/~cedb/local_copies/hsieh.html
5.	Glenn Hinton, Dave Sager, Mike Upton, Darrell Boggs, Doug Carmean, Alan Kyker, Patrice Roussel: The Microarchitecture of the Pentium 4 Processor
http://www.intel.com/technology/itj/q12001/pdf/art_2.pdf	

	Dékán,	Tanszékvezető,

	Dátum,	Előadás felelőse,
	2009.02.12.	Dr. ROBU Judit előadótanár