আমি কীভাবে বলতে পারি যে ইউবুট দ্বারা কোন মেমরি র‌্যামের ঠিকানা রেঞ্জ ব্যবহার করা হচ্ছে?


12

আমি উবুতে আছি এবং ভাবছিলাম, আমি কীভাবে বলতে পারি যে উবুট দ্বারা র্যামের অ্যাড্রেস রেঞ্জটি কী ব্যবহার করা হচ্ছে।

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

আমি কীভাবে জানব যে মেমোরির কোন অঞ্চলটি ইউবুট লোড হয়?

উত্তর:


2

DULG ডিবাগিংউবুট পৃষ্ঠায় এই কথাটি বলা আছে (এটি "স্থানান্তর" বলে যা এটি ফ্ল্যাশ থেকে র‌্যামে নিজেকে অনুলিপি করছে)।

স্থানান্তরিত হওয়ার পরে ইউ-বুট ডিবাগ করার জন্য আমাদের ইউ-বুট নিজের কাছে স্থানান্তরিত করে এমন ঠিকানাটি জানতে হবে। যখন PRAM এর মতো কোনও বহিরাগত বৈশিষ্ট্য ব্যবহার করা হয় না, তখন এই ঠিকানাটি সাধারণত হয় - CONFIG_SYS_MONITOR_LEN। 16MB র‌্যাম এবং CONFIG_SYS_MONITOR_LEN = 192KB সহ আমাদের উদাহরণে 0x1000000 - 0x30000 = 0xFD0000 ঠিকানাটি পাওয়া যায়।

পাঠ্যটি আরও পড়ার ফলে এটি প্রসেসর বা বোর্ডের উপর নির্ভরশীল এবং এটি নিশ্চিত করার জন্য আপনাকে ইউ-বুট উত্সটি পরীক্ষা করতে হবে বলে মনে হচ্ছে।

সংক্রান্ত Guruplug :

র‌্যামের পাশে, ইউ-বুটে প্রথম 8 মেগাবাইট সংরক্ষণ করা আছে। বাকীটি নিখরচায়। কিছু বিকাশকারী প্রোগ্রামিং ফ্ল্যাশ করার জন্য 0 × 800000 এ কার্নেল এবং ফাইল সিস্টেম লোড করবে। আর একটি সাধারণ স্পটটি 100 মেগাবাইট সীমানায় (বা অফসেট 0 × 640000)।

আপনার ইউ-বুট সংস্করণ অনুসারে কমান্ডগুলি ফ্রি র‍্যামের কোথাও একটি স্ট্রিং রাখার জন্য এবং তারপরে সেই স্ট্রিংয়ের জন্য বাকী র‌্যামের খোঁজ করার জন্য মেমরিতে ইউ-বুটের আনুমানিক অবস্থানটি প্রকাশ করতে পারে।


1

আমি যে ইউবুট সংস্করণটি ব্যবহার করছি তা শুরু করার পরে এটি স্বয়ংক্রিয়ভাবে একটি "ভার্চুয়াল কার্নেল মেমরি লেআউট" প্রদর্শিত হবে।

Memory: 859068k/859068k available, 25668k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xf9e00000 - 0xffe00000   (  96 MB)
    vmalloc : 0xe0800000 - 0xf4000000   ( 312 MB)
    lowmem  : 0x80000000 - 0xe0000000   (1536 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .init : 0x80008000 - 0x8004d000   ( 276 kB)
      .text : 0x8004d000 - 0x808ad000   (8576 kB)
      .data : 0x808ce000 - 0x80937a40   ( 423 kB)

আমি দেখতে পেলাম যে বিভিন্ন ইউটিলিটি প্রক্রিয়া চালাতে চেয়েছি (যেমন মেমরিতে বড় ফাইল লোড করা) এর জন্য লোমেম অঞ্চলটি ব্যবহার করা নিরাপদ। আদর্শভাবে, আমি মনে করি আপনি এই জাতীয় জিনিসটির জন্য উচ্চ মেমরি ব্যবহার করতে চান তবে আমার কাছে বিকল্প ছিল না (যেমন আপনি আমার আউটপুটে দেখতে পারেন)।


আপনি কি নিশ্চিত যে লিনাক্সের মেমরি মানচিত্র নয়?
মৃন্ময়ায়ন

আমি নিশ্চিত নই। হাইমেমের অভাব এবং "ভার্চুয়াল কার্নেল" এর উল্লেখটি অন্যথায় আমাকে ভাবতে পরিচালিত করে। আমি নুব / হ্যাক যখন এটি ইউবুট আসে। এখানে গুরুত্বপূর্ণ বিষয়টি হ'ল যে আমি উবুটকে যা বলে মনে হচ্ছে এমন কোনও কিছুই না লিখে নিরাপদে সেই লোমেম রেঞ্জটি ব্যবহার করতে সক্ষম হয়েছি।
বুভিনভিন

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