La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Java y Desarrollo de Aplicaciones

Presentaciones similares


Presentación del tema: "Programación Java y Desarrollo de Aplicaciones"— Transcripción de la presentación:

1 Programación Java y Desarrollo de Aplicaciones
Modulo 1 Arquitectura de ordenadores Tema 2 Sistemas operativos

2 Índice Conceptos básicos Algunos sistemas operativos existentes
Gestión de usuarios Gestión de memoria Gestión de ficheros Gestión de procesos Gestión de recursos La máquina virtual de Java (JVM)

3 Conceptos básicos Controla el uso por parte de los programas de aplicación de todos los recursos del computador: memoria, CPU, unidades de entrada y salida Independiza al programa de aplicación del hardware Proporciona comunicación con otros computadores Ejecuta servicios para los programas o aplicaciones Ejecuta órdenes de los usuarios

4 Conceptos básicos Funciones del SO
Gestionan la memoria RAM de los distintos procesos. Un proceso es simplemente, un programa en ejecución, es decir, una tarea que realiza el ordenador. Gestiona el almacenamiento de información de forma permanente en unidades de disco (disco duro, disquetes, pen drives, etc). Gestiona el sistema de archivos que nos permite crear, eliminar y manipular archivos y carpetas (también llamadas directorios). Crea mecanismos de protección para evitar el acceso de intrusos a recursos o servicios no autorizados. Dispone de un intérprete de comandos. Es un recurso que permite al usuario comunicarse con el sistema operativo a través de órdenes o comandos que son escritos. También se llama consola o shell. Gestiona los sistemas de entrada/salida, es decir, controla los diferentes dispositivos conectados al ordenador (monitor, impresora, etc)

5 Conceptos básicos Niveles del sistema operativo

6 Conceptos básicos Interrupciones y excepciones
El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones: Algún dispositivo de E/S necesita atención. Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa. Según los dos casos anteriores tenemos las interrupciones y la excepciones:

7 Conceptos básicos Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado. Tratamiento de las interrupciones Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso. El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.

8 Conceptos básicos Importancia de las interrupciones
El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia ( también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.

9 Conceptos básicos Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO. Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones: El código de operación puede ser incorrecto. Se intenta realizar alguna operación no definida, como dividir por cero. La instrucción puede no estar permitida en el modo de ejecución actual. La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.

10 Conceptos básicos Importancia de las excepciones
El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.

11 Algunos sistemas operativos
Windows (en sus diferentes versiones): Windows XP, Windows Vista, Windows Es un sistema operativo propiedad de la empresa MicroSoft que es privativo (de pago). Mac OS: Es un sistema operativo propiedad de la empresa Apple, (el creador del Ipod) que es privativo. Unix: Sistema operativo empleado por las supercomputadoras y ordenadores de grandes empresas, propiedad de la empresa AT&T y es privativo. Es un sistema muy seguro. GNU/Linux: Sistema operativo que está en alza, completamente gratuito. Cualquiera lo puede modificar según sus necesidades. Además, es bastante seguro. FreeBSD: Sistema operativo gratuito y según algunos autores uno de los más seguros. Android: es un un sistema operativo orientado a dispositivos móviles y que usa una versión modificada del Kernel Linux. Es desarrollado por la Open Handset Alliance, que aglutina a fabricantes de software y hardware, entre los que destacan Google, T-Mobile, HTC, Qualcomm y Motorola entre otros.

12 Gestión de usuarios Sistemas empotrados: Sistemas monousuario:
sin usuarios directos forman parte de un sistema mayor ejemplo: controlador de un televisor Sistemas monousuario: un solo usuario ejemplo: Windows 98 Sistemas multiusuario muchos usuarios Presenta protección entre usuarios ejemplos: Unix, Windows XP profesional

13 Gestión de usuarios Los sistemas de protección pueden proteger cierta información o llamadas al sistema de cara a la gestión de usuarios o de cara a múltiples programas. Clasificación de sistemas operativos según el nivel de protección Protegidos (Unix, Windows XP profesional) Semi-protegidos (Windows 98) No protegidos (Windows 3.1)

14 Gestión de memoria 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.

15 Gestión de memoria 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

16 Gestión de memoria 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

17 Gestión de ficheros Un archivo o fichero informático es un conjunto de bits almacenado en un dispositivo periférico. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informático.

18 Gestión de ficheros En los sistemas informáticos modernos, los archivos siempre tienen nombres. Los archivos se ubican en directorios. El nombre de un archivo debe ser único en ese directorio. En otras palabras, no puede haber dos archivos con el mismo nombre en el mismo directorio.

19 Gestión de ficheros El nombre de un archivo y la ruta al directorio del archivo lo identifica de manera unívoca entre todos los demás archivos del sistema informático -no puede haber dos archivos con el mismo nombre y ruta-. El aspecto del nombre depende del tipo de sistema informático que se use. Algunos sistemas informáticos permiten nombres de archivo que contengan espacios; otros no. La distinción entre mayúsculas y minúsculas en los nombres de archivo está determinada por el sistemas de archivos.

20 Gestión de ficheros ¿Qué acciones permite el sistema operativo llevar a cabo sobre ficheros? 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.

21 Gestión de ficheros ¿Qué es un sistema de archivos?
Es el modo en el que se guardan los archivos en discos duros. Los sistemas de archivos más comunes son: FAT32: empleado hasta Windows 98. NTFS: empleado por Windows XP y Windows Vista Ext3: empleado por Linux 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.

22 Gestión de ficheros Particiones del disco duro
Una partición es una división del disco duro, de forma que el sistema operativo la considera como si fuera una unidad totalmente independiente. Cada partición puede tener un sistema de archivos distinto. Esto hace que en cada partición puedas tener sistemas operativos distintos en un mismo ordenador, sin que interfieran entre sí.

23 Gestión de procesos Concepto de programa y proceso Programa: Proceso:
Es un fichero ejecutable, que reside en el disco Generalmente creado mediante un compilador Proceso: Es una instancia de un programa que está siendo ejecutada Un mismo programa se puede ejecutar varias veces a la vez, dando lugar a varios procesos Es la unidad de concurrencia básica Tiene un espacio de direcciones propio

24 Gestión de procesos La computación concurrente (o simplemente concurrencia) es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en un sola unidad central de proceso (multiprogramación), en varios procesadores o en una red de computadores distribuidos. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina.

25 Gestión de procesos Tipos de sistemas operativos según la gestión de concurrencia monoproceso y monotarea: un solo programa con un solo flujo de control (MS-DOS) multitarea: capaz de ejecutar un sólo programa, pero varias de sus partes a la vez (MaRTE OS) multiproceso: capaz de ejecutar varios programas a la vez

26 Gestión de procesos Acciones que se llevan a cabo sobre procesos
Crear un proceso A partir de un proceso padre, como una copia de él (UNIX) A partir de un fichero ejecutable en el disco (Win32) Ejecutar un proceso Arrancado por el sistema: proceso por lotes o batch Arrancado por el usuario: proceso interactivo Terminar un proceso Terminación normal Terminación por un error Otro proceso o el usuario lo terminan

27 Gestión de recursos 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.

28 La máquina virtual de Java (JVM)
La máquina virtual de Java (Java Virtual Machine, JVM) es una capa que se interpone entre el sistema operativo y las aplicaciones Java. De cara a las aplicaciones, ejerce de sistema operativo, proporcionando una API y haciendo de gestor del sistema. De cara al sistema operativo, ejerce de aplicación, utilizando los recursos del sistema.

29 La máquina virtual de Java (JVM)
La máquina virtual de Java permite que las aplicaciones java sean compiladas una sola vez, pudiéndose utilizar en cualquier máquina, independientemente del sistema operativo que utilice.

30 Preguntas


Descargar ppt "Programación Java y Desarrollo de Aplicaciones"

Presentaciones similares


Anuncios Google