La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Docente: Juan Manuel Capuano

Presentaciones similares


Presentación del tema: "Docente: Juan Manuel Capuano"— Transcripción de la presentación:

1 Docente: Juan Manuel Capuano
Sistemas Operativos Docente: Juan Manuel Capuano

2 Datos Docente: Juan Manuel Capuano
Analista de Sistemas graduado en UNICEN. Analista funcional, de negocios y técnico. Desarrollador Web. Consultor de Sistemas. Y por supuesto, profesor. Mail: Twitter: karaka00

3 Más datos Web: http://sistemasoperativos130.260mb.net/
Mail: Horarios: Miércoles: 20:15 – 22:15 Cursada: Parcial (escrito) / Recuperatorio Bibliografía: “Fundamentos de Sistemas Operativos” – Silberschatz – Galvin - Gagne

4 Más datos Cuatro unidades:
Unidad 1: Conceptos de los Sistemas Operativos Unidad 2: Procesos Unidad 3: Sistemas de archivos y administración de dispositivos Unidad 4: Protección y seguridad

5 Qué no es la materia? Curso de instalación, configuración y uso de Windows/Linux/Mac OS/… Curso de desarrollo de SO Curso de filosofía de software libre, open, free… Curso de certificación de XXXXX, obtener estrellas….etc.

6 Qué sí es la materia? Curso de introducción a: Conceptos de SO
Estructuras internas Factores que influencian el diseño de los SO Cuáles SO, cómo y por qué están hechos así y para qué sirven

7 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Arquitectura de un sistema informático Servicios Llamadas al sistema

8 Unidad 1 : Conceptos generales
Un SO es un programa que administra el hardware de una computadora Proporciona las bases para los programas de aplicación y actúa como intermediario entre el usuario y el hardware SO es como un gobierno, no realiza ninguna función útil por sí mismo: ofrece un entorno en el que otros programas pueden llevar a cabo un trabajo útil Un aspecto sorprende de los SO es la gran variedad de formas de llevar a cabo estas tareas.

9 Unidad 1 : Conceptos generales
Qué hace un SO? Un sistema informático puede dividirse en cuatro componentes: Hardware SO Programas de aplicación Usuarios Hardware, CPU, memoria y disp. de E/S proporcionan recursos de cómputos al sistema Los prog. Aplicación definen formas de que estos recursos se emplean El SO controla y coordina el uso del hardware entre los diversos prog. de aplicación por parte de los distintos usuarios Un aspecto sorprende de los SO es la gran variedad de formas de llevar a cabo estas tareas.

10 Unidad 1 : Conceptos generales
SO desde la vista del usuario y vista del sistema Punto de vista del usuario Varía de acuerdo con la interfaz que utilice En una PC se diseña para que un usuario monopolice sus recursos, maximice el trabajo. El SO se diseña para fácil uso, alto rendimiento y no presta atención en la utilización de recursos En un MainFrame, usuarios acceden a terminales, comparten recursos. El SO se diseña para maximizar la utilización de recursos y da equidad en la distribución de los mismos En estaciones de trabajo conectadas a redes, los usuarios tienen recursos a su disposición y compartidos en la red. El SO se diseña para usabilidad individual y utilización de recursos Usuarios de PC disponen de un monitor, teclado, mouse y una CPU.

11 Unidad 1 : Conceptos generales
Punto de vista del usuario En dispositivos móviles, los SO están diseñados principalmente en función a usabilidad individual, aunque el rendimiento es importante también Computadoras sin interacción con el usuario, los SO están diseñados para funcionar sin interacción del usuario, sólo disponen de indicadores para mostrar el estado Punto de vista del sistema El SO esta relacionado con el hardware El SO es visto como un asignador de recursos Como programa de control, gestiona la ejecución de programas de usuario para evitar errores y mejorar el uso de la máquina

12 Unidad 1 : Conceptos generales
Definición de Sistemas Operativos Los SO existen porque ofrecen una forma razonable de resolver el problema de crear un sistema informático utilizable Debido a que el hardware por sí solo no es fácil de utilizar, se desarrollan programas de aplicación. Las operaciones habituales de control y asignación de recursos se incorporan en una misma pieza del software, el SO Un SO es aquel programa que se ejecuta continuamente en la máquina (usualmente llamado kernel)

13 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Arquitectura de un sistema informático Servicios Llamadas al sistema

14 Unidad 1 : Estructura de un SO
Organización de una Computadora Las máquina modernas, constan de una o más CPU y de una serie de controladoras de dispositivos conectados por un bus La CPU y las controladoras pueden funcionar en forma concurrente, compitiendo por un ciclo de memoria. Para asegurar el acceso ordenado a la memoria, se proporciona una controladora de memoria que sincroniza el acceso a la misma

15 Unidad 1 : Estructura de un SO
Organización de una Computadora Cuando ocurre un suceso, éste se indica mediante una interrupción bien de hardware o bien de software El hardware puede activar una interrupción en cualquier momento, enviando una señal al CPU El software puede activar una interrupción ejecutando una operación especial denominada llamada al sistema

16 Unidad 1 : Estructura de un SO
Organización de una Computadora

17 Unidad 1 : Estructura de un SO
Organización de una Computadora Cuando se interrumpe a la CPU, deja lo que está haciendo e inmediatamente transfiere la ejecución a una posición fijada La rutina de servicio a la interrupción se ejecuta y, cuando ha terminado, la cpu reanuda la operación que estaba haciendo La interrupción debe transferir el control a la rutina de servicio específica a la interrupción, desde una rutina genérica (lento) Se utiliza un vector de interrupciones para obtener la dirección de la rutina de servicio a la interrupción para el dispositivo correspondiente

18 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Arquitectura de un sistema informático Servicios Llamadas al sistema

19 Unidad 1 : Jerarquía de almacenamiento
Estructura de almacenamiento Los programas se hallan en memoria principal (RAM) para ser ejecutados La RAM es el único área de almacenamiento a la que la CPU puede acceder La CPU accede a memoria por medio de una secuencia de carga (Load) y almacenamiento (Store) de instrucciones en direcciones específicas de memoria Load: mueve una palabra desde la memoria principal a un registro interno de la CPU Store: mueve el contenido de un registro hacia la memoria principal

20 Unidad 1 : Jerarquía de almacenamiento
Estructura de almacenamiento Arquitectura de von Neumann: primero se extrae una instrucción de memoria y se almacena en un registro de instrucción Una vez ejecutada la instrucción, el resultado se vuelve a almacenar en memoria Se pretende que los programas y datos residan en memoria en forma permanente Problemas Memoria principal pequeña Memoria principal volátil Solución Almacenamiento secundario

21 Unidad 1 : Jerarquía de almacenamiento
Estructura de almacenamiento

22 Unidad 1 : Jerarquía de almacenamiento
Estructura de E/S Los de almacenamiento son sólo uno de los muchos tipos de dispositivos de E/S que hay en un sistema informático Gran parte del código del SO se dedica a gestionar la entrada y la salida Una computadora consta de una o más CPU y de múltiples controladoras de dispositivo, conectados por medio de un bus Las controladoras de dispositivos mantienen algunos búferes locales y un conjunto de registros de propósito especial La controladora se encarga de transferir datos entre los dispositivos que controla y su búfer local Generalmente los SO tienen un controlador de dispositivos (driver) para cada controladora de dispositivo (controller)

23 Unidad 1 : Jerarquía de almacenamiento
Estructura de E/S - Funcionamiento Al iniciar una operación de E/S, el controlador del dispositivo carga los registros de la controladora hardware Ésta, a su vez, examina el contenido para determinar acción a realizar La controladora inicia la transferencia de datos desde el dispositivo a su búfer local Completada la transferencia, la controladora hardware informa al controlador de dispositivos, por medio de una interrupción, que ha finalizado El controlador devuelve el control al SO, devolviendo datos o puntero a los datos o información de estado

24 Unidad 1 : Jerarquía de almacenamiento
Estructura de E/S - Funcionamiento Esta forma de transferir datos es para cantidades pequeñas de información No es recomendable para movimientos masivos de datos, como es la E/S de disco Para esto se usa acceso directo a memoria (DMA) La controladora hardware transfiere un bloque entero de datos entre su búfer y la memoria, sin que intervenga la CPU Hay una interrupción por bloque, no por byte

25 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Arquitectura de un sistema informático Servicios Llamadas al sistema

26 Unidad 1 : Arquitectura de un sistema informático
Los sistemas informáticos se pueden clasificar de acuerdo con el número de procesadores de propósito general utilizados: Sistemas de un solo procesador Sistemas multiprocesador Sistemas en cluster

27 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Arquitectura de un sistema informático Servicios Llamadas al sistema

28 Unidad 1 : Servicios El SO presta ciertos servicios a los programas y usuarios de estos programas Estos servicios se proporcionan para comodidad del programador, con el fin de facilitar la tarea de desarrollo Conjuntos de servicios: Interfaz de usuario (UI): interfaz de línea de comandos, interfaz de proceso por lotes, interfaz gráfica de usuario (GUI) Ejecución de programas: El sistema debe poder cargar un programa en memoria y ejecutar dicho programa y este debe poder terminar Operaciones de E/S: El SO debe proporcionar medios para realizar la E/S, el usuario no puede controlar los dispositivos de E/S Manipulación del sistema de archivos: los programas necesitan leer y escribir en archivos. El SO ofrece servicios para gestionarlos

29 Unidad 1 : Servicios Conjuntos de servicios:
Comunicaciones: El SO debe poder comunicar procesos por medio de memoria compartida o paso de mensajes Detección de errores: El SO necesita detectar los posibles errores. Para cada tipo de error, el SO debe llevar a cabo la acción apropiada. Las facilidades de depuración pueden mejorar en gran medida el uso eficiente del sistema Servicios no pensados para el usuario Asignación de recursos: Cuando hay varios usuarios o varios trabajos ejecutándose al mismo tiempo, deben asignarse a cada uno de ellos los recursos necesarios Responsabilidad: Normalmente conviene hacer un seguimiento de qué usuarios emplean qué clase de recursos y en qué cantidad Protección y seguridad: Un proceso no puede interferir con los demás procesos o el SO. La protección implica asegurar el acceso a todos los recursos.

30 Unidad 1: Conceptos de Sistemas Operativos
Agenda Conceptos generales Estructura de un SO Jerarquía de almacenamiento Servicios Llamadas al sistema

31 Unidad 1 : Llamadas al Sistema
Las llamadas al sistema proporcionan una interfaz para invocar los servicios que el SO ofrece Están disponibles como rutinas escritas en C y C++ y algunas en lenguaje ensamblador Ejemplo: leer datos de un archivo y escribirlo en otro Los desarrolladores utilizan una API (application programming interface) que especifica un conjunto de funciones con parámetros y valores de retorno API disponibles para programadores de aplicaciones son: API WIN32 (Windows) API POSIX (Unix, Linux y Mac OS X) API Java (para diseñar programas que se ejecutan sobre una máquina virtual JAVA) Cada SO dispone de sus propias llamadas al sistema

32 Unidad 1 : Llamadas al Sistema
Las funciones que conforman una API invocan, habitualmente, a las llamadas al sistema por cuenta del programador de la aplicación. La función Create-Process() de Win32 lo que hace es invocar la llamada al sistema NTCreateProcess() del kernel de Windows El enlace se determina por una tabla indexada entre cada llamada al sistema y un número

33 Unidad 1 : Llamadas al Sistema

34 Unidad 1 : Llamadas al Sistema
Ejemplo de API estándar valor de retorno BOOL ReadFile c (HANDLE file, LPVOID buffer, DWORD bytes To Read, LPWORD bytes Read, LPOVERLAPPED ovl); HANLDE: archivo que se va a leer LPVOID: búffer del que se leerán y en el que se escribirán datos DWORD: bytes a leer, número de bytes que se van a leer del búffer LPWORD: bytes leídos, número de bytes leídos durante la útima lectura JPOVERLAPPED: indica si se está usando E/S solapada

35 Unidad 1 : Llamadas al Sistema
Pasaje de parámetros Existen 3 métodos: Pasar parámetros en Registros Pasar parámetros en un bloque o tabla en memoria Pasar parámetros en la pila y el SO se encarga de extraerlos

36 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Control de procesos Manipulación de archivos Manipulación de dispositivos Mantenimiento de información Comunicación

37 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Control de procesos: Un programa en ejecución necesita poder interrumpir dicha ejecución bien de forma normal o de forma anormal. En ambas circunstancias el SO debe transferir el control al intérprete de comandos que realizó la invocación del programa Ejecución de programas bajo el control de procesos: Ejecución de un programa en MS-DOS: a) Al inicio del sistema. b) Ejecución de un programa Memoria libre Interprete de comandos kernel Memoria libre procesos Interprete de comandos kernel

38 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Ejecución de programas bajo el control de procesos: FreeBSD (derivado de UNIX) ejecuta un Shell FreeBSD ejecutando múltiples programas Memoria libre Proceso D Proceso C Interprete Proceso B kernel

39 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Administración de archivos: Existen llamadas comunes al sistema que están relacionadas con la gestión de archivos. Se debe poder crear (create) y borrar (delete) archivos. También abrirlo (open), leerlo (read), escribir (write), por último tenemos que poder cerrar el archivo (close) Se necesita también poder hacer estas operaciones sobre directorios Se puede determinar valores de diversos atributos usando dos llamadas al sistema (get file attribute y set file attribute)

40 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Administración de dispositivos: Un proceso puede necesitar varios recursos para ejecutarse. Si están disponibles se conceden, caso contrario el proceso deberá espera hasta que esté disponible Request se usa para solicitar un recurso, release para liberarlo Una vez asignado el dispositivo se puede read, write y reposition Muy parecido a la administración de archivos, para eso se juntan en una estructura combinada de archivo-dispositivo

41 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Administración de información: Muchas llamadas al sistema existen simplemente con el propósito de transferir información entre el programa de usuario y el SO Por ejemplo, time (para devolver la hora) y date (para devolver la fecha Otras llamadas al sistema devuelven la información sobre el sistema Como el SO mantiene información sobre todos los procesos, esta información se puede acceder por medio de llamadas al sistema

42 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Comunicaciones: Existen dos modelos de comunicación interprocesos Paso de mensajes Memoria compartida Los procesos que se comunican intercambian mensajes entre sí para transferirse información Los mensajes se intercambian por medio de un buzón de correo común, previo a establecer una conexión Debe conocerse de antemano el nombre del otro comunicador Cada proceso tiene un nombre de proceso, y este nombre se traduce en un identificador mediante el cual el SO puede hacer referencia Demonios, son procesos que reciben conexiones, cliente, es el origen de la comunicación, intercambian mensajes usando llamadas al sistema

43 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Comunicaciones: Memoria compartida Los procesos usan las llamadas al sistema para crear y obtener acceso a regiones de la memoria que son propiedad de otros procesos La memoria compartida requiere que dos o más procesos acuerden eliminar esta restricción Los procesos pueden intercambiar información leyendo y escribiendo datos en áreas de la memoria compartida La forma de los datos y su ubicación son determinadas por parte de los procesos y no está bajo el control del SO Los procesos son también responsables de asegurar que no escriban simultáneamente en las mismas posiciones

44 Unidad 1 : Llamadas al Sistema
Tipos de llamadas al sistema Comunicaciones: Ambos modelos son habituales en los SO y la mayoría implementa ambos El modelo paso de mensajes resulta útil para intercambiar cantidad pequeñas de datos El modelo de memoria compartida permite efectuar la comunicación con una velocidad máxima y con la mayor comodidad, cuando la memoria está dentro de la misma máquina pero presenta problemas en lo relativo a la protección y sincronización


Descargar ppt "Docente: Juan Manuel Capuano"

Presentaciones similares


Anuncios Google