কার্নেল মডিউল মেমরি অ্যাক্সেস


9

দুটি পৃথক কার্নেল মডিউলগুলি আইওরাম্যাপ_নোকেচে () এর কল থেকে মেমরির একই অঞ্চলে অ্যাক্সেস পেতে পারে?

আমার কাছে একটি ওয়্যারলেস ড্রাইভার এবং একটি পৃথক মডিউল রয়েছে, আমি চাইছি আলাদা মডিউলটি কার্ডে শব্দের মানগুলিকে প্রোফাইল করার জন্য, যদিও ড্রাইভারটি এখনও চলছে। সুতরাং উপরে আমার প্রশ্ন।

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

দুর্ভাগ্যক্রমে এটি আমার প্রত্যাশা মতো কাজ করে নি। আমি কোন পরামর্শ প্রশংসা করব।


শব্দের মানগুলিকে প্রোফাইল দেওয়ার জন্য আপনার কার্নেল মডিউলটির প্রয়োজন হবে কেন?
gertvdijk

প্রশ্নের জন্য ধন্যবাদ, বেতার ড্রাইভার খুব জটিল, এবং এর পর্যায়ক্রমিকতা পরিবর্তন করতে কিছুটা অনিচ্ছাকৃত ফলাফল উত্সাহিত করতে পারে ib আমাকে এটি করতে হবে যেহেতু এটি কেবলমাত্র আমার প্রয়োজনের জন্য দীর্ঘায়িত অন্তরগুলির জন্য এর ক্রমাঙ্কনগুলি করে। যেহেতু আমি পৃথক মডিউলে কীভাবে ডিভাইসটিকে প্রোফাইল করতে হয় তা জানি, তবে ড্রাইভারটি যে মেমরির সাথে কাজ করছে সে একই মেমরির যে অংশে আমি অ্যাক্সেস পেতে পারি তা জানতে আগ্রহী।
রাডাগ্যাস্প

2
আপনার পূর্ববর্তী প্রচেষ্টা / পদ্ধতির সমস্ত বিবরণ অন্তর্ভুক্ত করতে দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন। এই সাইটটি এইভাবে কাজ করে। এটি কোনও আলোচনার ফোরাম নয়, তবে প্রশ্নোত্তর সাইট, আপনি দেখছেন?
gertvdijk

আলোচনার মধ্যে প্রশ্ন, এবং উত্তর, কিছু সঠিক এবং অন্যেরা ভুল থাকতে পারে - মনে হয় এডমিনদের জুড়ে বিধিগুলির ব্যাখ্যা, শব্দার্থ প্রদেশে। আমি অবশ্যই আমার প্রশ্ন আপডেট করেছি।
রাডাগ্যাস্প

উত্তর:


7

আমি মনে করি আপনি কার্নেল মডিউলগুলির মধ্যে ডেটা ভাগ করা আরও সহজ বলে মনে করেন আপনি অন্য কার্নেল মডিউলটি বাস্তবায়নের পরিকল্পনা করছেন। তবে সম্ভবত এটি ভাল পছন্দ নয়। যদি ব্যবহারকারী জায়গাতে 'শব্দটি প্রোফাইল করা' সম্ভব হয় তবে আমি মনে করি ব্যবহারকারীর স্পেসে 'প্রোফাইলার' প্রয়োগ করা এর থেকে আরও ভাল সমাধান।

এই সমাধানে, ব্যবহারকারী স্পেস প্রোফাইলার তথ্য পড়েন, কিছু গণনা সম্পাদন করেন এবং ফলাফল জমা দেওয়ার চেয়েও বেশি।

এই সমাধানটি যদি ঠিক থাকে তবে বাস্তবায়নটি নিম্নরূপ।

কার্নেল মডিউলে, এটি কেবল '/ proc' এ একটি চর ডিভাইসটি নিবন্ধিত করা এবং 'রিড' এবং 'রাইটিং' আদিম প্রয়োগ করে। ব্যবহারকারীর স্পেসে, কেবল প্রোফাইলার প্রয়োগ করা, চর ডিভাইসে পড়া এবং লেখা। এই বাস্তবায়নের জন্য বিশদ এবং তথ্য সমস্ত এখানে


আমি আপনার উত্তরটি পুরোপুরি পেয়েছি বলে মনে করি না ... যেমনটি আমি এটি বুঝতে পেরেছি তখনও আমার একটি মডিউল লিখতে হবে এবং এই মডিউলটি ioremap_nocache () এ কল করে মেমরির একই অঞ্চলে অ্যাক্সেস পাওয়ার চেষ্টা করবে মডিউল ব্যবহার করা হয়। বা আপনি কি বলছেন যে আমি চর ডিভাইসটি ওয়্যারলেস মডিউলটিতে
রেজিস্ট্রেশন করেছি

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