آموزش برنامه نویسی بصورت تئوری و عملی

۳ مطلب با موضوع «Windows :: kernel» ثبت شده است

نوشتن درایور قسمت اول

از این به بعد بشتر تمرکز پستهام رو روی کرنل و درایور نویسی و ساختار درون اون میگذارم .
تصمیم داشتم بیشتر درمورد ساختار درون کرنل ویندوز توضیح بدم اما دیدم بیشتر موجب سردرگمی میشه برای همین تصمیم گرفتم با ارائه مثال ، در وقت مناسب ساختار هارو بیشتر توضیح بدم .

اولین پست ررو با یک مثال خیلی خیلی ساده توضیح میدم که خواننده ها بیشتر با روش کامپایل و اجرا و دیدن خروجی درایور آشنا بشن .

typedef struct _DRIVER_OBJECT {
  PDEVICE_OBJECT     DeviceObject;
  PDRIVER_EXTENSION  DriverExtension;
  PUNICODE_STRING    HardwareDatabase;
  PFAST_IO_DISPATCH  FastIoDispatch;
  PDRIVER_INITIALIZE DriverInit;
  PDRIVER_STARTIO    DriverStartIo;
  PDRIVER_UNLOAD     DriverUnload;
  PDRIVER_DISPATCH   MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1];
} DRIVER_OBJECT, *PDRIVER_OBJECT;

ادامه مطلب...
۳۱ شهریور ۹۶ ، ۱۲:۱۹ ۰ نظر موافقین ۰ مخالفین ۰
سید عمید قائم مقامی

Virtual address spaces

زمانی که یک پردازنده اقدام به خواندن و نوشنتن به یک مکان حافظه میکند ، از یک آدرس مجازی استفاده میکند .

به عنوان بخشی از عملیات  خواندن یا نوشتن ، پردازنده آدرس مجازی را به آدرس فیزیکی ترجمه میکند . دسترسی به حافظه از طریق یک آدرس مجازی مزایای زیر را دارد :
ادامه مطلب...
۱۹ مرداد ۹۶ ، ۲۰:۱۸ ۰ نظر موافقین ۰ مخالفین ۰
سید عمید قائم مقامی

What is a driver

درایور نام برنامه ای است که در سطح کرنل اجرا میشود (در برخی موارد تنها در سطح یوزر نوشته و اجرا میشود) و اجازه میدهد یک سیستم عامل با یک دستگاه در ارتباط باشد و همچنین از کاربرد دیگر آن ، درایور به برنامه نویس این توانایی را میدهد که تغییراتی را که میخواهد در سطح کرنل انجام دهد اعمال کند .

فرض کنید یک برنامه نیاز دارد که یک مقدار اطلاعات را از دستگاهی بخواند . برنامه یک تابع اجرایی را به وسیله سیستم عامل صدا میزند و سیستم عامل نیز یک تابع از درایور را برای گرفتن اطلاعات از دستگاه فراخوانی میکند.
درایوری که به وسیله کمپانی طراحی شده میداند که چگونه باید با سخت افزار وسیله خود ارتباط برقرار کند .
بعد از اینکه درایور اطلاعات را از دستگاه گرفت آن را در اختیار سیستم عامل قرار میدهد و سیستم عامل نیز آن را به برنامه مورد نظر میدهد تا از آن استفاده کند

driver

ادامه مطلب...
۰۸ مرداد ۹۶ ، ۲۳:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
سید عمید قائم مقامی