مدیریت فرآیند ویندوز مدیریت وظیفه و فرآیند. مدیریت فرآیندها و موضوعات در ویندوز با استفاده از ابزار Process Explorer از SysInternals

برای هر برنامه در حال اجرا در زیر ویندوز مایکروسافت، سیستم عامل وظیفه خود را ایجاد می کند، به عبارت دیگر مقدار مشخصی را اختصاص می دهد حافظه دسترسی تصادفیبرای اجرای این برنامه و کنترل عملکرد برنامه بارگذاری شده در حافظه با منابع کامپیوتر. علاوه بر وظایف در ویندوز XP، فرآیندهایی نیز وجود دارد - فضای آدرس حافظه مجازی که برای اجرای یک برنامه یا خود سیستم عامل هر رویه اختصاص داده شده است. یک کار می تواند چندین فرآیند مختلف را در ویندوز فعال کند: به عنوان مثال، یک مرورگر وب می تواند به طور همزمان به یک پورت مودم برای دریافت و ارسال برخی داده ها دسترسی پیدا کند و نتیجه یک اپلت جاوا تعبیه شده در یک صفحه وب را روی صفحه نمایش دهد. به هر فرآیند به طور خودکار یک شماره شناسایی اختصاص داده می شود که به اصطلاح Process ID یا PID نامیده می شود که برای شناسایی منحصر به فرد فرآیند در سیستم طراحی شده است.
اگر برنامه ای که به طور غیر منتظره شروع کرده اید باعث یخ زدن رایانه شما شده است، در بیشتر موارد نیازی به راه اندازی مجدد اضطراری نیست: کافی است مشکلی را که باعث خرابی حافظه شده است پیدا کنید و آن را حذف کنید، یعنی به زور آن را متوقف کنید. اجرای بیشتر وضعیت دیگری نیز ممکن است: اگر یک برنامه غیرمنتظره "هنگام" را با لغو کار ببندید، نمی توانید کار قطع شده را با هیچ فایل یا سندی ادامه دهید. به عنوان مثال، حذف از حافظه کامپیوتر مایکروسافت ورد، نمی توانید متنی را که به تازگی ویرایش کرده اید در آن بارگیری مجدد کنید، زیرا سیستم عامل فکر می کند که این سند قبلاً توسط برنامه دیگری استفاده می شود. چنین پدیده هایی رخ می دهند زیرا پس از حذف کار، فرآیند آغاز شده توسط این کار هنوز در حافظه باقی مانده است - در مورد ما، این فرآیند پردازش است. سند ورد. با پایان دادن به فرآیندی که باعث خرابی می شود، می توانید به طور معمول از ویندوز XP استفاده کنید.

برای مدیریت وظایف و فرآیندها در مایکروسافت ویندوز XP، یک برنامه ویژه ابزار سیستمبه نام Task Manager ( وظیفه ویندوزمدیر)، که با فشار دادن کلیدهای ترکیبی Ctrl+Alt+Del، پنجره آن روی صفحه ظاهر می شود

پنجره ابزار Task Managerویندوز XP دارای پنج تب کاربردی است.
Tab برنامه های کاربردی(برنامه ها) شامل لیستی از تمام وظایف در حال اجرا در سیستم است: در فیلد وظیفه(وظیفه) نام کار در قسمت نمایش داده می شود حالت(وضعیت) - وضعیت فعلی آن. وضعیت عادی یک کار وضعیت است آثار(دویدن). اگر وظیفه "هنگ" باشد و به درخواست های سیستم پاسخ ندهد، وضعیت آن به صورت تعریف می شود جواب نمی دهد(پاسخ ندادن).
برای حذف یکی از وظایف، آن را با کلیک ماوس در منو انتخاب کنید وظیفه(Task) و روی دکمه کلیک کنید پایان کار(پایان کار).
برای جابجایی به یک کار، یعنی پنجره آن را روی صفحه باز کنید، وظیفه مورد نیاز را در لیست انتخاب کنید و روی دکمه کلیک کنید تعویض(تغییر به).
با کلیک بر روی دکمه می توانید یک کار جدید را آغاز کنید وظیفه جدید(تکلیف جدید) و تعیین نام کامل و مسیر برنامه برای راه اندازی در قسمت مربوطه از پنجره باز شده و یا با تعریف تصویری این برنامه با استفاده از دکمه مرور(مرور کردن).

Tab فرآیندها(Processes) به شما امکان می دهد فرآیندهای در حال اجرا در سیستم را مدیریت کنید.

منوی این برگه نام فرآیندها را نمایش می دهد - نام تصویر(نام تصویر)، واجد شرایط آغازگر فرآیند - نام کاربری(نام کاربری)، ویژگی های پردازش سخت افزار - CPU(CPU) و مقدار RAM اشغال شده توسط فرآیندها - حافظه(استفاده از حافظه). می توانید با استفاده از تابع، نمایش سایر ویژگی های فرآیندها (به عنوان مثال، PID، محدوده I/O، مقدار حافظه پنهان استفاده شده توسط فرآیند و غیره) را فعال کنید. ستون ها را انتخاب کنیدمنوی فرمان (Select Columns). چشم انداز(چشم انداز). برای توقف اجرای یک فرآیند، عنوان آن را با کلیک ماوس انتخاب کرده و روی دکمه کلیک کنید پایان فرآیند(پایان فرآیند).
اگر شما می خواهید این منوفرآیندهای آغاز شده توسط همه کاربران سیستم شما نمایش داده شد، کادر کناری را علامت بزنید نمایش فرآیندهای همه کاربران(نمایش فرآیندها از همه کاربران). همچنین می توانید با کلیک راست بر روی عنوان آن و انتخاب از منوی ظاهر شده، اولویت یک فرآیند را تعیین کنید. یک اولویت(تنظیم اولویت) و حالت اجرای اختصاص داده شده به این فرآیند را مشخص کنید:

Realtime - حالت بلادرنگ (تمام درخواست‌های آغاز شده توسط فرآیند به محض رسیدن توسط سیستم اجرا می‌شوند).
بالا (بالا) - بالاترین اولویت.
بالاتر از حد متوسط ​​(AboveNormal) - اولویت بالا.
متوسط ​​(عادی) - اولویت استاندارد؛
کمتر از میانگین (زیر نرمال) - اولویت کم.
کم - کمترین اولویت.

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

Tab کارایی(عملکرد) مدیر ویندوز وظایف ویندوزحاوی اطلاعاتی در مورد بار پردازنده، رم و استفاده از سایر منابع سخت افزاری رایانه است.

(استفاده از CPU) و تاریخچه استفاده از CPU(سابقه استفاده از CPU) بار روی پردازنده رایانه شما، نشانگرها را نشان می دهد فایل مبادله(استفاده از PF) و تاریخچه استفاده از فایل پیجینگ(PF Usage History) - استفاده از فایل صفحه بندی برای ذخیره داده های سیستم، نشانگر حافظه فیزیکی(حافظه فیزیکی) - درجه بارگیری RAM بر حسب کیلوبایت.

به طور مشابه تب خالص(شبکه سازی) بار روی شما را نشان می دهد شبکه محلی.
در نهایت، اگر می خواهید لیستی از تمام کاربرانی که در حال حاضر وارد سیستم خود شده اند را مشاهده کنید، به تب بروید کاربران(کاربران).


اگر به عنوان مدیر وارد شده اید این کامپیوتر، می توانید با برجسته کردن نام جلسه ویندوز وی در منو با کلیک ماوس و کلیک بر روی دکمه، ارتباط یکی از کاربران را قطع کنید. غیر فعال کردن(قطع شدن). علاوه بر این، می توانید با کلیک بر روی دکمه، برای او پیام ارسال کنید. ارسال یک پیام(پیام فرستادن). برای پایان دادن به جلسه فعلی ویندوز خود، روی دکمه کلیک کنید برو بیروناز سیستم (Logoff).

مدیریت فرآیند

مهمترین قسمت سیستم عاملکه مستقیماً بر عملکرد رایانه تأثیر می گذارد، زیرسیستم کنترل فرآیند است.

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

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

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

در یک سیستم عامل چندبرنامه‌نویسی، چندین فرآیند می‌توانند همزمان وجود داشته باشند. برخی از فرآیندها به ابتکار کاربران و برنامه های کاربردی آنها تولید می شوند که معمولاً چنین فرآیندهایی نامیده می شود سفارشی. فرآیندهای دیگر به نام سیستمیک، توسط خود سیستم عامل برای انجام وظایف خود مقداردهی اولیه می شوند.

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

در طول عمر فرآیند، اجرای آن باید بارها قطع و ادامه یابد. برای از سرگیری اجرای یک فرآیند، بازیابی وضعیت محیط عملیاتی آن بسیار مهم است. وضعیت محیط عملیاتی با وضعیت رجیسترها و شمارنده برنامه، حالت های عملکرد پردازنده، اشاره گر به شناسایی می شود. باز کردن فایل ها، اطلاعات مربوط به عملیات I/O معلق، کدهای خطای تماس های سیستمی انجام شده توسط این فرآیند و غیره. این اطلاعات زمینه فرآیند نامیده می شود.گفته می شود زمانی که یک فرآیند تغییر می کند، یک سوئیچ زمینه رخ می دهد.

سیستم عامل همچنین وظایف همگام سازی فرآیند را بر عهده می گیرد،اجازه دادن به یک فرآیند برای تعلیق اجرای خود تا زمانی که رویدادی در سیستم رخ دهد، به عنوان مثال، تکمیل یک عملیات I/O که به درخواست آن توسط سیستم عامل انجام می شود.

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

بدین ترتیب, زیرسیستم مدیریت فرآیند (شکل 4.) اجرای فرآیندها را برنامه ریزی می کند، یعنی زمان پردازشگر را بین چندین فرآیند به طور همزمان موجود در سیستم توزیع می کند، فرآیندها را ایجاد و از بین می برد، فرآیندها را با نیازهای لازم فراهم می کند. منابع سیستم، همگام سازی فرآیندها را حفظ می کند و همچنین ارتباط بین فرآیندها را فراهم می کند

مدیریت حافظه

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

وجود دارد طیف گسترده ای از الگوریتم هاتخصیص حافظه. Oʜᴎ ممکن است متفاوت باشد:

تعداد مناطق حافظه اختصاص داده شده به فرآیند (در برخی موارد، حافظه به صورت یک ناحیه پیوسته و در برخی دیگر به شکل چندین ناحیه غیر پیوسته به فرآیند اختصاص می یابد)

درجه آزادی مرزهای نواحی (باید به طور صلب برای کل طول عمر فرآیند ثابت شود یا زمانی که منابع اضافی به فرآیند تخصیص داده می شود به صورت پویا حرکت کند). اندازه های حافظه),

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

یکی از محبوب ترین روش های مدیریت حافظه در سیستم عامل های مدرن به اصطلاح می باشد حافظه مجازی.

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

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, توابع مدیریت حافظه سیستم عامل (شکل 5) حافظه آزاد و اشغال شده را ردیابی می کند. تخصیص حافظه به فرآیندها و آزادسازی حافظه هنگام پایان فرآیندها. حفاظت از حافظه؛ حذف فرآیندها از RAM به دیسک زمانی که حافظه اصلی به اندازه کافی بزرگ نیست که تمام فرآیندهای موجود در آن را در خود جای دهد، و هنگامی که فضا آزاد شد، آنها را به RAM برگردانید و همچنین آدرس های برنامه را در یک منطقه خاص از حافظه فیزیکی تنظیم کنید.

مدیریت فایل ها و دستگاه های خارجی

سیستم عامل مجموعه جداگانه ای از داده های ذخیره شده در یک درایو خارجی را به شکل مجازی سازی می کند فایل- یک دنباله ساده بدون ساختار از بایت ها که یک نام نمادین دارد. برای راحتی کار با داده ها، فایل ها در دایرکتوری ها گروه بندی می شوند. کاربر می تواند از سیستم عامل برای انجام اقداماتی بر روی فایل ها و فهرست ها مانند جستجو بر اساس نام، حذف، نمایش محتوا در یک دستگاه خارجی (مثلاً روی صفحه نمایش)، تغییر و ذخیره محتوا استفاده کند.

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

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

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

زیرسیستم کنترل دستگاه خارجی نیز نامیده می شود زیرسیستم ورودی-خروجی, به عنوان یک رابط برای تمام دستگاه های متصل به کامپیوتر عمل می کند.دامنه این دستگاه ها بسیار گسترده است. نامگذاری درایوهای تولید شده بر روی سفت، انعطاف پذیر و دیسک های نوریتعداد پرینترها، اسکنرها، مانیتورها، پلاترها، مودم ها، آداپتورهای شبکه و دستگاه های تخصصی تر ورودی/خروجی مانند مبدل های آنالوگ به دیجیتال به هزاران می رسد. این مدل ها می توانند در مجموعه و توالی دستورات مورد استفاده برای تبادل اطلاعات با پردازنده و حافظه کامپیوتر، سرعت عملکرد، رمزگذاری داده های ارسالی، امکان اشتراک گذاری و بسیاری جزئیات دیگر تفاوت های چشمگیری داشته باشند.

برنامه ای که کنترل می کند مدل خاصدستگاه خارجی و با در نظر گرفتن تمام ویژگی های آن، معمولاً مرسوم است که درایور این دستگاه (از درایو انگلیسی - مدیریت، هدایت) فراخوانی شود. ایجاد درایورهای دستگاه هم توسط توسعه دهندگان یک سیستم عامل خاص و هم توسط متخصصان شرکت هایی که دستگاه های خارجی تولید می کنند انجام می شود.

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

از زمان ظهور یونیکس چنین رابط یکپارچهدر اکثر سیستم عامل ها بر اساس مفهوم است دسترسی به فایل. این مفهوم اساساً این است که مبادله با هر دستگاه خارجی شبیه یک تبادل با یک فایل است که یک نام دارد و دنباله ای بدون ساختار از بایت ها است.فایل می تواند یک فایل واقعی روی دیسک باشد یا یک ترمینال الفبایی، چاپگر یا آداپتور شبکه.
میزبانی شده در ref.rf
در اینجا ما دوباره با ویژگی سیستم عامل برای جایگزینی سخت افزار واقعی با انتزاعی هایی که برای کاربر و برنامه نویس راحت است سروکار داریم.

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, توابع سیستم عامل برای مدیریت فایل ها و دستگاه های خارجی (شکل 6) مجازی سازی مجموعه داده های فردی است. تبدیل نام فایل های نمادین به آدرس های فیزیکی داده ها روی دیسک. انتقال داده بین دستگاه های خارجی و RAM؛ مدیریت یک نوع خاص از لوازم جانبی دستگاه های خارجی; اجرای مفهوم دسترسی به فایل برای تبادل داده با دستگاه های خارجی.

مدیریت فرآیند - مفهوم و انواع طبقه بندی و ویژگی های دسته "مدیریت فرآیند" 2017، 2018.

مدیر وظیفهیکی از قدرتمندترین و ابزارهای مفیددر NT، برای کنترل فرآیند طراحی شده است. با Ctrl + Shift + Esc یا با انتخابی در منوی که پس از کلیک راست بر روی نوار وظیفه ظاهر می شود، فراخوانی می شود. Task Manager در ویندوز XP از پنج تب تشکیل شده است - برنامه های کاربردی, فرآیندها, کارایی, شبکه سازیو کاربران بیایید با Performance شروع کنیم.

این برگه اطلاعات بارگیری پردازنده(ها) را به صورت بلادرنگ نشان می دهد (فرآیندهای کاربر سبز هستند، فرآیندهای سیستم قرمز هستند)، بار حافظه فیزیکی نشان داده شده است، و نشان می دهد که چقدر RAM استفاده شده / رایگان است، و چه مقدار Swap سیستم اشغال شده است. . علاوه بر این، اطلاعات اضافی دیگری نیز داده می‌شود، به عنوان مثال، Threads و Processes - تعداد رشته‌ها و پردازش‌هایی که در حال حاضر روی دستگاه اجرا می‌شوند، Peak - اندازه پیک Swap در طول جلسه، Nonpaged - مقدار حافظه اختصاص داده شده برای هسته . از این اطلاعات می توان در زمانی استفاده کرد که باید به این سوال پاسخ دهید که چه عاملی در سیستم "گلوگاه" است که کار را کند می کند (البته برای این منظور بهتر است از مانیتور عملکرد استفاده کنید).

نشانک دوم، فرآیندها، حاوی لیستی از فرآیندهای فعال فعلی است.

برای هر فرآیند، می توانید برخی از آنها را پیدا کنید اطلاعات تکمیلیمانند: PID (Process ID)، مقدار RAM استفاده شده، تعداد رشته های تولید شده توسط فرآیند و بسیاری موارد دیگر. از اضافات مفیدی که در XP ظاهر شد، باید توجه داشت که ستون User Name ظاهر شد. در آن می توانید متوجه شوید که کدام کاربر یا سرویس سیستمیک فرآیند را آغاز کرد. می توانید پارامترهای نمایش داده شده را از طریق View -> Select Columns اضافه یا حذف کنید.

علاوه بر این، اقدامات خاصی را می توان با هر یک از این فرآیندها انجام داد. برای این کار کافیست روی آن راست کلیک کنید، ظاهر می شود منوی زمینه، که از طریق آن می توانید فرآیند را پایان دهید ("کشتن") (End Process). همچنین می‌توان هم خود فرآیند و هم تمام موارد دیگری را که «تولید کرده» (درخت فرآیند پایان) از بین برد. می توانید اولویت فرآیند را از بالاترین Real-Time تا کمترین، Low تنظیم کنید. اگر دستگاه دارای دو پردازنده و یک هسته چند پردازنده باشد، آیتم دیگری در این منو ظاهر می‌شود، Set Affinity که به شما امکان می‌دهد فرآیند را به پردازنده دیگری، Cpu 0، Cpu1 و غیره تا Cpu31 منتقل کنید.

نشانک - برنامه های کاربردیبه شما امکان می دهد لیستی از برنامه های در حال اجرا را مشاهده کنید و هر یک از آنها را "کشتن" کنید. Task Manager نه تنها به شما اجازه می دهد تا برنامه ها را "کشتن" کنید، بلکه می تواند برنامه های جدید را نیز راه اندازی کند. فایل -> وظیفه جدید (اجرای...). گاهی اوقات این بسیار مفید است. به عنوان مثال، اگر به دلایلی رابط کاربری مسدود شود، می توان آن را به راحتی "کشت" کرد (فرآیند explorer.exe)، و سپس دوباره راه اندازی شد. علاوه بر این، لازم نیست explorer.exe باشد. برای مثال می توانید progman.exe را اجرا کنید و یک رابط مشابه با رابط W3.1 یا هر یک از رابط های خارجیکه در اینترنت به وفور یافت می شود.

نشانک

نشانک کاربران. روی آن می‌توانید کاربرانی را که در حال حاضر روی دستگاه کار می‌کنند، ببینید. اگر حقوق کافی دارید، می توانید این کاربر را غیرفعال کنید یا به سادگی برای او پیام ارسال کنید. چنین چیزهایی مدت‌هاست که به طور گسترده در نرم‌افزارهای متنوعی که برای مدیریت سیستم‌های چند کاربره طراحی شده‌اند استفاده می‌شود، اما در Task Manager بود که این ویژگی برای اولین بار ظاهر شد.

هدف کار: آشنایی عملی با روش مدیریت فرآیندهای MS Windows XP با استفاده از Task Manager

1 مختصر نظری

1.1 فرآیندها و رشته ها

برخلاف MS DOS، فرآیندها در Win32 غیرفعال هستند، یعنی در Win32 یک فرآیند کاری انجام نمی دهد.

فرآیند مالکیت:

فضای آدرس 4 گیگابایت (هنگامی که روی CPU 32 بیتی اجرا می شود).

فایل ها؛

ماژول ها (به عنوان مثال، بارگذاری شده در فضای آدرس DLL)؛

یک یا چند رشته.

فرآیند دارای:

شناسه فرآیند (PID)؛

کلاس اولویت پایه؛

نشانه دسترسی (توکن دسترسی)؛

شناسه فرآیند والدین؛

مجموعه ای از دستگیره های استفاده شده (Handles) از اشیاء سیستم.

مجموعه کاری صفحات رم و غیره

فرآیند (Pr) می تواند منجر به فرآیند دیگری شود - شکل 1 را ببینید.

شکل 1 - تولید فرآیندها.

فرآیند Pr1 منجر به فرآیند Pr2 شد که منجر به فرآیندهای Pr3 و Pr4 شد.

تمیز دادن سیستمیکو سفارشیفرآیندها فرآیندهای سیستمی فرآیندهای سیستم عاملی هستند که در حالت ممتاز پردازنده (حالت هسته) اجرا می شوند. اکثر فرآیندهای سیستم هنگام بوت شدن سیستم عامل ایجاد می شوند.

در هرکدام سیستم ویندوزفرآیندهای سیستم زیر در حال اجرا هستند:

فرآیند بیکار (شامل یک رشته برای هر پردازنده برای محاسبه زمان بیکاری پردازنده)؛

فرآیند سیستم (که شامل اکثر رشته های سیستم حالت هسته است)؛

مدیر جلسه (Smss.exe)؛

زیر سیستم ویندوز (Csrss.exe)؛

فرآیند ورود به سیستم (Winlogon.exe)؛

مدیر کنترل سرویس (Services.exe) و پردازش های سرویس فرزند که ایجاد می کند (به عنوان مثال، فرآیند میزبانی خدمات عمومی، Svchost.exe).

فرآیند سرور احراز هویت محلی (Lsass.exe).

دو مورد از این فرآیندها، Idle - system idle و System، پردازش به معنای دقیق کلمه نیستند، زیرا هیچ کد حالت کاربر را اجرا نمی کنند.

Session Manager Smss.exe اولین فرآیند حالت کاربر است که در سیستم ایجاد شده است. توسط یک رشته سیستم در حالت هسته ایجاد می شود و فرآیندهای زیرسیستم Csrss.exe و Winlogon را شروع می کند که به نوبه خود بقیه فرآیندهای سیستم را ایجاد می کند.

فرآیند ورود به سیستم ویندوز - Winlogon.exe ورود و خروج تعاملی کاربر را کنترل می کند. هنگامی که کلیدهای ترکیبی Alt+Ctrl+Del را فشار می دهید، Winlogon مطلع می شود که از کاربر خواسته می شود که وارد سیستم شود.

پس از وارد کردن، نام کاربری و رمز عبور برای تایید به فرآیند سرور احراز هویت محلی LSASS ارسال می شود. پس از احراز هویت موفقیت آمیز، LSASS یک تابع را در مانیتور وضعیت امنیتی فراخوانی می کند تا یک شی نشانه دسترسی حاوی نمایه امنیتی کاربر ایجاد کند. پس از آن، Winlogon از آن برای ایجاد فرآیند پوسته اولیه استفاده می کند. اطلاعات مربوط به فرآیند اولیه در تنظیمات Userinit در زیر کلید رجیستری HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ذخیره می شود.

به‌طور پیش‌فرض، فرآیند اولیه Userinit.exe است که مقداری مقداردهی اولیه حالت کاربر را انجام می‌دهد و سپس رجیستری را برای مقدار Shell جستجو می‌کند و فرآیندی را برای اجرای یک پوسته سیستم خاص ایجاد می‌کند—Explorer.exe به طور پیش‌فرض. پس از آن، فرآیند Userinit.exe به پایان می رسد و در لیست فرآیندهای در حال اجرا نشان داده نمی شود. فرآیند Explorer.exe نوه Winlogon است. فرآیند Explorer.exe اجداد تمام فرآیندهای در حال اجرا برنامه (کاربر) است.

برای درک رابطه این فرآیندها، نگاه به فرآیند "درخت" که روابط بین فرآیندهای والد و فرزند را نشان می دهد مفید است. با دیدن اینکه چه کسی این یا آن فرآیند را ایجاد می کند، درک اینکه هر فرآیند از کجا می آید آسان تر است.

فرآیندهای کاربر با اجرای برنامه مرتبط هستند نرم افزار. آنها در حالت کاربر پردازنده با اعمال محدودیت های خاصی اجرا می شوند. به طور معمول، هنگامی که کاربر برنامه‌ها را راه‌اندازی می‌کند یا بر اساس یک زمان‌بندی، فرآیندهای کاربر با استفاده از Explorer.exe ایجاد می‌شوند.

برای اینکه یک فرآیند کاری را انجام دهد، باید یک نخ در آن ایجاد شود. در اصل، یک فرآیند می تواند شامل چندین رشته باشد و آنها به طور همزمان از کد موجود در فضای آدرس فرآیند استفاده می کنند. برای انجام این کار، هر رشته باید مجموعه‌ای از ثبات‌های پردازشگر خود را داشته باشد و هر فرآیند باید حداقل یک رشته داشته باشد. برای اینکه همه این رشته ها کار کنند، سیستم عامل یک زمان پردازنده معین (کوانتوم زمانی) را به هر یک از آنها اختصاص می دهد. زمان به جریان های کوانتومی در یک دایره (نگاه کنید به شکل 2) با توجه به اولویت های آنها اختصاص می یابد:

شکل 2 - طرحی برای تخصیص برش های زمانی به جریان ها (P)

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

Thread ها همچنین می توانند توسط درایورهای حالت هسته ایجاد شوند.

در WinNT، 2000، XP ویندوز سرور- یک پردازنده جداگانه را می توان به یک رشته اختصاص داد (می تواند تا 32 پردازنده وجود داشته باشد)، سپس رشته ها واقعاً به صورت موازی اجرا می شوند.

1.2 ابزارهای مدیریت فرآیند

سیستم عامل ویندوز دارای یک برنامه داخلی Task Manager است که با استفاده از آن می توانید اطلاعاتی در مورد سیستم و فرآیندهای برنامه در حال اجرا در سیستم، تعداد رشته هایی که استفاده می کنند و منابع مصرف شده را دریافت کنید، اجرای فرآیندها را مدیریت کنید و اولویت های فرآیند را تغییر دهید. برای راه اندازی Task Manager می توانید از ترکیب Alt + Ctrl + Del یا کلیک راست بر روی نوار وظیفه استفاده کنید. پنجره مدیر وظیفه در شکل نشان داده شده است. 3.

شکل 3 - پنجره Task Manager (برگه فرآیندها)

در پنجره Processes، می توانید لیستی از تمام فرآیندهای در حال اجرا در سیستم و پارامترهای آنها را مشاهده کنید - در شکل 3، اینها شناسه های فرآیند، استفاده از CPU توسط هر فرآیند و تعداد رشته ها هستند. توجه داشته باشید که تعداد موضوعات برابر با 0 به این معنی نیست که آنها واقعا وجود ندارند (فرایند این است).

با استفاده از منوی View، می توانید پارامترهای نشان داده شده در شکل 3 را از لیست حذف کنید یا پارامترهای جدیدی اضافه کنید.

برگه Performance (نگاه کنید به شکل 4) امکان نمایش نمودارهایی از بار کل CPU، استفاده از فایل صفحه بندی و همچنین به دست آوردن اطلاعاتی در مورد مصرف کل منابع رایانه شخصی را فراهم می کند.

Task Manager یک ابزار بسیار ساده است، توانایی های آن برای حل حتی کارهای ساده تجزیه و تحلیل و مدیریت سیستم کافی نیست. مثال - بر اساس اطلاعات دریافتی با استفاده از مدیر وظیفه، درختی از فرآیندهای در حال اجرا در سیستم بسازید.

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

شکل 4 - پنجره Task Manager (برگه Performance)

2. رویه

1. مدیر وظیفه را راه اندازی کنید، با لیست پارامترهای فرآیند آشنا شوید (منو مشاهده، تب Processes).

2. با قابلیت های مدیر وظیفه برای مدیریت فرآیندها (ایجاد فرآیند و خاتمه یک فرآیند) آشنا شوید. اولویت فرآیند انتخاب شده را با استفاده از منوی زمینه تغییر دهید.

3. با قابلیت های دیسپچر برای مدیریت نمایش اطلاعات روی صفحه (مرتب سازی لیست به ترتیب صعودی و نزولی مقادیر پارامتر انتخاب شده) آشنا شوید.

4. نموداری از تغییرات استفاده از CPU هنگام حرکت دادن ماوس، تغییر اندازه پنجره توزیع کننده، راه اندازی برنامه های Open Office ایجاد کنید.

5. نموداری از تغییرات اندازه حافظه تخصیص یافته در فایل صفحه بندی هنگام شروع برنامه ها بسازید (Open Office، Visual Studio).

6. فهرستی از فرآیندهای در حال اجرا را مطابق با وظایف فردی برای تیم ها دریافت کنید

جدول 1 وظایف فردی

جدول 2 - پارامترهای فرآیند

3. گزارش کار

به صورت کتبی با استفاده از Open Office یکی برای هر تیم آماده شده است.

1. صفحه عنوان با شماره و عنوان کار، تعداد گروه، تیم، نام دانش آموزان و معلم

2. فهرست پارامترهای فرآیند مورد استفاده در اجرای کار

3. نتایج به دست آمده در طول انجام یک کار فردی.

سوالات کنترلی

1. فرآیند، موضوع، سیستم و فرآیند برنامه را تعریف کنید

2. چه اطلاعاتی برای ساخت لیستی از فرآیندهای در حال اجرا در سیستم به صورت درختی مورد نیاز است. آیا با استفاده از Task Manager می توان چنین اطلاعاتی را در MS Windows به دست آورد؟

بر خلاف "یک و نیم کار" MS-DOS، که برنامه نویس برنامه را با تمام کار (و تمام خطرات) سازماندهی عملکرد موازی فرآیندها بر عهده می گیرد، سیستم عامل های چندوظیفه ای کم و بیش راحت و غنی را در اختیار برنامه نویس قرار می دهند. مجموعه ای از توابع سیستم که به شما امکان می دهد چندین فرآیند موازی را اجرا کنید و تعامل آنها را سازماندهی کنید (همگام سازی فرآیند، تبادل داده، حذف متقابل و غیره). در عین حال، سیستم عامل باید سازماندهی صحیح و کارآمد سوئیچینگ فرآیند، تقسیم زمان پردازنده، حافظه و سایر منابع را بین آنها تضمین کند.

پیچیدگی مسئله سازماندهی تعامل فرآیندهای موازی برای سیستم هایی که از زمان بندی فرآیند پیشگیرانه و غیر پیشگیرانه استفاده می کنند، به طور قابل توجهی متفاوت است. با برنامه ریزی پیشگیرانه، فرآیند می تواند توسط توزیع کننده تقریباً در هر زمانی قطع شود. علاوه بر وظیفه ذخیره و سپس بازیابی زمینه فرآیند (به بخش 4.2.5 مراجعه کنید)، که باید توسط خود سیستم عامل حل شود، همچنین مشکلاتی برای اطمینان از حذف متقابل هنگام اجرای بخش های حیاتی در برنامه های چندوظیفه ای وجود دارد. فقط توسعه‌دهنده برنامه می‌تواند تصمیم بگیرد که کدام بخش از متن برنامه او بخش‌های مهمی هستند و باید توسط سمافورها محافظت شوند.

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

تمام نسخه های ویندوز از 1.0 تا 3.11 سیستم های چندوظیفه ای نسبتاً قدرتمندی با برنامه ریزی غیر پیشگیرانه بودند. نسخه هایی که با ویندوز NT و ویندوز 95 شروع می شوند از زمان بندی پیشگیرانه استفاده می کنند.

      1. مفهوم شی در ویندوز

در ویندوز، مفهوم سیستم سیستم به طور گسترده ای مورد استفاده قرار می گیرد. هدف - شی . در واقع، هر شی یک ساختار داده مشخص است که در فضای آدرس سیستم قرار دارد. از آنجایی که برنامه ها نمی توانند به این حافظه دسترسی داشته باشند، برای کار با شی، برنامه باید به دست آورد رسیدگی شی - تعدادی عدد شرطی که این شی را هنگام دسترسی به توابع API نشان می دهد. یک فرآیند معمولاً هنگام فراخوانی یک تابع یک دسته دریافت می کند. ایجاد Xxx(اینجا xxx– نام شی) که می تواند یک شی جدید ایجاد کند یا یک شی موجود ایجاد شده توسط فرآیند دیگر را باز کند. مشاهده توابع OpenXxxفقط به شما اجازه می دهد یک شی موجود را باز کنید.

اشیاء ویندوز به اشیاء هسته (KERNEL) تقسیم می شوند که به شما امکان می دهد فرآیندها را کنترل کنید، اشیاء USER که پنجره سازی را توصیف می کنند و اشیاء GDI که منابع گرافیکی ویندوز را مشخص می کنند. این دوره فقط اشیاء هسته را پوشش می دهد. پردازش ها، رشته ها و فایل های باز نمونه هایی از اشیاء هسته هستند.

یکی از ویژگی های متمایز کننده اشیاء هسته این است ویژگی های حفاظتی ، که می تواند در هنگام ایجاد شی مشخص شود. این ویژگی ها حقوق دسترسی به شی را برای کاربران و گروه های مختلف تعریف می کنند. علاوه بر این، هنگام ایجاد یک شی هسته، می توانید نام آن را مشخص کنید که از آن استفاده می شود تا فرآیندهای دیگر بتوانند همان شی را با دانستن نام آن باز کنند.

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

اگر دسته شی دیگر در این فرآیند مورد نیاز نیست، باید با استفاده از تابع بسته شود Close Handle، مشترک با انواع متفاوتاشیاء.

یک شی وجود دارد تا زمانی که تمام دستگیره های اشاره شده به آن بسته شوند.