Co oznacza „LSB” w odniesieniu do plików wykonywalnych na wyjściu pliku / bin / file?


23

Znalazłem termin „ plik wykonywalny LSB lub „ obiekt współdzielony LSB w danych wyjściowych filepolecenia w systemie Linux. Na przykład:

$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped

Co w tym kontekście oznacza „LSB”?

Odpowiedzi:


43

„LSB” oznacza tutaj „najmniej znaczący bajt” (pierwszy), w przeciwieństwie do „MSB”, „najbardziej znaczący bajt”. Oznacza to, że plik binarny jest little-endian.

file określa to na podstawie szóstego bajtu nagłówka ELF .


W drugiej odpowiedzi podano coś zupełnie innego ... Standardowa podstawa systemu Linux ... Dlaczego wprowadzono zamieszanie w tym temacie? Myślę, że prawdopodobnie masz rację. Brzmi jak rozsądniejsze wytłumaczenie.
yoyo_fun

7
Istnieje zamieszanie, ponieważ „LSB” jest akronimem obejmującym różne znaczenia. Może oznaczać „Linux Standard Base” w innych kontekstach; jednakże w filedanych wyjściowych oznacza to „najmniej znaczący bajt” (o czym świadczy kod źródłowy, z którym się powiązałem).
Stephen Kitt,

Wiele akronimów oznacza wiele różnych rzeczy. Jednak moje pytanie nie brzmiało: „Co oznacza LSB?” , ale bardziej konkretny dotyczący ściśle wykonywalnych plików w formacie ELF.
yoyo_fun

4
Tak, dokładnie; Nie sądzę, aby twoje pytanie było niejasne. Jednak wiele osób zatrzyma się na „LSB” i odpowie „Linux Standard Base”.
Stephen Kitt,

1
Oczekuję, że zamieszanie wynika z kilku rzeczy. 1. Samo napisanie „LSB”, aby wskazać małego endiana, jest dość niezwykłe. 2. Baza standardów Linuksa dość mocno ustandaryzowała współczesne systemy Linux. 3. Większość użytkowników Linuksa prawdopodobnie nigdy nie korzystała z systemu Linux typu big-endian.
płukanie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.