La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

La Programación de Sistemas Oscar José Luis Cruz Reyes

Presentaciones similares


Presentación del tema: "La Programación de Sistemas Oscar José Luis Cruz Reyes"— Transcripción de la presentación:

1 La Programación de Sistemas Oscar José Luis Cruz Reyes ocruz22@gmail.com ocruz@uv.mx

2 Systems programming (or system programming)‏ Is the activity of programming system software. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user (e.g. word processor), whereas systems programming aims to produce software which provides services to the computer hardware (e.g. disk defragmenter). It also requires a greater degree of hardware awareness.

3 In system programming more specifically: The programmer will make assumptions about the hardware and other properties of the system that the program runs on, and will often exploit those properties (for example by using an algorithm that is known to be efficient when used with specific hardware).

4 Usually a low-level programming language or programming language dialect is used that: Can operate in resource-constrained environments. Is very efficient and has little runtime overhead. Has a small runtime library, or none at all. Allows for direct and "raw" control over memory access and control flow. Lets the programmer write parts of the program directly in assembly language.

5 In system programming, often limited programming facilities are available. The use of automatic garbage collection is not common and debugging is sometimes hard to do. Implementing certain parts in operating system and networking requires systems programming (for example implementing Paging (Virtual Memory) or a device driver for an operating system).

6 System Software Is any computer software which manages and controls computer hardware so that application software can perform a task. Operating systems, such as Microsoft Windows, Mac OS X or Linux, are prominent examples of system software. System software contrasts with application software, which are programs that enable the end-user to perform specific, productive tasks, such as word processing or image manipulation.

7 System Software [2] System software performs tasks like transferring data from memory to disk, or rendering text onto a display device. Specific kinds of system software include loading programs, Operating systems, device drivers, programming tools, compilers, assemblers, linkers, and utility software. If system software is stored on non-volatile memory such as integrated circuits, it is usually termed firmware.

8 Según [Tischer 96] para entender qué es la programación de sistemas se debe partir del concepto de programación de una aplicación … allí el punto que importa es el como se representa y se manipula la información.

9 Los algoritmos no dependerán de la arquitectura o sistema en cuestión, sino que se pueden describirse de forma general para cualquier máquina imaginable. Lo que sí dependen del sistema es que pasa con la información una vez dentro del programa y la forma en que ésta saldrá una vez tratada. Así, las funciones que competen a la programación de sistemas son el: acceso a archivos, el teclado, la pantalla y el resto de dispositivos...

10

11 Editores Desde el punto de vista de los editores existen dos clasificaciones según [Englander 02, pág. 672]: Los editores de línea y los de pantalla. Los editores de línea aceptan las instrucciones una a una tal y como si fuese una ventana de comandos (shell) del SO. Mencione un ejemplo.

12 Editores [2] Los editores de pantalla son más parecidos a un procesador de textos, uno se puede desplazar libremente por la pantalla y simplemente editar. Dentro de esta categoría existen algunos editores particulares que permiten trabajar en modo comando o modo edición. Ídem

13 Intérpretes Es un traductor de lenguaje, igual que un compilador, pero difiere de éste en que ejecuta el programa fuente inmediantamente, en vez de generar un código objeto que se ejecuta después de que se completa la traducción. Es preferible usar un compilador si lo que importa es la velocidad de ejecución, ya que el código objeto compilado es siempre más rápido que el código fuente interpretado.

14 Cargadores Un programa se ha traducido a lenguaje máquina (código objto) y está almacenado en un disco magnético. ¿Cómo hacer para que ese programa se ejecute?........

15 Cargadores [2] Debe cargarse en la memoria principal. Debe tomarse en cuenta que otro programa denominado cargador, ya se encuentra en la memoria principal. La ejecución del cargador efectúa la secuencia adecuada de operaciones de E / S necesarias para transferir un programa en lenguaje de máquina, de una localización especificada del disco a una localización especificada de memoria principal.

16 Cargadores [3] Una vez cargado el código objeto, el cargador empieza a ejecutar el programa objeto ramificando a su primera instrucción.

17 Intérpretes

18 Generadores

19 Ensambladores

20 Compiladores

21 Ligadores

22 Preprocesadores

23 Depuradores

24 Perfiladores

25 Administradores de Proyecto

26 Referencias: http://en.wikipedia.org/wiki/Systems_programming http://en.wikipedia.org/wiki/System_software [Tischer 96] Michael Tischer, PC Interno 5, Marcombo, 1996. [Englander 02] Irv Englander, Arquitectura computacional 2da Edición, CECSA, 2002


Descargar ppt "La Programación de Sistemas Oscar José Luis Cruz Reyes"

Presentaciones similares


Anuncios Google