2013-02-27 10:26:46 +0000 2013-02-27 10:26:46 +0000
95
95

O que significa /dev/sda para linux?

O que significa :

/dev/sda

O que é que significa?

Tenho instalados Fedora e Ubuntu e se os explorar usando Ext2explore do windows, vejo estes nomes:

/dev/sda6
/dev/sda9

Por favor explique-me o que é que isso significa? Refiro-me aos números que lá estão e também aos /dev/sda/.

Respostas (3)

142
142
142
2013-02-27 10:51:11 +0000

TL;DR* : Tem a ver com a forma como o linux (e todos os unixes) denominam as suas unidades, muito na forma como as janelas utilizam C:, D:, etc. ( NOTE : Isto é o que chamamos uma metáfora. Por outras palavras, uma mentira gritante que ajuda as pessoas a compreenderem sem serem sequer remotamente exactas. Leia para uma explicação mais detalhada…)

  • /dev/ é a parte da árvore de directórios unix que contém todos os ficheiros “device” - o unix trata tradicionalmente de quase tudo o que pode aceder como um ficheiro para ler ou para escrever.

  • sd* identificou originalmente um dispositivo SCSI, mas desde o crescimento selvagem dos suportes de dados USB (e outros removíveis) tornou-se um “catch-all” para qualquer dispositivo de bloco (outro termo unix; neste contexto, qualquer coisa capaz de transportar dados) que ainda não era acessível via IDE. Quando a SATA surgiu, os programadores acharam que seria muito mais fácil e muito mais conveniente para todos adicioná-la à estrutura existente em vez de escrever uma estrutura totalmente nova.

  • A letra imediatamente após sd* significa a ordem em que foi encontrada pela primeira vez – a,b,c. ..z, Aa…Az… etc. (Não que existam muitas situações no mundo real onde mais de 26 dispositivos de blocos discretos estão no mesmo autocarro…)

  • Finalmente, o número a seguir a isso significa a partição no dispositivo. Note que devido à forma bastante aleatória como os PCs lidam com a partição, existem apenas quatro partições “primárias”, por isso a numeração estará ligeiramente fora da contagem real. Isto não é um problema terrível, pois o principal objectivo do esquema de nomes é ter um identificador único e reconhecível para cada partição encontrada desta forma…

Então /dev/sda9 significa a nona partição na primeira unidade.

17
17
17
2013-02-27 10:29:06 +0000

/dev é a representação do seu sistema de ficheiros dos dispositivos que o seu sistema compreende - fornecendo um mecanismo para as aplicações acederem aos dados do dispositivo sem necessitarem de saber especificamente o que é o dispositivo.

sd* é para dispositivos de disco (originalmente) scsi, no entanto parece agora referir-se a dispositivos amovíveis em geral e dispositivos SATA

e a letra é apenas o número do dispositivo, começando por a, com o número a indicar a partição.

10
10
10
2016-04-02 12:00:43 +0000

sd é originário do motorista sd-mod. Significa literalmente s* csi d* isk.

A razão pela qual os discos (S)ATA também estão listados como discos SCSI é que os comandos SCSI fornecem praticamente um super conjunto de funcionalidades que podem ser fornecidas pelos comandos ATA, portanto os sistemas modernos (incluindo Windows, AFAIK) terão uma implementação da camada de tradução SCSI-ATA (SATL) no sistema (em Linux é fornecida pelo driver libata) para falar com os discos (S)ATA, enquanto a camada superior do sistema pode ser generalizada.

Como pode não saber, as unidades USB “falam” SCSI (ou seja, tomam e respondem aos comandos SCSI), independentemente de suportar ou não o protocolo SCSI anexado ao USB. Além disso, a maioria dos HDD/SSDs USB são discos SATA ligados em ponte a USB. Para aqueles que a ponte fornece o SATL, mas não o sistema operativo.