प्रक्रिया और धागे के बीच भेद सभी ऑपरेटिंग सिस्टम के लिए काफी सार्वभौमिक है। एक प्रक्रिया आमतौर पर एक स्वतंत्र निष्पादन इकाई का प्रतिनिधित्व करती है जिसमें अपने स्वयं के स्मृति क्षेत्र, सिस्टम संसाधन और शेड्यूलिंग स्लॉट होता है।
एक थ्रेड आमतौर पर प्रक्रिया के भीतर एक "विभाजन" होता है - थ्रेड आमतौर पर समान स्मृति और ऑपरेटिंग सिस्टम संसाधन साझा करते हैं, और उस प्रक्रिया को आवंटित समय साझा करते हैं। उदाहरण के लिए, जब आप अपना ब्राउज़र और माइक्रोसॉफ्ट वर्ड खोलते हैं, तो प्रत्येक एक अलग प्रक्रिया है, लेकिन प्रत्येक की पृष्ठभूमि में होने वाली चीजें (जैसे एनिमेशन, रीफ्रेश या बैकअप) थ्रेड हो सकती हैं।
एक नौकरी आमतौर पर उपयोगकर्ता द्वारा निष्पादित कार्य की एक लंबी चलती इकाई है। नौकरी को एक या अधिक प्रक्रियाओं द्वारा "संभाला जा सकता है"। यह इंटरैक्टिव नहीं हो सकता है। उदाहरण के लिए, मशीन को बड़ी फ़ाइल को ज़िप करने या बड़ी इनपुट फ़ाइल पर कुछ प्रोसेसिंग स्क्रिप्ट चलाने के लिए निर्देश देना आमतौर पर एक नौकरी होगी। नामकरण अपेक्षाकृत ऐतिहासिक है - मेनफ्रेम नौकरियों को संसाधित करने के लिए उपयोग किया जाता है। यूनिक्स सिस्टम में, क्रॉन का उपयोग करके निर्धारित समय पर कई नौकरियां स्वचालित रूप से शुरू हो जाती हैं, इसलिए आपके पास 'क्रॉन जॉब्स' की धारणा है।