Diapositivasparala profe

27

Transcript of Diapositivasparala profe

Page 1: Diapositivasparala profe
Page 2: Diapositivasparala profe

Tales componentes lógicos incluyen, entre

muchos otros, aplicaciones informáticas —

como el procesador de textos, que permite

al usuario realizar todas las tareas

concernientes a la edición de textos— o el

software de sistema —tal como el sistema

operativo, que, básicamente, permite al

resto de los programas funcionar

adecuadamente, facilitando la interacción

con los componentes físicos y el resto de las

aplicaciones, proporcionando también

una interfaz para el usuario—.

Page 3: Diapositivasparala profe

Se define como Proceso al conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de un producto, en este caso particular, para lograr la obtención de un producto software que resuelva un problema.

El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa (por ejemplo, la resolución de una ecuación de segundo orden), éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. Es así que normalmente se dividen en tres categorías según su tamaño (líneas de código) o costo: de Pequeño, Mediano y Gran porte. Existen varias metodologías para estimarlo, una de las más populares es el sistema COMO que provee métodos y un software (programa) que calcula y provee una estimación de todos los costos de producción en un "proyecto software" (relación horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a lenguaje usado, etc.

Page 4: Diapositivasparala profe

Considerando los de gran porte, es necesario realizar complejas tareas, tanto técnicas, de gerencia, de gestión, como de análisis diversos (entre otras) que, es necesaria una ingeniería para su estudio y realización.

En tanto que en los de mediano porte, pequeños equipos de trabajo (incluso un avezado analista-programador solitario) pueden realizar la tarea. Aunque, siempre en casos de mediano y gran porte (y a veces también en algunos de pequeño porte, según su complejidad), se deben seguir ciertas etapas que son necesarias para la construcción del software. Tales etapas, si bien deben existir, son flexibles en su forma de aplicación, de acuerdo a la metodología o Proceso de Desarrollo escogido y utilizado por el equipo de desarrollo o por el analista-programador solitario (si fuere el caso).

Los "procesos de desarrollo de software" poseen reglas preestablecidas, y deben ser aplicados en la creación del software de mediano y gran porte, ya que en caso contrario lo más seguro es que el proyecto o no logre concluir o termine sin cumplir los objetivos previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras). Entre tales "procesos" los hay ágiles o livianos (ejemplo XP), pesados y lentos (ejemplo RUP) y variantes intermedias; y normalmente se aplican de acuerdo al tipo, porte y tipología del software a desarrollar, a criterio del líder (si lo hay) del equipo de desarrollo. Algunos de esos procesos son Extreme Programming (XP), Rational Unified Process (RUP), Feature Driven Development (FDD), etc.

Page 5: Diapositivasparala profe

Cualquiera sea el "proceso" utilizado y aplicado al desarrollo del software (RUP, FDD, etc.), y casi independientemente de él, siempre se debe aplicar un "Modelo de Ciclo de Vida".

Se estima que, del total de proyectos software grandes emprendidos, un 28% fracasan, un 46% caen en severas modificaciones que lo retrasan y un 26% son totalmente exitosos.

Cuando un proyecto fracasa, rara vez es debido a fallas técnicas, la principal causa de fallos y fracasos es la falta de aplicación de una buena metodología o proceso de desarrollo. Entre otras, una fuerte tendencia, desde hace pocas décadas, es mejorar las metodologías o procesos de desarrollo, o crear nuevas y concienciar a los profesionales en su utilización adecuada. Normalmente los especialistas en el estudio y desarrollo de estas áreas (metodologías) y afines (tales como modelos y hasta la gestión misma de los proyectos) son los Ingenieros en Software, es su orientación. Los especialistas en cualquier otra área de desarrollo informático (analista, programador, Lic. en Informática, Ingeniero en Informática, Ingeniero de Sistemas, etc.) normalmente aplican sus conocimientos especializados pero utilizando modelos, paradigmas y procesos ya elaborados.

Es común para el desarrollo de software de mediano porte que los equipos humanos involucrados apliquen sus propias metodologías, normalmente un híbrido de los procesos anteriores y a veces con criterios propios.

Page 6: Diapositivasparala profe

Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:

› Sistemas operativos

› Controladores de dispositivos

› Herramientas de diagnóstico

herramientas de corrección y optimización

› Servidores

› Utilidades

Page 7: Diapositivasparala profe

Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: › Editores de texto

› Compiladores

› Intérpretes

› Enlazadores

› Depuradores

› Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI

Page 8: Diapositivasparala profe

Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros: › Aplicaciones para Control de sistemas y automatización

industrial

› Aplicaciones ofimáticas

› Software educativo

› Software empresarial

› Bases de datos

› Telecomunicaciones (p.ej. internet y toda su estructura lógica)

› Videojuegos

› Software médico

› Software de Cálculo Numérico y simbólico.

› Software de Diseño Asistido (CAD)

› Software de Control Numérico (CAM)

Page 9: Diapositivasparala profe
Page 10: Diapositivasparala profe

Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario o el usuario mismo para utilizar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como intermediario para las aplicaciones que se ejecutan.

Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional. Uno de los más prominentes ejemplos de esta diferencia, es el SO Linux, el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux.

Page 11: Diapositivasparala profe

En principio un sistema operativo sirve para

administrar y gestionar un equipo

computarizado y los diversos aparatos

periféricos que lo compongan o que

estén instalados anexos al mismo. Un

sistema Operativo, también en su

ambiente de Software está diseñado

para permitirle al usuario o usuaria

realizar sus principales actividades.

Page 12: Diapositivasparala profe

· Conveniencia. Un Sistema Operativo hace más conveniente el uso de

una computadora.

· Eficiencia. Un Sistema Operativo permite que los recursos de la

computadora se usen de la manera más eficiente posible.

· Habilidad para evolucionar. Un Sistema Operativo deberá construirse de

manera que permita el desarrollo, prueba o introducción efectiva de

nuevas funciones del sistema sin interferir con el servicio.

· Encargado de administrar el hardware. El Sistema Operativo se encarga

de manejar de una mejor manera los recursos de la computadora en

cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del

procesador para poder compartir los recursos.

· Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo

se debe encargar de comunicar a los dispositivos periféricos, cuando el

usuario así lo requiera.

· Organizar datos para acceso rápido y seguro.

· Manejar las comunicaciones en red. El Sistema Operativo permite al

usuario manejar con alta facilidad todo lo referente a la instalación y uso de

las redes de computadoras.

· Procesamiento por bytes de flujo a través del bus de datos.

· Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al

usuario el acceso y manejo de los dispositivos de Entrada/Salida de la

computadora.

Page 13: Diapositivasparala profe

Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

A finales de los años 80, un Amiga equipado con una aceleradora Video Toaster, era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaste junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II

Page 14: Diapositivasparala profe

Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.

Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.

Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.

Page 15: Diapositivasparala profe

Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:

Un programa escribe su salida en un área de memoria (buffer 1).

El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.

La salida desde el buffer 1 termina y el nuevo cálculo también.

Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.

El proceso se puede repetir de nuevo.

Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S

Page 16: Diapositivasparala profe

Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:

Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.

Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria. Debido a los cambios anteriores, se producen cambios en el monitor

residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:

Administrar la memoria. Gestionar el uso de la CPU (planificación). Administrar el uso de los dispositivos de E/S. Cuando desempeña esas tareas, el monitor residente se transforma en un

sistema operativo multiprogramado.

Page 17: Diapositivasparala profe

llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

Las llamadas correspondientes deben tener el mismo formato.

Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior

Page 18: Diapositivasparala profe

Gestión de procesosUn proceso es simplemente, un programa en ejecución que

necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el

responsable de:

Crear y destruir los procesos.

Parar y reanudar los procesos.

Ofrecer mecanismos para que se comuniquen y sincronicen.

La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles

prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se

terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre.

Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas

Page 19: Diapositivasparala profe

La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:

Conocer qué partes de la memoria están siendo utilizadas y por quién.

Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.

Asignar y reclamar espacio de memoria cuando sea necesario

Page 20: Diapositivasparala profe

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

Planificar los discos.

Gestionar el espacio libre.

Asignar el almacenamiento.

Page 21: Diapositivasparala profe

Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:

Construir y eliminar archivos y directorios.

Ofrecer funciones para manipular archivos y directorios.

Establecer la correspondencia entre archivos y unidades de almacenamiento.

Realizar copias de seguridad de archivos.

Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS, etc.

Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor

Page 22: Diapositivasparala profe

Mecanismo que controla el acceso de los

programas o los usuarios a los recursos del

sistema. El SO se encarga de:

Distinguir entre uso autorizado y no

autorizado.

Especificar los controles de seguridad a

realizar.

Forzar el uso de estos mecanismos de

protección

Page 23: Diapositivasparala profe

Sistema de comunicacionesPara mantener las comunicaciones con otros sistemas es necesario poder controlar el envío

y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.

Programas de sistemaSon aplicaciones de utilidad que se suministran con el SO pero no forman parte de él.

Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

Manipulación y modificación de archivos. Información del estado del sistema. Soporte a lenguajes de programación. Comunicaciones.

Gestor de recursosComo gestor de recursos, el Sistema Operativo administra:

La CPU (Unidad Central de Proceso, donde está alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecución). y en general todos los recursos del sistema.

Page 24: Diapositivasparala profe

Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

Manipulación y modificación de archivos.

Información del estado del sistema.

Soporte a lenguajes de programación.

Comunicaciones.

Page 25: Diapositivasparala profe

Como gestor de recursos, el Sistema

Operativo administra:

La CPU (Unidad Central de Proceso, donde

está alojado el microprocesador).

Los dispositivos de E/S (entrada y salida)

La memoria principal (o de acceso

directo).

Los discos (o memoria secundaria).

Los procesos (o programas en ejecución).

y en general todos los recursos del sistema.

Page 26: Diapositivasparala profe
Page 27: Diapositivasparala profe

GINNA MARCELA RAMIREZ GUEVARA

COLEGIO SAN PEDRO

GRADO DECIMO C

TEMA SISTEMA OPERATIVO SOFWARE