Skip to content

Commit afe4c2d

Browse files
committed
README.ES.md for 00 These changes are in response to PR comments
1 parent eb2a88f commit afe4c2d

File tree

1 file changed

+21
-22
lines changed

1 file changed

+21
-22
lines changed

00_before_we_start/README.ES.md

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@ El texto a continuación es una copia 1:1 de la documentación que
44
puede ser encontrada al principio del archivo del código fuente
55
del núcleo (kernel) en cada tutorial. Esta describe la estructura
66
general del código fuente, e intenta transmitir la filosofía detrás
7-
de cada respectivo acercamiento. Por favor leélo para familiarizarte
8-
con lo que te vas a encontrar durante los tutoriales. Te ayudará a navegar el código de una mejor manera y entender las diferencias y adiciones entre los diferentes tutoriales.
7+
de cada enfoque. Por favor leélo para familiarizarte
8+
con lo que te vas a encontrar durante los tutoriales. Te ayudará a navegar el código de una mejor manera y a entender las diferencias y agregados entre los diferentes tutoriales.
99

10-
Por favor también nota que el siguiente texto va a referenciar
11-
los archivos del código fuente (e.j. `**/memory.rs`) o funciones que
10+
Por favor, nota también que el siguiente texto va a referenciar
11+
los archivos del código fuente (p. e.j. `**/memory.rs`) o funciones que
1212
no van a existir aún en los primeros tutoriales. Estos archivos serán agregados
1313
a medida que el tutorial avance.
1414

1515
¡Diviértanse!
1616

1717
# La estructura del código y la arquitectura
1818

19-
El código está dividido en diferentes módulos, cada uno representa un
19+
El código está dividido en diferentes módulos donde cada uno representa un
2020
subsistema típico del `kernel (núcleo)`. Los módulos de más alto nivel de los subsistemas se encuentran directamente en la carpeta `src`.
2121
Por ejemplo, `src/memory.rs` contiene el código que está relacionado
2222
con el manejo de memoria.
2323

2424
## Visibilidad del código de arquitectura del procesador
2525

26-
Algunos de los subsistemas del `núcleo (kernel)` dependen del código de nivel-bajo (low-level) que tiene como objetivo la arquitectura del procesador.
26+
Algunos de los subsistemas del `núcleo (kernel)` dependen del código de bajo nivel (low-level) dedicado a la arquitectura del procesador.
2727
Por cada arquitectura de procesador que está soportada, existe una subcarpeta en `src/_arch`, por ejemplo, `src/_arch/aarch64`.
2828

2929
La carpeta de arquitecturas refleja los módulos del subsistema establecidos en `src`. Por ejemplo, el código de arquitectura que pertenece al subsistema MMU del `núcleo(kernel)` (`src/memory/mmu.rs`) irá dentro de (`src/_arch/aarch64/memory/mmu.rs`).
30-
El último archivo cargado como un módulo en `src/memory/mmu.rs` usando el `path attribute` (atributo de ruta). Usualmente, el nombre del módulo elegido es el nombre del módulo genérico con el prefijo de `arch_`
30+
Este archivo puede ser cargado como un módulo en `src/memory/mmu.rs` usando el `path attribute` (atributo de ruta). Usualmente, el nombre del módulo elegido es el nombre del módulo genérico con el prefijo de `arch_`
3131

3232
Por ejemplo, esta es la parte superior de `src/memory/mmu.rs`:
3333

@@ -38,25 +38,24 @@ mod arch_mmu;
3838
```
3939

4040
En muchas ocasiones, los elementos de `arch_module` serán reexportados públicamente por el módulo principal.
41-
De esta manera, cada módulo específico de la arquitectura puede proporcionar su implementación de un elemento, mientras que el *caller* no debe de preocuparse por la arquitectura que se ha compilado condicionalmente.
41+
De esta manera, cada módulo específico de la arquitectura puede proporcionar su implementación de un elemento, mientras que el *invocante* no debe de preocuparse por la arquitectura que se ha compilado condicionalmente.
4242

4343
## Código BSP
4444

4545
`BSP` significa Board Support Package (Paquete de Soporte de la Placa).
46-
El código `BSP` está dentro de `src/bsp.rs` y contiene las definiciones y funciones de la placa base específica a la que se tendrá como objetivo.
47-
Entre estas cosas se encuentran diferentes elementos como el mapa de memoria de la placa o instancias de controladores para dispositivos que se presentan en la placa respectiva.
46+
El código `BSP` está dentro de `src/bsp.rs` y contiene las definiciones y funciones de la placa base específica elegida.
47+
Entre estas cosas se encuentran diferentes elementos como el mapa de memoria de la placa o instancias de controladores para dispositivos que se presentan en la placa elegida.
4848

49-
Justo como el código de la arquitectura del procesador, la estructura del módulo del código `BSP` trata de reflejar los módulos del subsistema del `núcleo (kernel)`, pero no ocurre una reexportación esta vez. Eso significa que lo que sea que se esté proporcionando debe ser llamado empezando por el *namespace* de `bsp`, e.j. `bsp::driver::driver_manager()`.
49+
Justo como el código de la arquitectura del procesador, la estructura del módulo del código `BSP` trata de reflejar los módulos del subsistema del `núcleo (kernel)`, pero no ocurre una reexportación esta vez. Eso significa que lo que sea que se esté proporcionando debe ser llamado empezando por el *namespace* (espacio de nombres) de `bsp`, p. ej. `bsp::driver::driver_manager()`.
5050

5151
## La interfaz del núcleo (kernel)
5252

53-
El `arch` y el `bsp` contienen código que se compilará condicionalmente dependiendo del objetivo y placa actual para la que el núcleo (kernel) es compilado.
54-
Por ejemplo, el hardware de `interrupt controller` de la `Raspberry Pi 3`
55-
y la `Raspberry Pi 4` es diferente, pero nosotros queremos que el resto del código del kernel funcione correctamente con cualquiera de los dos sin mucha complicación.
53+
El `arch` y el `bsp` contienen código que se compilará condicionalmente dependiendo del procesador y placa actual para la que se compila el núcleo (kernel).
54+
Por ejemplo, el hardware de control de interrupciones de la `Raspberry Pi 3` y la `Raspberry Pi 4` es diferente, pero nosotros queremos que el resto del código del kernel funcione correctamente con cualquiera de los dos sin mucha complicación.
5655

57-
Para poder dar una limpia abstracción entre `arch`, `bsp` y `generic kernel code`, los rasgos de `interface` se proporcionan *siempre y cuando tenga sentido*. Son definidos en su respectivo módulo de subsistema y ayuda a reforzar el idioma de *program to an interface* *(programa a una interface)*, no a una implementación.
56+
Para poder dar una limpia abstracción entre `arch`, `bsp` y código genérico del núcleo, los rasgos de `interface` se proporcionan *siempre y cuando tenga sentido*. Son definidos en su módulo de subsistema correspondiente y ayuda a reforzar el patrón de programar con respecto a una interfaz, sin importar la implementación concreta.
5857

59-
Por ejemplo, habrá una *IRQ handling interface* común, el cual los dos diferentes `drivers` de `interrupt controller` de ambas `Raspberry` implementarán, y solo exportarán la interface del resto del `núcleo (kernel)`.
58+
Por ejemplo, habrá una *IRQ handling interface* (interfaz de manejo de interrupciones) común, el cual los dos diferentes controladores de ambas `Raspberry` implementarán, y solo exportarán la interfaz común al resto del `núcleo (kernel)`.
6059

6160
```
6261
+-------------------+
@@ -78,10 +77,10 @@ Para un subsistema lógico del `núcleo (kernel)`, el código correspondiente pu
7877

7978
- `src/memory.rs` y `src/memory/**/*`
8079

81-
- Código común que es independiente de la arquitectura del procesador de destino y las características de `BSP`.
82-
- Ejemplo: Una función a un pedazo cero de memoria.
83-
- Las interfaces para el subsistema de la memoria que son implementados por código `arch` o `BSP`.
84-
- Ejemplo: Una interface `MMU` que define prototipos de función `MMU`.
80+
- Código común que es independiente de la arquitectura del procesador de destino y las características de la placa (`BSP`).
81+
- Ejemplo: Una función para poner a cero un trozo de memoria.
82+
- Las interfaces para el subsistema de la memoria que son implementados por código de `arch` o `BSP`.
83+
- Ejemplo: Una interfaz `MMU` que define prototipos de función de `MMU`.
8584

8685
- `src/bsp/__board_name__/memory.rs` y `src/bsp/__board_name__/memory/**/*`
8786

@@ -100,5 +99,5 @@ Desde una perspectiva de *namespace*, el código del subsistema de **memoria** v
10099

101100
# Flujo de Boot / Boot flow
102101

103-
1. La punto de entrada del núcleo (kernel) es la función `cpu::boot::arch_boot::_start()`.
104-
- Está implementada en `src/_arch/__arch_name__/cpu/boot.s`.
102+
1. El punto de entrada del núcleo (kernel) es la función `cpu::boot::arch_boot::_start()`.
103+
- Está implementado en `src/_arch/__arch_name__/cpu/boot.s`.

0 commit comments

Comments
 (0)