cambios SS 2024-10-24 12:44:01

This commit is contained in:
Jose
2024-10-24 12:44:01 +02:00
parent 0660cad897
commit 4b103c831d
5 changed files with 48 additions and 42 deletions

View File

@@ -4,36 +4,24 @@
"type": "split",
"children": [
{
"id": "c841a021395cc4d3",
"id": "84c5dfd2b48489b3",
"type": "tabs",
"children": [
{
"id": "d8a559569207f8b1",
"id": "af3658905894d992",
"type": "leaf",
"state": {
"type": "image",
"type": "markdown",
"state": {
"file": "TERCERO/SPD/images/Pasted image 20241022150214.png"
"file": "TERCERO/SS/SS 24-25.md",
"mode": "source",
"source": false
},
"icon": "lucide-image",
"title": "Pasted image 20241022150214"
}
},
{
"id": "2cf8494471daa0d9",
"type": "leaf",
"state": {
"type": "diff-view",
"state": {
"file": "conflict-files-obsidian-git.md",
"staged": false
},
"icon": "git-pull-request",
"title": "Diff View (conflict-files-obsidian-git)"
"icon": "lucide-file",
"title": "SS 24-25"
}
}
],
"currentTab": 1
]
}
],
"direction": "vertical"
@@ -89,7 +77,8 @@
}
],
"direction": "horizontal",
"width": 300
"width": 300,
"collapsed": true
},
"right": {
"id": "44cf06183e1c1c7d",
@@ -186,10 +175,12 @@
"obsidian-git:Open Git source control": false
}
},
"active": "2cf8494471daa0d9",
"active": "af3658905894d992",
"lastOpenFiles": [
"conflict-files-obsidian-git.md",
"Pasted image 20241024113018.png",
"Pasted image 20241024090239.png",
"TERCERO/SPD/images/Pasted image 20241022150214.png",
"conflict-files-obsidian-git.md",
"TERCERO/ATR1/images/Pasted image 20241020204947.png",
"TERCERO/ATR1/images/Pasted image 20241020204701.png",
"TERCERO/ATR1/images/Pasted image 20241020204340.png",
@@ -200,7 +191,6 @@
"TERCERO/SPD/Teoría_2425.md",
"TERCERO/SPD/images/Pasted image 20241022134454.png",
"Imagen de WhatsApp 2024-10-22 a las 11.43.21_270060da.jpg",
"TERCERO/IA/images/tic-tac-toe.gif",
"TERCERO/IA/Teoría_2425.md",
"TERCERO/SS/SS 24-25.md",
"TERCERO/ATR1/Teoría_2425.md",

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -182,3 +182,36 @@ A diferencia del **enlace estático**, donde el ejecutable se construye totalmen
- Si lo hay, localiza la función en memoria y la enlaza. Además crea una nueva sección de datos para `printf` en el espacio de memoria virtual del nuevo programa.
- Al cerrarse todos los programas que usan ese código, se descarga de memoria.
**El objetivo es que todo programa en ejecución comparta el código de printf.obj pero que cada uno tenga una copia privada de los datos definidos en este.**
# <mark style="background: #FFF3A3A6;">TEMA 4: Modelo de programación de un SO</mark>
### <mark style="background: #FFB86CA6;">Arquitectura de un SO</mark>
![[Pasted image 20241024090239.png|600]]
## <mark style="background: #ADCCFFA6;">1. Para qué programar directamente con el SO</mark>
![[Pasted image 20241024113018.png|600]]
### <mark style="background: #FFB86CA6;">Como se usa indirectamente</mark>
Vía bibliotecas/runtime/frameworks del lenguaje. Por ejemplo:
```C
if( (stream = fopen("data", "w+" )) == NULL )
```
Flujo de parámetros: `fopen` $\rightarrow$ `CreateFile` $\rightarrow$ `NTCreateFile` $\rightarrow$ `Kernel`
Flujo de errores es el inverso
### <mark style="background: #FFB86CA6;">Como se usa directamente</mark>
En C/C++ parece fácil: usándolo. La mayoría de SO están escritos en C así que la API es accesible con C/C++.
### <mark style="background: #FFB86CA6;">Por qué usarlo directamente</mark>
- Se ahorra sobrecarga de la biblioteca/framework.
- Acceso a todas las capacidades del SO
- Ejemplos: `system`, `CreateProcess`
- Más control de errores
## <mark style="background: #ADCCFFA6;">2. Versiones de un SO</mark>
- Qué cambia entre versiones de un SO:
- Si se incluyen o no algunos módulos
- Evolución del kernel
- Soporte del procesador
- En Windows (NT): x86, x64... Poca variedad comparado con otros SO.
- ¿Qué implica?
- Portabilidad: binaria (raramente), source (hay que recompilar).
- API: nuevas funciones con cada versión y funciones deprecated.
## <mark style="background: #ADCCFFA6;">3. Programación en Windows desde C/C++</mark>

View File

@@ -1,17 +0,0 @@
# Conflicts
Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`
(This file will automatically be deleted before commit)
[[#Additional Instructions]] available below file list
- Not a file: .obsidian/workspace.json
# Additional Instructions
I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text.
```diff
<<<<<<< HEAD
File changes in local repository
=======
File changes in remote repository
>>>>>>> origin/main
```