در این پست ما قصد داریم برنامه ای بنویسیم که پروسس های موجود در سیستم به همراه id و Priority نمایش میدهد. ما در این برنامه برای انجام این کار از API موجود در سیستم عامل استفاده میکنیم .
در این پست ما قصد داریم برنامه ای بنویسیم که پروسس های موجود در سیستم به همراه id و Priority نمایش میدهد. ما در این برنامه برای انجام این کار از API موجود در سیستم عامل استفاده میکنیم .
هر CPU دارای یک مقدار منحصر به فردی میباشد که توسط کارخانه درون آن نوشته میشود و با دستورات و حتی با ابزار های ویندوز قابل دیدن میباشد .
این مقدار بیشتر برای ایجاد قفل های سخت افزاری به کار میرود.
ما برنامه مثالی برای گرفتن و نمایش آن میگذاریم تا از توضیحات اضافی خوداری شود ... این کد در ویندوز 7 مجازی 32 بیت و در ویندوز 10 با دو CPU اینتل و ای ام دی تست و درست میباشد.
CreateNamedPipe : این تابع پس از ساخته شدن یک هندل برای کنترل برمیگرداند و سپس شروع به کار میکند.
سینتکس این تابع به صورت زیر میباشد .
HANDLE WINAPI CreateNamedPipe( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes );
این تابع یک API ویندوز میباشد و برای ساخت یا باز کردن یک فایل یا یک جریان ورودی خروجی برای یک وسیله میباشد .
این تابع در ویندز XP و Server 2003 بعد از آنها قابل استفاده میباشد و در Kernel32.dll موجود است .
در حالت یونی کد از CreateFileW و در حالت اسکی از CreateFileA نیز استفاده میشود
HANDLE WINAPI CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );
BOOL WINAPI CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );
برنامه ، به صورت غیر فعال در hard است که بصورت یک یا تعدادی فایل قرار میگیرد . در هنگام اجرا کردن برنامه تمامی قسمت های کد ، داده و غیره و همچنین فایل ها و کتابخانه های مورد نیاز به ram انتقال پیدا میکند و تبدیل به یک یا چند Process میشود .
در یک تعریف کلی از Process میتوان گفت یک برنامه اجرا شده در سیستم عامل میباشد که خود از واحدی کوچکتر به نام thread تشکیل شده که کوچکترین واحد پردازشی در ویندوز میباشد که برای محاسبه به داخل CPU فرستاده میشود . (در فصل مربوطه مورد برسی قرار میگیرد)