একটি কাজ এবং একটি প্রক্রিয়া মধ্যে পার্থক্য কি?


উত্তর:


46

একটি প্রক্রিয়া নিজস্ব ঠিকানা স্থান সহ যে কোনও চলমান প্রোগ্রাম।

একটি চাকরী শেল দ্বারা ব্যবহৃত একটি ধারণা - আপনি ইন্টারেক্টিভভাবে যে কোনও প্রোগ্রাম শুরু করেন যা বিচ্ছিন্ন হয় না (যেমন, ডেমন নয়) একটি কাজ। আপনি যদি ইন্টারেক্টিভ প্রোগ্রামটি চালাচ্ছেন তবে আপনি CtrlZএটি স্থগিত করতে টিপতে পারেন । তারপরে আপনি এটিকে ফোরগ্রাউন্ডে (ব্যবহার করে fg) বা পটভূমিতে (ব্যবহার করে bg) আবার শুরু করতে পারেন ।

প্রোগ্রামটি স্থগিত বা পটভূমিতে চলাকালীন, আপনি অন্য প্রোগ্রাম শুরু করতে পারেন - এরপরে আপনার দুটি কাজ চলবে। এছাড়াও আপনি একটি "&" ভালো সংযোজন করে ব্যাকগ্রাউন্ডে একটি প্রোগ্রাম চলমান শুরু করতে পারেন: program &। যে প্রোগ্রাম একটি পটভূমি কাজ হয়ে যাবে। আপনি যে কাজ চালাচ্ছেন তার সমস্ত তালিকা তৈরি করতে, আপনি ব্যবহার করতে পারেন jobs

চাকরীর বিষয়ে আরও তথ্যের জন্য, ব্যাশ ম্যান পৃষ্ঠার এই বিভাগটি দেখুন ।


উপরের উদাহরণে, আমরা যখন করেছি 2 কাজ চলমান আমরা আছে চলমান 2 প্রসেস , আমরা না? আপনি কি তার নিজের ঠিকানা জায়গার অর্থটি ব্যাখ্যা করতে পারবেন ? কোন ক্ষেত্রে একটি প্রোগ্রামের নিজস্ব ঠিকানা স্থান নেই?
কেনি

@ কেনি হ্যাঁ, এই ট্রাও কাজগুলিও প্রক্রিয়াধীন হবে। আসলে, প্রতিটি কাজই একটি প্রক্রিয়া। একটি চাকরি আপনার সেশনের সাথে সম্পর্কিত। আপনার শুরু হওয়া প্রতিটি প্রক্রিয়াটি আপনার টিটিটি থেকে আলাদা না হওয়া একটি কাজ।
শান জে গফ

@ কেনি, প্রক্রিয়া যতদূর, আমি যখন প্রোগ্রাম বলি, এটি খুব সাধারণ বিষয় - সিপিইউ পরিচালনার জন্য আদেশের একটি সেট set এটিকে একটি কার্য বা সম্পাদনের একটি থ্রেডও বলা হয়। একটি প্রক্রিয়া অন্য থ্রেড তৈরি করতে পারে যা তার ঠিকানার স্থান ভাগ করে দেয়।
শন জে গফ

1
পাইপযুক্ত কমান্ড যেমন ইন-ইন ls | sortএকটি কাজ, তবে প্রতিটি কমান্ড একটি পৃথক সাব-শেল প্রক্রিয়াটির শিশু প্রক্রিয়া হিসাবে চালিত হয়। এটি একাধিক প্রক্রিয়া সমন্বিত একটি কাজের উদাহরণ। আপনার কাজের সংজ্ঞাটি কীভাবে ব্যাখ্যা করতে পারে যে কোনও কাজ একাধিক প্রক্রিয়া সমন্বিত করতে পারে?
টিম

30

ইউএনআইএক্সের পৃথক ধারণা "প্রক্রিয়া", "প্রক্রিয়া গ্রুপ" এবং "সেশন" রয়েছে has

লগইন করার সময় প্রতিটি শেল আপনার নিজস্ব নতুন অধিবেশন এবং প্রক্রিয়া গোষ্ঠীর নেতা হয়ে যায় এবং টার্মিনালের নিয়ন্ত্রণকারী প্রক্রিয়া গোষ্ঠীকে সেট করে।

শেলটি চালু হওয়া প্রতিটি "কাজ" এর জন্য বর্তমান সেশনের মধ্যে একটি প্রক্রিয়া গ্রুপ তৈরি করে এবং প্রতিটি প্রক্রিয়া এটি যথাযথ প্রক্রিয়া গোষ্ঠীতে স্থাপন করে। উদাহরণস্বরূপ, ls | headদুটি প্রক্রিয়ার একটি পাইপলাইন, যা শেলটি একটি কাজ হিসাবে বিবেচনা করে এবং এটি একটি একক, নতুন প্রক্রিয়া গোষ্ঠীর অন্তর্ভুক্ত।

প্রক্রিয়া হ'ল সঞ্চালনের একটি থ্রেড (সংগ্রহ) এবং অন্যান্য প্রসঙ্গে যেমন ঠিকানা স্থান এবং ফাইল বর্ণনাকারী সারণী। একটি প্রক্রিয়া অন্যান্য প্রক্রিয়া শুরু করতে পারে; এই নতুন প্রক্রিয়াগুলি অন্য পদক্ষেপ নেওয়া না হলে পিতামাতার মতো একই প্রক্রিয়া গোষ্ঠীর অন্তর্ভুক্ত। প্রতিটি প্রক্রিয়াতে একটি "নিয়ন্ত্রণকারী টার্মিনাল" থাকতে পারে, যা তার পিতামাতার মতোই শুরু হয়।

শেলটিতে "অগ্রভাগ" কাজ এবং "পটভূমি" জবসের ধারণা রয়েছে। ফোরগ্রাউন্ড জবস হ'ল টার্মিনাল নিয়ন্ত্রণ সহ প্রক্রিয়া গোষ্ঠী, এবং পটভূমি কাজগুলি টার্মিনালের নিয়ন্ত্রণ ছাড়াই প্রক্রিয়া গোষ্ঠী।

প্রতিটি টার্মিনালের একটি অগ্রভাগ প্রক্রিয়া গ্রুপ রয়েছে। অগ্রভাগে কোনও কাজ আনার সময় শেল এটিকে টার্মিনালের অগ্রভাগ প্রক্রিয়া গোষ্ঠী হিসাবে সেট করে; ব্যাকগ্রাউন্ডে কোনও কাজ স্থাপন করার পরে, শেলটি টার্মিনালের সম্মুখভাগ প্রক্রিয়া গোষ্ঠীকে অন্য একটি প্রক্রিয়া গোষ্ঠীতে বা নিজে সেট করে।

অগ্রভাগ প্রক্রিয়া গ্রুপে থাকলে প্রক্রিয়াগুলি তাদের নিয়ন্ত্রণকারী টার্মিনাল থেকে পড়তে এবং লিখতে পারে। তা না হলে তারা গ্রহণ SIGTTINএবং SIGTTOUপ্রয়াস করলে সংকেত যথাক্রমে থেকে টার্মিনালে লিখতে পড়তে। ডিফল্টরূপে এই সংকেতগুলি প্রক্রিয়া স্থগিত করে, যদিও বেশিরভাগ শাঁসগুলি মাস্ক করে SIGTTOUযাতে কোনও পটভূমি কাজ নিরবচ্ছিন্নভাবে টার্মিনালে লিখতে পারে।


1
এটি শেল এবং টার্মিনাল প্রক্রিয়া পরিচালনার একটি ভাল, সংক্ষিপ্ত বিবরণ। এটি উল্লেখ করে উন্নতি করা যেতে পারে যে একটি "চাকরী" একটি "পাইপলাইন", যা একটি প্রক্রিয়া গ্রুপে এক সাথে সংযুক্ত একাধিক প্রক্রিয়া হতে পারে।
ক্রিস পৃষ্ঠা

1

কম্পিউটিংয়ে, একটি কাজ হ'ল কার্যের একক বা সম্পাদনের একক (যা কাজটি সম্পাদন করে)। কোনও কাজের একটি উপাদানকে (কাজের একক হিসাবে) বলা হয় একটি কাজ বা পদক্ষেপ (যদি ধারাবাহিক হয় তবে একটি কাজের প্রবাহের মতো)। মৃত্যুদন্ড কার্যকর করার একক হিসাবে, কোনও কাজ দৃ single়ভাবে একটি একক প্রক্রিয়া দ্বারা চিহ্নিত করা যেতে পারে, যার ফলস্বরূপ উপ-প্রক্রিয়াগুলি হতে পারে (শিশু প্রক্রিয়াগুলি; কাজটি প্যারেন্ট প্রসেস হওয়ার সাথে সম্পর্কিত প্রক্রিয়া) যা কার্য সম্পাদন করে এমন কাজগুলি বা পদক্ষেপগুলি সম্পাদন করে কাজ; বা একটি প্রক্রিয়া গ্রুপ সহ; বা ইউনিক্স কাজের নিয়ন্ত্রণ হিসাবে যেমন কোনও প্রক্রিয়া বা প্রক্রিয়া গোষ্ঠীর কোনও বিমূর্ত রেফারেন্স সহ।

উৎস

সুন্দর উদাহরণ


-1

উপরের সংজ্ঞাগুলি খুব প্রযুক্তিগত তবে সম্ভবত অপশনটি আরও একটি দিনের চেয়ে বেশি স্পষ্টতা চেয়েছিল। আমি মনে করি যে একটি কাজ একটি নির্ধারিত প্রক্রিয়া। যখন আমরা সাধারণভাবে প্রক্রিয়াগুলি নিয়ে কাজ করি তখন অগত্যা তফসিলের ধারণাটি পাওয়া যায় না, তবে যখন আমরা "কাজ" শব্দটি ব্যবহার করি তখন আমরা সর্বদা অর্থ নির্ধারণ করি যে এটি নির্ধারিত, বা একটি লুপের মতো পুনরাবৃত্তি, এটি কর্মীর মতো।


1
আপনি যদি ভোট দিতে চান তবে দয়া করে ভোটগুলি ব্যাখ্যা করুন। যদি এই উত্তরটি সঠিক না হয় তবে কমপক্ষে আপনাকে কেন এটি সঠিক মনে হচ্ছে তা ব্যাখ্যা করুন। এখনও অবধি আমি মনে করি আমার উত্তরটি বোধগম্য হয়, এটি আমি যে ধরণের ব্যাখ্যা খুঁজছিলাম।
ইলুন

আমি একমত যে যিনি ভোট দিয়েছিলেন তাকে কেন এটি ব্যাখ্যা করা উচিত ছিল। তবে আমি ভাবি যে ডাউন ডাউনের কারণ হ'ল আপনার "চাকরি" সম্পর্কে সংজ্ঞাটি সঠিক নয়।
prograde

কেন এটি সঠিক নয় তা বোঝানোর জন্য যত্নশীল? "জব" কোনও "প্রক্রিয়া" কী (সিস্টেমের পিআইডি সহ) এর মতো পরিষ্কারভাবে সংজ্ঞায়িত হয় না। আমার অভিজ্ঞতায় "কাজ" সর্বদা একটি নির্দিষ্ট ধরণের প্রক্রিয়া যা প্রায়ই নির্ধারিত, এবং পটভূমিতে এবং আপনি চালু করতে পারেন তা সংজ্ঞায়িত করার জন্য ব্যবহৃত একটি শব্দ ছিল। এজন্য এটি সংজ্ঞায়িত করা কঠিন কারণ ব্যবহারগুলি এটির সংজ্ঞা দেয়। এটি প্রক্রিয়াগুলির একটি গ্রুপও হতে পারে তবে এটি একটি "ধারক" (এলএক্সসি) হলেও একটি "ধারক" কোনও "কাজ" নয়। "এনগিনেক্স" এর মতো একটি চালু হওয়া প্রক্রিয়াও "কাজ" নয়। আমার মন্তব্যটি উত্তরে এখনও যুক্ত করে। আবার, আমি কী বুঝতে চেষ্টা করেছিলাম তার উত্তর দেয়।
ইলুন

আমি এখনও একটি সঠিক সংজ্ঞা খুঁজছি, তাই আমি দুঃখিত, আমি উত্তর দিতে পারি না (এখনও)। তবে যা সঠিক নয়, তা হ'ল এটি নির্ধারিত হবে।
prograde
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.