Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I MC Beatriz Beltrán Martínez
Introducción Programación I MC Beatriz Beltrán Martínez
Definición ALGORITMO. Es una secuencia ordenada, finita e inequívoca de pasos a seguir para resolver un determinado problema. PROGRAMA. Es cuando es una computadora la encargada de ejecutar un determinado algoritmo y dicho algoritmo es expresado en forma de un PROGRAMA de computadora. MC Beatriz Beltrán MartínezFCC - BUAP Verano 20133
Definición LENGUAJE DE PROGRAMACIÓN. Es el conjunto de instrucciones que la computadora pueda entender y posteriormente ejecutar. PROGRAMACIÓN. Es la actividad de expresar un algoritmo en forma de programa. MC Beatriz Beltrán MartínezFCC - BUAP Verano 20134
Definición SOFTWARE. Son los programas. HARDWARE. Es el equipo físico. Existen ya programas o software previamente desarrollado. Pero parte del software, tiene que ser desarrollado por los propios usuarios para sus fines específicos. MC Beatriz Beltrán MartínezFCC - BUAP Verano 20135
Definición Los programas que están destinados a alguna aplicación específica se les conoce como PAQUETES DE APLICACIONES. Hay otros programas que son los encargados de proporcionar servicios vitales para que un usuario pueda interactuar con un sistema de cómputo; el SOFTWARE DEL SISTEMA. El SISTEMA OPERATIVO es un conjunto de programas que nos facilitan el uso de los recursos de la máquina. MC Beatriz Beltrán MartínezFCC - BUAP Verano 20136
Sistemas Operativos Los sistemas operativos, en su condición de capa software que posibilitan y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en micronúcleos), podemos reseñar las siguientes: MC Beatriz Beltrán MartínezFCC - BUAP Verano 20137
Sistemas Operativos Proporcionar más comodidad en el uso de una computadora. Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas). Brindar una interfaz al usuario, ejecutando instrucciones (comandos). Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad). MC Beatriz Beltrán MartínezFCC - BUAP Verano 20138
Sistemas Operativos Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: Interfaces del usuario: Es la parte del sistema operativo que permite comunicarse con él, de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. MC Beatriz Beltrán MartínezFCC - BUAP Verano 20139
Sistemas Operativos Administración de recursos: Sirven para administrar los recursos de hardware y de redes, como la CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida. Administración de archivos: Los programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos. MC Beatriz Beltrán MartínezFCC - BUAP Verano
Sistemas Operativos Administración de tareas: Administran la realización de las tareas de los usuarios finales. Los programas controlan qué áreas tienen acceso al CPU y por cuánto tiempo. Servicios de soporte: Dependerán de la implementación particular con la que se esté trabajando. MC Beatriz Beltrán MartínezFCC - BUAP Verano
Sistemas Operativos Clasificación de los Sistemas Operativos: Multiprogramación (o multitarea): Es el modo de funcionamiento disponible en algunos SO, mediante el cual una computadora procesa varias tareas al mismo tiempo. Monotareas: Son más primitivos, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. MC Beatriz Beltrán MartínezFCC - BUAP Verano
Monousuario: Son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando. Multiusuario: Es lo contrario a monousuario; y en esta categoría se encuentran los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. MC Beatriz Beltrán MartínezFCC - BUAP Verano Sistemas Operativos
Por lotes: Procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Tiempo real: Son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran número de sucesos o eventos. MC Beatriz Beltrán MartínezFCC - BUAP Verano Sistemas Operativos
De tiempo compartido: Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición, se procesa tan pronto como le es posible, y la respuesta aparecerá en terminal. Distribuidos: Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. MC Beatriz Beltrán MartínezFCC - BUAP Verano Sistemas Operativos
De red: Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema. Paralelos: Se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo. MC Beatriz Beltrán MartínezFCC - BUAP Verano Sistemas Operativos
Unidades de almacenamiento Bit: Es el acrónimo de Binary digit. (dígito binario). Un bit es un dígito del sistema de numeración binario. Byte: Es el equivalente a octeto, es decir a ocho bits, para fines correctos, un byte debe ser considerado como una secuencia de bits contiguos. Kilobyte (Kb): Es 2 10 bytes. Megabyte (Mb): Es 2 10 kilobytes. MC Beatriz Beltrán MartínezFCC - BUAP Verano
Gigabyte (Gb): Es 2 10 megabytes. Terabyte (Tb): Es 2 10 gigabytes. Petabyte (Pt): Es 2 10 terabytes. Exabyte (Eb): Es 2 10 petabytes. Zettabyte (Zb): Es 2 10 exabytes. Yottabyte (Yb): Es 2 10 zettabytes. MC Beatriz Beltrán MartínezFCC - BUAP Verano Unidades de almacenamiento
Traductores e Intérpretes Ensamblador: Es un lenguaje de bajo nivel, que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. Macroensamblador: Es un ensamblador modular, hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de Directivas para definir y ejecutar macro instrucciones (o simplemente, Macros) MC Beatriz Beltrán MartínezFCC - BUAP Verano
Compilador: Traduce un programa escrito en un lenguaje de programación a un lenguaje de máquina, generando un programa equivalente que la máquina es capaz de interpretar. Intérprete: Tiene la capacidad de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Cargadores: Es la parte de un sistema operativo que es responsable de cargar programas en memoria desde los ejecutables. MC Beatriz Beltrán MartínezFCC - BUAP Verano Traductores e Intérpretes
Lenguajes de Programación El CPU puede entender solamente instrucciones en lenguaje de máquina, esto es, en términos de ceros y unos. Lenguajes de alto nivel. Los cuales permiten programar sin necesidad de conocer el funcionamiento interno de la máquina ni su arquitectura. Estos lenguajes están más próximos al usuario y a la notación de sus problemas y resulta por lo tanto mucho más fácil programar en ellos. Lenguajes de bajo nivel. Lenguajes de máquina. MC Beatriz Beltrán MartínezFCC - BUAP Verano
Clasificación por estilo de programar Lenguajes Imperativos Procedurales Orientados a Objetos ParalelosDistribuidos Lenguajes Declarativos FuncionalesRelacionales MC Beatriz Beltrán MartínezFCC - BUAP Verano Lenguajes de Programación
Lenguajes imperativos: Qué hacer y cómo hacerlo. Lenguajes declarativos: Qué hacer pero no cómo hacerlo. MC Beatriz Beltrán MartínezFCC - BUAP Verano Lenguajes de Programación