2.6.30.5 लिनक्स कर्नेल में संरचना टास्क_स्ट्रक्ट कहां है?


9

संस्करण 2.6.15 कर्नेल में, मुझे पता चला कि मैं task_structफ़ाइल में फिर से लिख सकता हूं (शामिल / linux / schedule.h) h जैसे:

struct task_struct {  
    unsigned did_exec:1;  
    pid_t pid;  
    pid_t tgid;  
    ...
    char hide;
}  

लेकिन, दुर्भाग्य से, जब मैंने संस्करण 2.6.30.5 में अपग्रेड किया, तो मैंने उसी फ़ाइल के माध्यम से देखा, मुझे सिर्फ एक घोषणा मिली task_struct, जैसे:

struct task_struct;

और मुझे कोई विचार नहीं है कि मुझे अपनी खुद की निर्दिष्ट करने के उद्देश्य से किस फ़ाइल का उल्लेख करना चाहिए task_struct? क्या कोई मेरी मदत कर सकता है?

जवाबों:


6

grepपरिभाषा देखने के लिए किसी अन्य खोज उपकरण का उपयोग करें :

grep -r '^struct task_struct ' include

या LXR पर ऑनलाइन खोजें : http://lxr.linux.no/linux+v2.6.30.5/+earch?search=task_struct

संरचना अभी भी में परिभाषित है include/linux/sched.h। एक आगे की घोषणा है जो पारस्परिक रूप से पुनरावर्ती प्रकार की परिभाषाओं में उपयोग की जाती है, और परिभाषा आगे नीचे है।


3

मैं डेबियन निचोड़ का उपयोग कर रहा हूं। मुझे अपने वर्तमान कर्नेल के अनुरूप हेडर में एक परिभाषा दिखाई देती है, में /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h। परिभाषा के साथ शुरू होता है

struct task_struct {
        volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped */
        void *stack;
        atomic_t usage;
        unsigned int flags;     /* per process flags, defined below */
        unsigned int ptrace;

        int lock_depth;         /* BKL lock depth */

HTH।


इसलिए, क्या मैं एक अस्थिर संस्करण का उपयोग कर रहा हूं? लेकिन क्या आपके पास कोई विचार है जहां पर डिफिकेशन स्विच होता है? किसी भी प्रकार का? Thx
kaiwii ho

@kaiwiiho: क्षमा करें, मुझे यकीन नहीं है कि आपका क्या मतलब है।
फहीम मीठा

मेरा मतलब है कि क्या संस्करण 2.6.15 स्थिर नहीं है। और, मुझे लगता है कि डिफिनेशन एक .c फाइल में मौजूद होना चाहिए जो कि शेड्यूल को डिलीट कर देता है। लेकिन दुर्भाग्य से, मैंने आउट सी फाइल खोजने के लिए एक तरीका नहीं सोचा है। और क्या आप मेरे लिए कुछ संकेत दे सकते हैं?
kaiwii हो

@kaiwiiho: निश्चित नहीं कि आपका मतलब स्थिर है। 2.6.15 एक कर्नेल रिलीज़ है। संरचना की परिभाषा हेडर फ़ाइल में है, जहाँ तक मैं देख सकता हूँ। तुम क्या ढूंढ रहे हो?
फहीम मीठा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.