একটি "কাজ" এবং "প্রক্রিয়া" এর মধ্যে পার্থক্য কী?
একটি "কাজ" এবং "প্রক্রিয়া" এর মধ্যে পার্থক্য কী?
উত্তর:
একটি প্রক্রিয়া নিজস্ব ঠিকানা স্থান সহ যে কোনও চলমান প্রোগ্রাম।
একটি চাকরী শেল দ্বারা ব্যবহৃত একটি ধারণা - আপনি ইন্টারেক্টিভভাবে যে কোনও প্রোগ্রাম শুরু করেন যা বিচ্ছিন্ন হয় না (যেমন, ডেমন নয়) একটি কাজ। আপনি যদি ইন্টারেক্টিভ প্রোগ্রামটি চালাচ্ছেন তবে আপনি CtrlZএটি স্থগিত করতে টিপতে পারেন । তারপরে আপনি এটিকে ফোরগ্রাউন্ডে (ব্যবহার করে fg
) বা পটভূমিতে (ব্যবহার করে bg
) আবার শুরু করতে পারেন ।
প্রোগ্রামটি স্থগিত বা পটভূমিতে চলাকালীন, আপনি অন্য প্রোগ্রাম শুরু করতে পারেন - এরপরে আপনার দুটি কাজ চলবে। এছাড়াও আপনি একটি "&" ভালো সংযোজন করে ব্যাকগ্রাউন্ডে একটি প্রোগ্রাম চলমান শুরু করতে পারেন: program &
। যে প্রোগ্রাম একটি পটভূমি কাজ হয়ে যাবে। আপনি যে কাজ চালাচ্ছেন তার সমস্ত তালিকা তৈরি করতে, আপনি ব্যবহার করতে পারেন jobs
।
চাকরীর বিষয়ে আরও তথ্যের জন্য, ব্যাশ ম্যান পৃষ্ঠার এই বিভাগটি দেখুন ।
ls | sort
একটি কাজ, তবে প্রতিটি কমান্ড একটি পৃথক সাব-শেল প্রক্রিয়াটির শিশু প্রক্রিয়া হিসাবে চালিত হয়। এটি একাধিক প্রক্রিয়া সমন্বিত একটি কাজের উদাহরণ। আপনার কাজের সংজ্ঞাটি কীভাবে ব্যাখ্যা করতে পারে যে কোনও কাজ একাধিক প্রক্রিয়া সমন্বিত করতে পারে?
ইউএনআইএক্সের পৃথক ধারণা "প্রক্রিয়া", "প্রক্রিয়া গ্রুপ" এবং "সেশন" রয়েছে has
লগইন করার সময় প্রতিটি শেল আপনার নিজস্ব নতুন অধিবেশন এবং প্রক্রিয়া গোষ্ঠীর নেতা হয়ে যায় এবং টার্মিনালের নিয়ন্ত্রণকারী প্রক্রিয়া গোষ্ঠীকে সেট করে।
শেলটি চালু হওয়া প্রতিটি "কাজ" এর জন্য বর্তমান সেশনের মধ্যে একটি প্রক্রিয়া গ্রুপ তৈরি করে এবং প্রতিটি প্রক্রিয়া এটি যথাযথ প্রক্রিয়া গোষ্ঠীতে স্থাপন করে। উদাহরণস্বরূপ, ls | head
দুটি প্রক্রিয়ার একটি পাইপলাইন, যা শেলটি একটি কাজ হিসাবে বিবেচনা করে এবং এটি একটি একক, নতুন প্রক্রিয়া গোষ্ঠীর অন্তর্ভুক্ত।
প্রক্রিয়া হ'ল সঞ্চালনের একটি থ্রেড (সংগ্রহ) এবং অন্যান্য প্রসঙ্গে যেমন ঠিকানা স্থান এবং ফাইল বর্ণনাকারী সারণী। একটি প্রক্রিয়া অন্যান্য প্রক্রিয়া শুরু করতে পারে; এই নতুন প্রক্রিয়াগুলি অন্য পদক্ষেপ নেওয়া না হলে পিতামাতার মতো একই প্রক্রিয়া গোষ্ঠীর অন্তর্ভুক্ত। প্রতিটি প্রক্রিয়াতে একটি "নিয়ন্ত্রণকারী টার্মিনাল" থাকতে পারে, যা তার পিতামাতার মতোই শুরু হয়।
শেলটিতে "অগ্রভাগ" কাজ এবং "পটভূমি" জবসের ধারণা রয়েছে। ফোরগ্রাউন্ড জবস হ'ল টার্মিনাল নিয়ন্ত্রণ সহ প্রক্রিয়া গোষ্ঠী, এবং পটভূমি কাজগুলি টার্মিনালের নিয়ন্ত্রণ ছাড়াই প্রক্রিয়া গোষ্ঠী।
প্রতিটি টার্মিনালের একটি অগ্রভাগ প্রক্রিয়া গ্রুপ রয়েছে। অগ্রভাগে কোনও কাজ আনার সময় শেল এটিকে টার্মিনালের অগ্রভাগ প্রক্রিয়া গোষ্ঠী হিসাবে সেট করে; ব্যাকগ্রাউন্ডে কোনও কাজ স্থাপন করার পরে, শেলটি টার্মিনালের সম্মুখভাগ প্রক্রিয়া গোষ্ঠীকে অন্য একটি প্রক্রিয়া গোষ্ঠীতে বা নিজে সেট করে।
অগ্রভাগ প্রক্রিয়া গ্রুপে থাকলে প্রক্রিয়াগুলি তাদের নিয়ন্ত্রণকারী টার্মিনাল থেকে পড়তে এবং লিখতে পারে। তা না হলে তারা গ্রহণ SIGTTIN
এবং SIGTTOU
প্রয়াস করলে সংকেত যথাক্রমে থেকে টার্মিনালে লিখতে পড়তে। ডিফল্টরূপে এই সংকেতগুলি প্রক্রিয়া স্থগিত করে, যদিও বেশিরভাগ শাঁসগুলি মাস্ক করে SIGTTOU
যাতে কোনও পটভূমি কাজ নিরবচ্ছিন্নভাবে টার্মিনালে লিখতে পারে।
কম্পিউটিংয়ে, একটি কাজ হ'ল কার্যের একক বা সম্পাদনের একক (যা কাজটি সম্পাদন করে)। কোনও কাজের একটি উপাদানকে (কাজের একক হিসাবে) বলা হয় একটি কাজ বা পদক্ষেপ (যদি ধারাবাহিক হয় তবে একটি কাজের প্রবাহের মতো)। মৃত্যুদন্ড কার্যকর করার একক হিসাবে, কোনও কাজ দৃ single়ভাবে একটি একক প্রক্রিয়া দ্বারা চিহ্নিত করা যেতে পারে, যার ফলস্বরূপ উপ-প্রক্রিয়াগুলি হতে পারে (শিশু প্রক্রিয়াগুলি; কাজটি প্যারেন্ট প্রসেস হওয়ার সাথে সম্পর্কিত প্রক্রিয়া) যা কার্য সম্পাদন করে এমন কাজগুলি বা পদক্ষেপগুলি সম্পাদন করে কাজ; বা একটি প্রক্রিয়া গ্রুপ সহ; বা ইউনিক্স কাজের নিয়ন্ত্রণ হিসাবে যেমন কোনও প্রক্রিয়া বা প্রক্রিয়া গোষ্ঠীর কোনও বিমূর্ত রেফারেন্স সহ।
উপরের সংজ্ঞাগুলি খুব প্রযুক্তিগত তবে সম্ভবত অপশনটি আরও একটি দিনের চেয়ে বেশি স্পষ্টতা চেয়েছিল। আমি মনে করি যে একটি কাজ একটি নির্ধারিত প্রক্রিয়া। যখন আমরা সাধারণভাবে প্রক্রিয়াগুলি নিয়ে কাজ করি তখন অগত্যা তফসিলের ধারণাটি পাওয়া যায় না, তবে যখন আমরা "কাজ" শব্দটি ব্যবহার করি তখন আমরা সর্বদা অর্থ নির্ধারণ করি যে এটি নির্ধারিত, বা একটি লুপের মতো পুনরাবৃত্তি, এটি কর্মীর মতো।