আমার লিনাক্স এআরএম 32 বা 64 বিট?


60

একটি ইন্টেলের নীচে আমি uname -mজানি যে আমার ওএস 32 বা 64 বিট কিনা তা জানতে ফলাফলের দিকে নজর দিতে পারি, তবে এআরএম এর আওতায় এটি দেয়:

armv7l

আমি থেকে ছাড়

file /usr/bin/ls

যে আমি 32-বিট ওএসে আছি, তবে কীভাবে আমি এটি আরও সহজ উপায়ে জানতে পারি?


3
বাহু 7 32 বিট হয়। ARMv8-A architecture, announced in October 2011,[6] adds support for a 64-bit address space and 64-bit arithmetic.- উইকিপিডিয়া
ctrl-alt-delor

@রিচার্ড আমি এতটা অনুমান করছিলাম তবে তারপরে -৪-বিটের বৈকল্পিকের নাম কী?
ক্রিস মেইস

1
আমার কাছে কোনও এআরএম মেশিনে অ্যাক্সেস নেই তবে এর আউটপুট কী uname -aএবং gcc -v? যারা সহায়ক হতে পারে।
টেরডন

Announced October 2011, ARMv8-A (often called ARMv8 although not all variants are 64-bit such as ARMv8-R) represents a fundamental change to the ARM architecture. It adds a 64-bit architecture, named "AArch64", and a new "A64" instruction set. AArch64 provides user-space compatibility with ARMv7-A ISA, the 32-bit architecture, therein referred to as "AArch32" and the old 32-bit instruction set, now named "A32" ARM announced their Cortex-A53 and Cortex-A57 cores on 30 October 2012.- en.wikipedia.org/wiki/ARM_architecture#64.2F32-bit_architecture
Ctrl-Alt-delor

আর্ম 32 বিট সিপিইউতে সর্বশেষ ছিলেন 64 বিবিট (যারা মারা গেছে তাদের বাদ দিয়ে)। বেশিরভাগ 64 বিট গিয়েছিল এবং তারপরে মারা গিয়েছিল, বিপণনের কারণেই নয় - ধরে নেওয়া ভাল যে আরও ভাল হওয়া যথেষ্ট। ইন্টেল x86 দ্বিতীয়টি ছিল সর্বশেষে, যদিও এটি এএমডি ছিল যা bit৪ বিট যুক্ত করেছিল।
ctrl-alt-delor

উত্তর:


74

বেশ কয়েকটি গ্রেডেশন রয়েছে, যেহেতু আপনি একটি 64-বিট-সক্ষম সিপিইউতে 32-বিট বা মিশ্র অপারেটিং সিস্টেম চালাতে পারেন। দেখুন 64-বিট কার্নেল, কিন্তু 32 বিট ELF এক্সিকিউটেবল চালনা প্রক্রিয়া, কোথা থেকে এল? বিস্তারিত আলোচনার জন্য (x86 এর জন্য লেখা, তবে এর বেশিরভাগ অংশ বাহুর ক্ষেত্রেও প্রযোজ্য)।

আপনি প্রসেসরের মডেলটি খুঁজে পেতে পারেন /proc/cpuinfo। উদাহরণ স্বরূপ:

$ cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 10 (v7l)

এআরএমভি 7 (এবং নীচে) 32-বিট। এআরএমভি 8 64-বিট নির্দেশিকা সেটটি উপস্থাপন করে।

যদি আপনি দেখতে চান যে আপনার সিস্টেম 64৪-বিট বাইনারি সমর্থন করে কিনা, কার্নেল আর্কিটেকচারটি পরীক্ষা করুন:

$ uname -m
armv7l

64৪-বিট প্রসেসরের উপর, আপনি armv8যদি unameপ্রক্রিয়াটি একটি 32-বিট প্রক্রিয়া হয় বা aarch64যদি এটি একটি 64-বিট প্রক্রিয়া হয় তবে আপনি স্ট্রিংটি (বা উপরে) দিয়ে দেখতে পাবেন see ( Https://stackoverflow.com/questions/45125516/possible-values-for-uname-m এছাড়াও দেখুন )


2
আমি আপনার উত্তরটি প্রতিদ্বন্দ্বিতা করি না, তবে দুর্ভাগ্যক্রমে অ্যান্ড্রয়েড হ'ল লিনাক্স, সুতরাং এখানে কিছু কমান্ড থাকার কথা মনে হচ্ছে, স্থানীয়ভাবে এটি প্রদর্শিত হবে এবং কোনও পৃষ্ঠায় একটি ডকুমেন্টেশন না পড়তে হবে
THESorcerer

1
@ টিএসএসোরার অ্যান্ড্রয়েড একটি লিনাক্স কার্নেল ব্যবহার করে তবে এটি লিনাক্স সিস্টেম নয়। এটিতে লিনাক্স ব্যবহারকারীর ল্যান্ড সরঞ্জামগুলি নেই (কেবল একটি খুব ছোট উপসেট)। অ্যান্ড্রয়েডে, আমি মনে করি OS৪-বিট সমর্থন বেস ওএসের সাথে সামঞ্জস্যপূর্ণ, সুতরাং cat /proc/$$/mapsআপনাকে অ্যাডবি কমান্ড লাইন থেকে সিস্টেমটি -৪-বিট বা 32-বিট কিনা তা আপনাকে জানাতে দেবে।
গিলস

3
আমি বিশ্বাস করি রাস্পবেরি পাই 3 যা এআরএমভি 8 (সিআরসি, কোনও বিকল্প alচ্ছিক ক্রিপ্টো) armv7lএর এআরএমভি 8 এর পরে রিপোর্ট করবে না । সুতরাং আমি পুরোপুরি নিশ্চিত যে ভুল সিপিইউ রিপোর্ট করা হবে।

1
@jww যদি এটি প্রতিবেদন করে armv7lতবে এর অর্থ আপনি একটি 32-বিট কার্নেল চালাচ্ছেন। আপনি একটি 64-বিট সিপিইউতে 32-বিট কার্নেল চালাতে পারেন run আপনি যদি সিপিইউ সম্পর্কিত তথ্য চান তবে পড়ুন /proc/cpuinfo
গিলস

uname -m কেবল "aarch64" প্রদান করে। / proc / cpuinfo সর্বদা প্রসেসরের কোনও নাম ধারণ করে না।
হালসফার

23

রিচার্ড যেমন উল্লেখ করেছে, armv7রূপগুলি সমস্ত 32-বিট, সুতরাং কোনও অপ্রয়োজনীয় লেবেল নেই armv7-32etc.

একটি লিনাক্স সিস্টেমে আপনি সহজেই, যদিও সত্যিকভাবে নিশ্চিত না হলেও সাধারণ নির্বাহযোগ্য পরীক্ষা করে পরীক্ষা করে দেখতে পারেন:

> which bash
/bin/bash
> file /bin/bash
/bin/bash: ELF 32-bit LSB executable, ARM, version 1 (SYSV) ...

আমি "নিশ্চিতভাবে নয়" বলি কারণ 64৪-বিট সিস্টেমে 32-বিট এক্সিকিউটেবল চালানো সম্ভব।

এর মধ্যে /procবা কোনও বোকা কিছু বলে মনে হচ্ছে না /sys; থেকে আউটপুট কিছু উল্লেখযোগ্য ক্লু সরবরাহ /proc/cpuinfo করতে পারে । যদি কোনও কারণে আপনাকে একটি স্বয়ংক্রিয় চেকের প্রয়োজন হয়, "মডেল নাম" ফিল্ডে ম্যাপযুক্ত একটি সারণী তৈরি করা একটি সম্ভাব্য শব্দ পদ্ধতির মতো মনে হচ্ছে ("মডেল", "সিপিইউ পরিবার" সহ অন্যান্য ক্ষেত্রগুলি etc.চ্ছিক দেখায় - তারা ডোন না ' আমার কাছে ব্রডকম 2708 এআরএমভি 6 প্রসেসরে মোটেই উপস্থিত হবে না)।


সুতরাং armv7l 32 বিট ঠিক আছে?
বাকালোলো

1
@ বাকালোলো প্রশ্ন এবং স্বীকৃত উত্তরটি আস্তে আস্তে পড়ুন;)
স্বর্ণলোকস

11

'Lshw' প্যাকেজটি ইনস্টল করুন।

# lshw
...
    description: Computer
    product: Raspberry Pi 3 Model B Rev 1.2
    width: 32 bits
...

3

বিট কাউন্ট দেখার বেশিরভাগ উপায়গুলির মতো দেখে মনে হয় এটি হ'ল আর্ম 7 = 32 বিট এবং এটি সত্য হতে পারে তবে কী সম্পর্কে

pi@rpi9:~ $ getconf LONG_BIT
32

এবং আপনি সিপিইউ মডেলটি সন্ধান করতে চাইলে আমি সাধারণত খিলান ব্যবহার করি

root@rpi4:~# tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi Model B Rev 2
armv6l

pi@rpi9:~ $ tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi 3 Model B Rev 1.2
armv7l

getconf LONG_BIT খুব সোজা
আবদুলকারিম কানান

1

নিম্নলিখিত চেষ্টা করুন।

// -*- compile-command: "gcc -Wall -o sizeof sizeof.c && ./sizeof" -*-

#include <stdio.h>
#include <limits.h>

#define size(t) { t x; printf("%s:\t%3lu bit\n", #t, CHAR_BIT * sizeof x); }

int main (int argc, char *argv[])
{
  size(char);
  size(short);
  size(int);
  size(long);
  size(void*);
  return 0;
}

ঠিকানা আকার হয় void*


1
sizeofআয় size_tযা ব্যবহার করে প্রিন্ট করা উচিত নয়%zu । ভুল ফর্ম্যাট স্পেসিফায়ার ব্যবহার অনির্ধারিত আচরণের আহ্বান জানায়
ফুচলভ

অকার্যকর * এর আকার অগত্যা আর্কিটেকচার বিট প্রস্থ নয়। আপনি কি কখনো শুনেছেন x32 ABI- র sites.google.com/site/x32abi
phuclv

একইভাবে, getconf -a | গ্রেপ লং_বিআইটি
কাইওয়ান

2
এটি আপনাকে আপনার সংকলকটির প্রকৃতি ব্যতীত অন্য কিছু বলবে না ।
rsethc

-5

না, এটি একটি 64৪-বিট কম্পিউটার। এটি একটি অলউইনার এইচ 8, জাদুকরী একটি ডাবল এআরএম -7 is 8 কোরে, 64 বিট, পাওয়ারের, এসএক্সএক্স 544, দ্বিগুণ গতিতে (700 মিগাহার্টজ)।

সুতরাং না, এটি 64 বিট হওয়ার পক্ষে সক্ষম। কেবল ওএস 32 হতে পারে।


আপনি কোথায় খুঁজে পেয়েছেন যে ওপি অলউইননার এইচ 8 ব্যবহার করছে? আর্কিটেকচারটি আর্মভ ll যা স্পষ্টভাবে কোনও 64-বিট এক নয়
ফুক্লভ

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