একটি শিক্ষানবিসের জন্য লিনাক্স কার্নেল উত্স কোডটি কীভাবে বোঝবেন? [বন্ধ]


12

আমি মেমরি ম্যানেজমেন্টে কাজ করার আগ্রহী একজন শিক্ষার্থী, বিশেষত লিনাক্স কার্নেলের পৃষ্ঠা প্রতিস্থাপন উপাদান।

বিভিন্ন নির্দেশিকা কী কী যা আমাকে কার্নেলের উত্স বুঝতে শুরু করতে সহায়তা করতে পারে?

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

আমার প্রকল্পটি মূলধারার কার্নেলে পৃষ্ঠার প্রতিস্থাপন অ্যালগরিদমকে টুইঙ্ক করে এবং কাজের চাপের সেটের জন্য এর কার্যকারিতা বিশ্লেষণ করে। লিনাক্স কার্নেলের কি এমন স্বাদ রয়েছে যা বুঝতে সহজ হবে (যদি লিনাক্স-২.6.এক্সএক্স কার্নেলটি না থাকে)?


1
আমি কী জিজ্ঞাসা করতে পারি যে আপনি যখন জটিল কোডের সন্ধানের পক্ষে সহজ মনে করেন না তখন আপনি কেন কার্নেল প্রোগ্রামিং করতে বেছে নিয়েছেন?
লেনি প্রোগ্রামার্স

উত্তর:


13

ডেটা স্ট্রাকচারগুলিতে ফোকাস করুন । কোডের চেয়ে ডেটা স্ট্রাকচার বোঝা সাধারণত গুরুত্বপূর্ণ।

যদি আপনাকে কেবল ডেটা স্ট্রাকচার দেখানো হয় তবে কোনও কোড না থাকে তবে আপনি এখনও সিস্টেমের বড় চিত্র পান।

তদ্বিপরীত, যদি কেবল কোড দেখানো হয় তবে ডেটা স্ট্রাকচার না করে, সিস্টেমটি বোঝা খুব শক্ত।

"আমি আসলে দাবি করব যে একজন খারাপ প্রোগ্রামার এবং একজন ভাল একজনের মধ্যে পার্থক্য হ'ল সে তার কোড বা তার ডেটা স্ট্রাকচারকে আরও গুরুত্বপূর্ণ বলে বিবেচনা করে। খারাপ প্রোগ্রামাররা কোডটি নিয়ে চিন্তিত হয়। ভাল প্রোগ্রামাররা ডেটা স্ট্রাকচার এবং তাদের সম্পর্ক সম্পর্কে চিন্তিত হয়।" - লিনাস টরভাল্ডস

"আমাকে আপনার ফ্লোচার্টগুলি দেখান এবং আপনার টেবিলগুলি গোপন করুন এবং আমি রহস্যজনক হতে থাকব your - ফ্রেড ব্রুকস


4

কার্নেল নিউবিজ বেশ ভাল, আমার ধারণা

কার্নেল কীভাবে কাজ করে সে সম্পর্কে জানতে আগ্রহী অনেক লোক রয়েছে, আমি মনে করি আপনি সেখানে দুটি বা দুটি জিনিস শিখতে পারেন


3

ডিবাগার বিকল্পটি কার্যকর হতে পারে।

ডিবাগার বিকল্পের সাহায্যে কার্নেল তৈরির পরে আরও কিছু কাজ করা যেতে পারে হ'ল কিছু নমুনা পরীক্ষা অ্যাপ্লিকেশন লিখে বিভিন্ন সিস্টেম কলগুলি কল করে যা কার্নেলকে আহ্বান জানাবে এবং আপনি একবারে কার্নেল কোডের এক টুকরো পেরিয়ে যেতে পারবেন এবং এর বাস্তবায়ন বুঝতে পারবেন।


2

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


0

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


আমি নিশ্চিত নই যে এই কোডটির এই বিশাল টুকরোটি নিয়ে কী কী করা উচিত এবং কীভাবে এটি করা যায় তার চেষ্টা করছে
মাহমুদ হোসাম

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

হ্যাঁ, এটাই আমি বোঝাতে চাইছিলাম, কার্নেলটি ডিবাগ করার আগে তাকে প্রথমে কী সন্ধান করতে হবে তা জানতে হবে
মাহমুদ হোসাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.