jmp Ring_ZerO

; go to ring zero
نوشته شخصی و فنی

jmp Ring_ZerO

نوشته شخصی و فنی

۳ مطلب در فروردين ۱۳۹۲ ثبت شده است

  • ۰
  • ۱

امروز دنبال کتاب دیتابیس حاجی سیلبرشاتس (Abraham Silberschatz) واس دانلود میگشتم  یک بلاگ قشنگ پیدا کردم چندین کتاب رفرنس رو واس دانلود گذاشته، شامل کتابهای زیر میشه که مراجع خوبیه واس کنکور و براحتی میتونید دانلود کنید:



  • Operating System Concepts Ninth Edition by Abraham Silberschatz, Peter Galvin and Greg Gange
  • William Stallings Operating Systems Internals And Design Principles - 7th Edition - 2011
  • Operating System Concepts, Silberschatz, 8th Edition
  • Introduction To Algorithms (CLRS) - Third Edition
  • Computer Networks Andrew S. Tanenbaum Fifth Ed 2011
  • Computer Networks, Fifth Edition- A Systems Approach - Larry L. Peterson and Bruce S. Davie 
  • و ...



بعضی کتابها همراه با Solution هستند که اوناروهم میتونید دانلود کنید، و بازهم میگم بیشتر به درد بچه های کنکوری میخوره که کارشون راه بیافته و دیگه دغدغه ای نداشته باشن و اگر مشکلی در کتاب های ترجمه و یا دیگر کتب داشتن بتونن از روی رفرنس حل کنند وگرنه واس دانشگاه همون جعفرنژاد و ... بسه.


http://computerscience2.persiangig.com/document/
http://computerscience3.blogfa.com


دوستان عزیز اگر ویرایش های جدیدتری پیداکردین ممنون در اختیار من هم و دیگر دوستان قرار بدین.

  • ۱
  • ۰

MemoryLeak چیست؟

 سلام به دوستان عزیز.

نیت کرده بودم پست ی در مورد Memory Leak بنویسم و در این پست بیشتر باابن باگ آشنا میشیم و حرف میزنیم و کدها بصورت Native code و دلفی هستش (بخش اول) که بعدا سراغ managed code ها هم میریم (بخش دوم).

وقتی که یک برنامه فضایی از حافظه رو در اختیار میگیره و به خودش اختصاص میده، مثلا ساخت یک نمونه از کلاس ها و ... اگر نتونه اون فضای اختصاص یافته رو آزاد کنه این باگ اتفاق میافته که ممکن است با اجرای زیاد برنامه فضای زیادی از حافظه اشغال شده و ازاد نشه و با کمبود حافظه مواجه بشیم.  این باگ توسط برنامه نویس قابل رفع هست. نمونه خیلی ساده که بگم نوشتن برنامه multi-thread اگر به درستی نتونید ترید های ساخته شده رو free کنید حافظه بیخود اشغال میشه.

این باگ رو برای برای موارد خاصی در نظر میگیریم ، مثلا برنامه هایی که در سرور ها اجرا میشن و ممکن است چندسال در حال جرا باشند که اگر همچین باگی در برنامه باشد بعد ازمدتی کل کارها میخابه بعلت اشغال حافظه بیخود و شاید به حد ریستارت نمودن کل سیستم بکشه.

بزارین با یک سورس کد بهتر متوجه بشیم که چگونه این باگ اتفاق میافته، در زیر یک سورس ساده از دلفی هست

procedure PrintFile(const fileName : string);
 var
   myFile   : TextFile;
   fileData : TStringList;
   i        : Integer;
 
 begin
   // Create the TSTringList object
   fileData := TStringList.Create;      // This allocates object memory
 
   // Load the file contents into the string list
   fileData.LoadFromFile(fileName);     // Expands the object memory size
 
   // Open a printer file
   AssignPrn(myFile);
 
   // Now prepare to write to the printer
   ReWrite(myFile);
 
   // Write the lines of the file to the printer
   for i := 0 to fileData.Count-1 do
     WriteLn(myFile, fileData[i]);
 
   // Close the print file
   CloseFile(myFile);
 end;

به نظرتون باگ memory leak کجا داره اتفاق میافته؟

  • ۱
  • ۰

واقعا گاهی فکر میکنم جای تاسف داره که کمتر کسی این مفهوم رو درک میکنه و میتونه تحت این شرایط کار کنه منظورم Team-Working هستش. واقعا چقدر تا بحال بصورت تیمی و یا گروهی کاری رو انجام دادین؟ یا انجام دادیم؟

و یا دوران ابتدایی بچه بودیم، موقع امتحانات ملاک و معیار کمیت بود. مثلا : چند برگ تمرین کردی؟ چندخودکار تموم کردی؟ :دی

اینا ملاک و معیار بود و هرکس تعداد برگهاش بیشتر بود و یا به حد یک خودکار تموم کردن میرسید یعنی خیلی درس خونده و حقش بالاترین نمره بود!! دیگه گذشت اون زمان، الان باید روی کیفیت کار کرد و مدنظر کیفیت باشه، کمیت در برابر کیفیت ارزش آنچنانی نخواهد داشت. مثلا یک کلمه میتونه دنیایی از مطالب رو باز کنه، و بازهم بعنوان مثال مکانیزم امنیتی fight-back در پروتکل مسیریابی OSPF . شاید بگین دریای اطلاعات کجا بود؟؟

شما میتونید اول بفهمین این مکانیزم چیه،چطور کار میکنه،چه مواقعی اجرا میشه،و حملاتی رو پیاده سازی کنید که این مکانیزم رو بایپس کنه و ....

 این مطلب رو به این خاطر گذاشتم که به فایل جالبی برخورد کردم. مطلبی علمی در ساینس دایرکت که واقعا خودم دیدم متعجب شدم، چون تقریبا  300 نویسنده کمتر یا بیشتر داشت!

http://www.sciencedirect.com/science/article/pii/S0370269310003989

حالا این 300 نفر چطوری همکاری داشتند که یک مقاله دادند در ذهن کمتر کسی میگنجه. لینک مقاله در بالا هست تقریبا همونقدر که تعداد صفحات مطالب شده بهمون اندازه هم اسم نویسنده هاشه. تقریبا میشه گفت تعداد صفحات برابرند.