یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی

۳ مطلب با کلمه‌ی کلیدی «filesystem» ثبت شده است

۲۱
۱۳۹۵/۰۷

Virtual File System یا سیستم فایل مجازی

 

Virtual File System(مخفف VFS) یک ساب سیستم مهم در Kernel لینوکس هست که لایه بین filesystem و برنامه های user-space رو تشکیل میده. درواقع همه filesystem ها، با تکیه بر VFS می تونن شناسایی بشن و تبادل اطلاعات کنن. همین مسئله، برنامه های user-space رو قادر کرده که توسط دستورات موجود در VFS برای خواندن و نوشتن در filesystem های گوناگون اقدام کنن:

 

نکته: در اینجا منظور از لایه، همون Abstraction layer و منظور از دستورات، همون System call/SysCall هستش.

نکته 2: البته به برکت wrap های GNU C Library، کمتر پیش میاد که برنامه user-space نیاز به استفاده از System call داشته باشه.

  • یوشا آل ایوب
۳۰
۱۳۹۱/۰۵

 

ماژول، قطعه ی نرم افزاری در بخشی جدا از Core هسته هستش که هنگام فراخونی شدن، پیوند و فعال میشه و یکسری عملیات تعریف شده ای رو انجام میده.
این ماژول می تونه سرویس باشه، filesystem باشه، پروتکل شبکه باشه، تعدادی System call باشه و یا درایور یک سخت افزار باشه; که در هر صورت ماژول نام داره.

ماژول ها در لینوکس به دو گروه تقسیم میشن:

  1. Built-in kernel module
  2. Loadable kernel module (یا LKM)

Built-in kernel module: که با قرار دادن سورس ماژول در داخل پوشه های سورس Kernel، همراه با Kernel کامپایل میشه.
Loadable Kernel module: که با load کردن ماژول کامپایل شده در داخل سیستم در حال اجرا فعال میشه.

  • یوشا آل ایوب
۱۱
۱۳۹۱/۰۲

شسیس

تصویری از معماری سیستم عامل Android بهمراه محل قرارگیری component ها در filesystem:

 

منبع تصویر رو ندارم.

 

توضیح کوتاه درباره لایه های اندروید:

  1. لایه برنامه های کاربردی (Apps)

    • شامل برنامه های پیشفرض سیستم (/system/app/) و برنامه های نصب شده توسط کاربر (/data/app-private).

  2. لایه API و فریمورک

    • شامل کتابخانه های android.* و java.* (بر پایه Apache Harmony) که برای توسعه اپلیکیشن ها استفاده می شوند.

  3. لایه سرویسهای اصلی (System Services)

    • سرویسهای حیاتی اندروید (مانند Activity manager) که از طریق Binder با برنامه ها ارتباط برقرار می کنند.

  4. لایه‌ های پایینی

    • ماشین مجازی (Dalvik/ART): اجرای کدهای جاوا.

    • لایه کتابخانه های نیتیو (/system/lib/): مانند OpenGL، SQLite.

    • HAL (لایه انتزاع سخت افزار): ارتباط با درایورهای لینوکس.

    • هسته لینوکس: مدیریت حافظه، پردازشها و درایورهای سخت افزار.

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

  • یوشا آل ایوب