వాయిదా వేయబడిన విధానం కాల్ (DPC) అనేది మైక్రోసాఫ్ట్ విండోస్ ఆపరేటింగ్ సిస్టంలో ఒక అంతరాయం-నిర్వహణ వ్యవస్థ. DPC ఒక పనిని యాక్టివేట్ చేయడానికి అనుమతిస్తుంది, కానీ అమలు చేయబడదు, అత్యంత ప్రాధాన్యత గల అంతరాయ అభ్యర్థన స్థాయి (IRQL). దిగువ-స్థాయి IRQL సంకేతాలను అమలుచేసేటప్పుడు ఇది అధిక-స్థాయి అంతరాయాల సర్వీస్ రొటీన్ (ISR) ను త్వరగా ప్రాసెస్ చేయడానికి డ్రైవర్ను అనుమతిస్తుంది. డ్రైవులు ఇన్పుట్ / అవుట్పుట్ (I / O) కార్యకలాపాలను షెడ్యూల్ చేయడానికి DPC లను ఉపయోగిస్తాయి. హార్డ్వేర్ పరికరాలతో కమ్యూనికేట్ చేయడానికి Windows చేత ఉపయోగించే సాఫ్ట్వేర్లు.
బదిలీలు
ఒక కెర్నల్ మోడ్ పరికర డ్రైవర్ సంప్రదాయకంగా ఆడియో లేదా వీడియో డేటా స్ట్రీమ్ యొక్క బదిలీ నుండి లేదా బాహ్య పరికరానికి బదిలీ చేస్తుంది. పరికర డ్రైవర్ల యొక్క డేటా ప్రాసెసింగ్ అంతరాయం కలిగించేది. బాహ్య హార్డ్వేర్ మామూలుగా బ్యాచ్ డేటాను బదిలీ చేయడానికి పరికర డ్రైవర్ను అభ్యర్థించడానికి సాధారణంగా అంతరాయాలను సృష్టిస్తుంది. పరికర డ్రైవర్ దాని అంతరాయంతో సాధారణ డేటాను ప్రాసెస్ చేయలేరు; అందువలన, ఆపరేటింగ్ సిస్టం బ్యాక్ రొటీన్ ట్రిగ్గర్ కావాలి, ఇది DPC. కెర్నల్ మోడ్, లేదా సిస్టమ్ మోడ్, మరియు యూజర్ మోడ్ మీ సెంట్రల్ ప్రాసెసింగ్ యూనిట్ యొక్క ఆపరేషన్ రీతులు. కెర్నల్ అన్ని సిస్టమ్ ప్రాసెసింగ్ కార్యకలాపాలను నియంత్రిస్తుంది.
షెడ్యూలింగ్
వాయిదా వేయబడిన విధానం కాల్ యొక్క భావన కెర్నెల్ మోడ్లో మాత్రమే ఉంది. ఆపరేటింగ్ సిస్టం పరికర డ్రైవర్లు ఒక క్యూలో షెడ్యూల్ చేసిన DPC లను ఉంచుతుంది. మీ సిస్టమ్ ఆటంకాలు ప్రాసెస్ చేయవలసివుంటే, కెర్నల్ DPC క్యూను తనిఖీ చేస్తుంది మరియు ఆటంకాలు లేనట్లయితే మరియు DPC ప్రాసెస్లు లేనట్లయితే మొదటి DPC ను అమలు చేస్తుంది. DPC వ్యవస్థలో అత్యధిక ప్రాధాన్యత కలిగిన థ్రెడ్, పంపిణీదారు ఒక థ్రెడ్ని ఎంచుకునేందుకు ముందు CPU క్యూ ప్రాసెసింగ్ ఏర్పడుతుంది మరియు దీనిని CPU కి కేటాయించవచ్చు. DPC లు మూడు ప్రాధాన్యత స్థాయిలు: తక్కువ, మధ్యస్థ మరియు అధిక.
ప్రాసెసెస్
ప్రతి DPC ఒక వ్యవస్థ-నిర్వచించిన DPC వస్తువుతో ముడిపడి ఉంటుంది. డ్రైవర్ ఒక DPCForslr రొటీన్ ను నమోదు చేసినప్పుడు, ముందుగా నిర్వచించిన DPC ఆబ్జక్టును సిస్టం ప్రారంభిస్తుంది. ఒకటి కంటే ఎక్కువ DPC అవసరమైతే, డ్రైవర్ కస్టమ్ డి పి సి సి ఎంట్రీలు అని పిలువబడే అదనపు DPC వస్తువులని సృష్టిస్తుంది. DPCForlsr రొటీన్ పలు ప్రక్రియలను నిర్వహిస్తుంది; ఇన్పుట్ / అవుట్పుట్ అభ్యర్ధన ప్యాకెట్ల (IRP), IRO ఆపివేత, ఐఆర్పి చేత వివరించిన ఐ / ఓ ఆపరేషన్ను పూర్తి చేసిన IRP లో ఇన్పుట్ / అవుట్పుట్ స్థితిని మరియు అభ్యర్థనను పూర్తి చేయడానికి ప్రక్రియను పూర్తి చేస్తుంది.
నిత్యకృత్యాలను
సాధారణంగా, ఒక అంతరాయం సేవ రొటీన్ కలిగివున్న పరికర డ్రైవర్ అంతరాయం కలిగించే I / O ఆపరేషన్లను ప్రాసెస్ చేయటానికి కనీసం ఒక DPCForIsr లేదా CustomDPC రొటీన్ కలిగివుంటుంది. ఓపెన్ సిస్టమ్స్ రిసోర్సెస్, ఇంక్. ప్రకారం, ఒక డ్రైవర్ ఒక DPCForlsr రొటీన్ కలిగి ఉన్న మూల కారణము, కస్టమ్ సమితి నిత్యకృత్యాల సమితి లేదా రెండింటికీ దాని అంతర్లీన పరికర స్వభావం మరియు I / O అభ్యర్ధనల సమితిపై ఆధారపడి ఉంటుంది. డ్రైవర్ యొక్క ISR DPCForlsr నిత్యకృత్యాలను ఉపయోగించి అంతరాయ-ఆధారిత I / O కార్యకలాపాల కోసం IoRequestDPC ని పిలవాలి. దీనికి విరుద్ధంగా, అతివ్యాప్త కార్యకలాపాల కోసం, కస్టండబ్ల్యుటీ నిత్యకృత్యాలను ఉపయోగించి అంతరాయ-నడిచే I / O కార్యకలాపాలు, ISR కి KeInsertQueueDPC అని పిలవాలి.