Red de conocimiento informático - Conocimiento sistemático - Comprensión profunda del sistema informático 1 índice

Comprensión profunda del sistema informático 1 índice

Un viaje a los sistemas informáticos

1.1 La información es un contexto de bits

1.2 Los programas se traducen a diferentes formas mediante otros programas

1.3 Es beneficioso comprender cómo funcionan los sistemas de compilación. trabajo

1.4 El procesador lee e interpreta las instrucciones almacenadas en la memoria

1.5 La caché es importante

1.6 los dispositivos de almacenamiento forman una jerarquía

1.7 El sistema operativo gestiona el hardware

1.8 El sistema utiliza la red para comunicarse con otros sistemas

1.9 Próximo paso

1.10 Resumen

Notas bibliográficas

Parte 1 Estructura y ejecución del programa

2 Información de representación y operación

2.1 Almacenamiento de información

2.2 Representación de números enteros

2.3 Aritmética de Enteros

2.4 Punto Flotante

2.5 Resumen

Notas Bibliográficas

Preguntas de Tarea

Soluciones a prácticas problemas

3 Representación de programas a nivel de máquina

Desde una perspectiva histórica

3.2 Codificación de programas

3.3 Formato de datos

3.4 Obtención de información

3.5 Operaciones aritméticas y lógicas

3.6 Control

3.7 Programa

3.8 Asignación y acceso a matrices

3.9 Estructuras de datos heterogéneas

3.10 Alineación

3.11 Poniéndolo todo junto: comprensión de los consejos

3.12 La vida real: uso del depurador GDB

3.13 Referencia de memoria fuera de los límites y desbordamiento del búfer

3.14 *Código de punto flotante

3.15 *Incrustación de código ensamblador en el programa C

3.16 Resumen

Notas bibliográficas

Problemas de tarea

Soluciones a problemas prácticos

4 Arquitectura del procesador

5 Programa de optimización rendimiento

6 niveles de memoria

Parte 2: Ejecutar el programa en el sistema

7 enlaces

8 flujo de control de excepciones

9 Medición del tiempo de ejecución del programa

10 Memoria virtual

Parte 3 Interacción y comunicación entre programas

11 E/S a nivel del sistema

12 Programación de red

13 Programación concurrente

Descripción HCL de la lógica de control del procesador

Manejo de errores

Bibliografía

Índice

Contenido:

Capítulo 65438 0 Recorrido por el sistema informático

1.1 La información es contexto de bits.

El programa 1.2 ha sido traducido a diferentes formatos por otros programas.

1.3 Es beneficioso comprender cómo funciona el sistema de compilación.

1.4 El procesador lee e interpreta instrucciones almacenadas en la memoria.

1.4.1 Composición hardware del sistema

1.4.2 Ejecutar el programa hello.

1.5 Caché

1.6 Dispositivo de almacenamiento con estructura jerárquica

1.7 Hardware de gestión del sistema operativo

1.7.1 Proceso

1.7.2 Hilos

1.7.3 Memoria virtual

1.7.4 Archivos

1.8 Utilice sistemas de red para comunicarse con otros sistemas.

1.9 Próximo paso

1.10 Resumen

Descripción de la referencia

Capítulo 2 Representación y procesamiento de la información

2.1 Almacenamiento de información

2.2 Representación de números enteros

2.3 Operación de números enteros

2.4 Punto flotante

2.5 Resumen

Descripción de referencia

Tarea

Respuestas a las preguntas del ejercicio

Capítulo 3 Representación mecánica de programas

3.1 Perspectiva histórica

3.2 Codificación del programa

3.3 Formato de datos

3.4 Obtención de información

3.5 Operaciones aritméticas y lógicas

3.6 Control

p>

3.7 Proceso

3.8 Asignación y acceso a matrices

3.9 Estructuras de datos heterogéneas

3.10 Alineación

3.11 Integral: comprensión de los punteros

3.12 La vida real: usando el depurador GDB

3.13 Referencias de memoria fuera de límites y desbordamientos de buffer

3.14 *Código de punto flotante

3.15 * Incrustar código ensamblador en el programa C

3.16 Resumen

Capítulo 4 Arquitectura del procesador

4.1 Arquitectura del conjunto de instrucciones Y86

4.2 Diseño lógico y lenguaje de control de hardware HCL 271

4.3 Implementación secuencial Y86

4.4 Principios generales de las líneas de ensamblaje

4.5 Implementación de canalización Y86

4.6 Resumen

Capítulo 5 Optimización del rendimiento del programa

5.1 Habilidades y limitaciones de la optimización de los compiladores

5.2 Representación del rendimiento del programa

5.3 Ejemplo de programa

5.4 Eliminar la circulación ineficiente

5.5 Reducir las llamadas a procedimientos

5.6 Eliminar referencias de memoria innecesarias

5.7 Comprender los procesadores modernos

5.8 Reducir la sobrecarga del ciclo

5.9 Convertir a código de puntero

5.10 Mejorar el paralelismo

5.11 Síntesis: optimizar el código combinado Resumen de efectos

5.12 ​​​​Predicción de rama y penalización por error de predicción

5.13 Comprender el rendimiento de la memoria

5.14 La vida real: tecnología de mejora del rendimiento

5.15 Identificar y eliminar cuellos de botella de rendimiento

5.16 Resumen

Capítulo 6 Jerarquía de memoria

6.1 Tecnología de almacenamiento

6.2 Ubicación

6.3 Jerarquía de memoria

6.4 Caché

6.5 Escribir código compatible con caché

6.6 Síntesis: El impacto del caché en el rendimiento del programa

6.7 Síntesis: Explotación de la localidad en los programas.

6.8 Resumen

Descripción de la referencia

Tarea

Respuestas a las preguntas del ejercicio

Enlace del Capítulo 7

7.1 Controlador del compilador

7.2 Enlace estático

7.3 Archivo objeto

7.4 Archivo objeto reubicable

7.5 Símbolos y tablas de símbolos

7.6 Análisis de símbolos

7.7 Restablecer

7.8 Archivos de destino ejecutables

7.9 Carga de archivos de destino ejecutables

7.10 Enlaces dinámicos * * * Disfruta de la biblioteca

7.11 Cargar y vincular desde la aplicación * * * Disfruta de la biblioteca

7.12 * Código independiente de la posición (PIC )

7.13 Herramientas para procesar archivos de destino

7.14 Resumen

Capítulo 8 Proceso de control de excepciones

8.1 Excepciones

8.2 Proceso

8.3 Llamada del sistema y manejo de errores

8.4 Control de procesos

8.5 Señal

8.6 Salto no local

p>

8.7 Herramientas para el flujo de operaciones

8.8 Resumen

Capítulo 9 Medición del tiempo de ejecución del programa

9.1 Flujo de tiempo en sistemas informáticos

9.2 Medir el tiempo por conteo de intervalos.

9.3 Contador de bucles

9.4 Utilice el contador de bucles para medir el tiempo de ejecución del programa.

9.5 Medición de la función gettimeofday

9.6 Síntesis: Plan experimental

9.7 Mirando hacia el futuro

9.8 Vida real: K-ésima mejor medición Método

9.9 Lecciones aprendidas

9.10 Resumen

Capítulo 65438 00 Memoria virtual

10.1 Direccionamiento físico y virtual

10.2 Espacio de direcciones

10.3 Máquina virtual como herramienta de almacenamiento en caché

10.4 VM como herramienta de administración de memoria

10.5 VM como herramienta de protección de memoria.

10.6 Traducción de direcciones

10.7 Estudio de caso: sistema de memoria Pentium/Linux

10.8 Asignación de memoria

10.9 Asignación dinámica de memoria

10.10 Recolección de basura

10.11 Errores comunes relacionados con la memoria en programas C

10.12 Resuma brevemente algunos conceptos clave sobre la memoria virtual.

10.13 Resumen

Capítulo 11 E/S a nivel del sistema

11.1 E/S Unix

11.2 Apertura y cierre de archivos

p>

11.3 Lectura y escritura de archivos

11.4 Uso del paquete RIO para una lectura y escritura sólidas.

11.5 Leer metadatos de archivos

11.6 ***Disfrutar de archivos

11.7 Redirección de E/S

11.8 Entrada/salida estándar

11.9 Síntesis: ¿Qué funciones de E/S se deben utilizar?

11.10 Resumen

Capítulo 12 Programación de red

12.1 Modelo de programación cliente-servidor

12.2 Red

12.3 Internet IP global

12.4 Interfaz de socket

12.5 Servidor web

12.6 Integración: Micro servidor web

12.7 Resumen

Capítulo 13 Proceso de compilación concurrente

13.1 Programación concurrente basada en procesos

13.2 Programación concurrente basada en multiplexación de E/S

13.3 Programación concurrente basada en subprocesos

* * * 13.4 Variables compartidas en programas multiproceso

13.5 Sincronización de subprocesos con señales

13.6 Integral: servidor concurrente pre-proceso

13.7 Otros problemas concurrentes

13.8 Resumen

Descripción de la referencia

Ejercicios de tarea

Respuestas a las preguntas del ejercicio

Apéndice a Descripción de HCL de la lógica de control del procesador

A.1 Manual de referencia de HCL

A.2 SEQ

A.3 SEQ

A.4 Pipeline

Apéndice b Manejo de errores

B.1 Manejo de errores en sistemas Unix

B.2 Funciones contenedoras de procesamiento de errores

B.3 archivo de encabezado csapp.h

B.4 archivo fuente csapp.c