TGViewer
OS Internals OS Internals @oxaa55 · 3.64K subscribers
Post #94 3.45K
دوستان سلام
تصمیم گرفتم در کنار روند آموزشی Internals Sessions که داریم بخش‌هایی از کلاس‌هایم رو هم در قالب ویدئوهای کوتاه منتشر کنم و یکسری از مفاهیم سیستم‌عامل رو شرح دهم.

در اولین قدم با ذکر یک مثال ساده، به بررسی تاثیر متغیرهای TLS (Thread Local Storage) در برنامه‌های چند نخی می‌پردازیم.

فضای حافظه‌ای که پروسه‌ها دارند، بین threadهای مختلفی که در پروسه ایجاد می‌شوند مشترک بوده و همگی به آن دسترسی دارند و علت اینکه در برنامه نویسی چندنخی باید به Synchronization بین نخ‌ها توجه کنیم همین موضوع است. ولی برخی مواقع داشتن فضایی که به ازای هر نخ منحصر به فرد باشد لازم است. مثلا زمانیکه یک تابع با خطا مواجه شده و نیاز به ارسال کد خطا دارد یا زمانیکه استثنایی در فراخوانی یک تابع رخ می‌دهد. در این مواقع باید فضای استفاده شده برای کد خطا Per Thread باشد و استفاده شدن آن به صورت مشترک باعث بروز رفتار غیرقابل پیش‌بینی می‌شود.

به عنوان مثال در برنامه‌نویسی C متغیر errno در فضای TLS نگه‌داری می‌شود که خطای رخ داده در threadهای مختلف فقط در همان thread بوده و مشکلی ایجاد نشود. در API ویندوز هم تابعی به اسم GetLastError وجود دارد که کار مشابهی می‌کند ولی این تابع مقدار یک متغیر موجود در TEB (Thread Environment Block) را باز می‌گرداند که در فضای TLS‌ نیست ولی آن هم Per Thread بوده و مفهوم مشابهی دارد.

در این ویدئو به بررسی شیوه‌ی تعریف متغیرهای TLS در ویندوز و تست آن می‌پردازیم.
لینک ویدئو در یوتیوب:
https://youtu.be/1SHLyoicm-s
لینک ویدئو در آپارات:
https://aparat.com/v/YTCgV


#ShortWinInternals #windows #internals #cpp #programming #threads #TLS
YouTube Thread Local Storage in Windows [PER] فضای حافظه‌ای که پروسه‌ها دارند، بین threadهای مختلفی که در پروسه ایجاد می‌شوند مشترک بوده و همگی به آن دسترسی دارند و علت اینکه در برنامه نویسی چندنخی باید به Synchronization بین نخ‌ها توجه کنیم همین موضوع است. ولی برخی مواقع داشتن فضایی که به ازای هر نخ…
  • ❤ 18
  • 👍 7
  • 👏 1
More from @oxaa55
  1. Sep 24, 2026🎯Inside the MBR: How the 512-Byte Boot Sector and Partition Tables Work ⁉️تا حالا به این…
  2. Aug 21, 2026🔸 کارگاه تخصصی «Linux Kernel Internals» اگر با Linux کار می‌کنید، شناختن دستورات و مدیریت…
  3. Aug 14, 2026OS Internals pinned «🚀 دوره‌ی Foundations of Linux Reverse Engineering and Exploitation ب…
  4. Aug 14, 2026🚀 دوره‌ی Foundations of Linux Reverse Engineering and Exploitation به صورت کامل منتشر شد!…
  5. Jun 3, 2026سلام به همه عزیزان، یکی از کارهایی که تجربه خیلی با ارزشی است و یادگیری زیادی داره، کار کر…
  6. Dec 12, 2025📢 انتشار فصل هفتم دوره Linux Exploit Development ℹ️ جزئیات ساختار فایل‌های ELF. مشاهده‌ی…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →