advertisement

CAPITULO 1

50 %
50 %
advertisement
Information about CAPITULO 1

Published on April 15, 2008

Author: angyespinosa86

Source: slideshare.net

Description

PROCESOS
advertisement

CAPÍTULO I: Introducción a los Sistemas Operativos Realizado por: Ing. Samanta Cueva Docentes: Ing. Carlos Córdova Ing. Alexander López Ing. Julia Pineda Abril-Agosto 2008

CAPÍTULO I: Introducción a los Sistemas Operativos 1.1 Objetivos y funciones de los SO 1.2   Evolución de los SO 1.3 Principales logros de los SO

Introducción a los Sistemas Operativos Antes de revisar ¿Qué son los Sistemas Operativos? partamos de: ¿Cuáles son los elementos de un sistema informático? Usuarios Operadores Administradores Personas Son los programas de aplicación o del sistema Software Definido por la Real Academia Española como el conjunto de elementos materiales que conforman una computadora. Hardware

Antes de revisar ¿Qué son los Sistemas Operativos? partamos de: ¿Cuáles son los elementos de un sistema informático?

1. SISTEMA OPERATIVO Es un programa que actúa como intermediario entre el usuario y el hardware de una computadora. Es un programa que controla la ejecución de programas de aplicación y actúa como una interfaz entre el usuario y el hardware de una computadora. E s un medio de interacción entre el usuario y los recursos de la máquina, permitiéndonos abstraernos de su administración. Es similar a un gobierno, ya que proporciona los medios para el uso apropiado de los recursos. ( proporciona un ambiente dentro del cual otros programas puedan realizar un trabajo útil)

Es un programa que actúa como intermediario entre el usuario y el hardware de una computadora.

Es un programa que controla la ejecución de programas de aplicación y actúa como una interfaz entre el usuario y el hardware de una computadora.

E s un medio de interacción entre el usuario y los recursos de la máquina, permitiéndonos abstraernos de su administración.

Es similar a un gobierno, ya que proporciona los medios para el uso apropiado de los recursos. ( proporciona un ambiente dentro del cual otros programas puedan realizar un trabajo útil)

1. SISTEMA OPERATIVO Al SO se lo puede ver como: Asignador de recursos: El sistema computacional tiene muchos recursos de Hardware y Software; por lo cual SO actúa como gestor de recursos y los asigna a programas y usuarios específicos según los necesiten para sus tareas de manera justa y eficiente. Programa de control: Controla la ejecución de los programas de los usuarios a fin de evitar errores y el uso incorrecto del computador.

Al SO se lo puede ver como:

Asignador de recursos: El sistema computacional tiene muchos recursos de Hardware y Software; por lo cual SO actúa como gestor de recursos y los asigna a programas y usuarios específicos según los necesiten para sus tareas de manera justa y eficiente.

Programa de control: Controla la ejecución de los programas de los usuarios a fin de evitar errores y el uso incorrecto del computador.

1.1 OBJETIVOS DEL SO 1. LA COMODIDAD DEL USUARIO (interacción del usuario con los recursos en un alto grado de abstracción). 2.USO EFICIENTE DE LA COMPUTADORA (Administración eficiente de los recursos)

SERVICIOS DEL SO Controlar la ejecución de procesos permitiendo su creación, terminación o suspensión y comunicación Planificar el uso de la CPU a través del scheduling de procesos. Asignar memoria principal para el proceso en ejecución Asignar memoria secundaria para uso eficiente y recuperación de datos del usuario Permitir el acceso controlado desde los procesos a los dispositivos. Compartir el hardware entre usuarios. Permitir a los usuarios compartir datos entre ellos. Facilitar la entrada /salida

Controlar la ejecución de procesos permitiendo su creación, terminación o suspensión y comunicación

Planificar el uso de la CPU a través del scheduling de procesos.

Asignar memoria principal para el proceso en ejecución

Asignar memoria secundaria para uso eficiente y recuperación de datos del usuario

Permitir el acceso controlado desde los procesos a los dispositivos.

Compartir el hardware entre usuarios.

Permitir a los usuarios compartir datos entre ellos.

Facilitar la entrada /salida

1.2 EVOLUCIÓN SISTEMA OPERATIVO Los sistemas operativos y la arquitectura de los computadores han influido mucho uno sobre otro, tomando en cuenta que los SO se crearon para facilitar el uso del hardware. Hay que recalcar que los problemas de los SO dieron pie a la introducción de nuevas características de hardware. Computadores personales desde 1980 4 Circuitos integrados y multiprogramación 1965 – 1980 3 Transistores y sistemas por lotes 1955 – 1965 2 Tubos al vacío, tableros 1945 – 1955 1 Sistemas mecánicos y electro-mecánicos hasta 1945 0 Características Años Generación

Präsentation Edopena Sistemas Operativos Generación 0 (hasta 1945)‏ Ábacos Calculadoras mecánicas. Sistemas basados en relés. Difference Engine (1822)‏ Primera Computadora Digital (mecánica)‏. Diseñada por Charles Babbage y Ada Lovelace. Fue usada para calcular: tablas numéricas, funciones algebraicas y almacenaba números.

Ábacos

Calculadoras mecánicas.

Sistemas basados en relés.

Primera generación (1940-1955)‏ Se utilizan tubos al vacío Eran enormes (20.000 tubos) y lentas (un ciclo 1 seg.)‏ Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina. Toda la programación se hacía en lenguaje máquina No existían los sistemas operativos. En 1950 se introducen las tarjetas perforadas. Colossus (1945)‏ Fue usada en la Segunda Guerra Mundial para decifrar los mensajes de los alemanes.

Se utilizan tubos al vacío

Eran enormes (20.000 tubos) y lentas (un ciclo 1 seg.)‏

Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina.

Toda la programación se hacía en lenguaje máquina

No existían los sistemas operativos.

En 1950 se introducen las tarjetas perforadas.

Segunda generación (1955-1965)‏ Se introducen los transistores . Existe distinción entre diseñadores, constructores, programadores, operadores y personal de mantenimiento. Mainframes en salas acondicionadas. Se escribían los programas en papel, luego se perforaban las tarjetas, cuarto de entrada y esperar la salida. Los operadores toman las tarjetas del programa y colocan también los del compilador. Se crea el proceso por lotes que agrupa trabajos. JOHNNIAC (1954)‏ Tarjeta sin perforar

Se introducen los transistores .

Existe distinción entre diseñadores, constructores, programadores, operadores y personal de mantenimiento.

Mainframes en salas acondicionadas.

Se escribían los programas en papel, luego se perforaban las tarjetas, cuarto de entrada y esperar la salida.

Los operadores toman las tarjetas del programa y colocan también los del compilador.

Se crea el proceso por lotes que agrupa trabajos.

Tercera generación (1965-1980)‏ Se introducen los circuitos integrados , lo cual es una gran ventaja en el precio y desempeño del computador. Se introduce el sistema IBM 360 altamente compatible. Se introduce el sistema operativo OS/360 (enorme y complejo) que tenía que ser eficiente en todos los equipos. El sistema operativo tenía muchísimos errores (dinosaurios). Se introduce la multiprogramación Se introducen los discos duros y con ello el spooling . Se introduce el tiempo compartido entre usuarios. IBM 360 (1964)‏

Se introducen los circuitos integrados , lo cual es una gran ventaja en el precio y desempeño del computador.

Se introduce el sistema IBM 360 altamente compatible.

Se introduce el sistema operativo OS/360 (enorme y complejo) que tenía que ser eficiente en todos los equipos.

El sistema operativo tenía muchísimos errores (dinosaurios).

Se introduce la multiprogramación

Se introducen los discos duros y con ello el spooling .

Se introduce el tiempo compartido entre usuarios.

Apple I (1976)‏ Apple II (1978)

Cuarta generación (desde 1980)‏ Usaban LSI (large scale integration). Intel 8080 (8 bits) -> IBM PC (1980) con DOS. Intel 80286 (1983), 80386 (1985) y 80486 (1989). Macintosh creó la GUI (graphical User Interface) Microsoft adopta GUI y desarrolla Windows (sobre DOS)‏ Microsoft saca Windows 95 como sistema operativo, luego Windows 98 (basado en 16 bits), Windows NT (32 bits). Windows NT 5.0 se transformó en Windows 2000 Windows 98 nueva se transformó Windows Me. Windows XP UNIX se mantiene para computadores potentes (servidores) En Pentium Linux es una alternativa a Windows Unix saca las X basado en GUI Se introducen sistemas operativos en red y sistemas operativos distribuidos IBM PC (1981)‏

Usaban LSI (large scale integration).

Intel 8080 (8 bits) -> IBM PC (1980) con DOS.

Intel 80286 (1983), 80386 (1985) y 80486 (1989).

Macintosh creó la GUI (graphical User Interface)

Microsoft adopta GUI y desarrolla Windows (sobre DOS)‏

Microsoft saca Windows 95 como sistema operativo, luego Windows 98 (basado en 16 bits), Windows NT (32 bits).

Windows NT 5.0 se transformó en Windows 2000

Windows 98 nueva se transformó Windows Me.

Windows XP

UNIX se mantiene para computadores potentes (servidores)

En Pentium Linux es una alternativa a Windows

Unix saca las X basado en GUI

Se introducen sistemas operativos en red y sistemas operativos distribuidos

1.2 EVOLUCIÓN Para profundizar el tema de la evolución de los SO revisemos los siguientes tipos de sistemas: Sistemas por lotes sencillos. Los primeros equipos grandes y caros que se controlaban desde una consola. Dispositivos de entrada comunes eran: lectores de tarjetas y unidades de cinta. Los usuarios no interactuaban directamente con el computador.(Sólo el operador). La función del SO era transferir el control automáticamente de un trabajo al siguiente. El SO estaba siempre residente en memoria. Para agilizar el procesamiento se agrupaban los trabajos comunes en lotes y se introducían al computador como un grupo.

Para profundizar el tema de la evolución de los SO revisemos los siguientes tipos de sistemas:

Sistemas por lotes sencillos.

Los primeros equipos grandes y caros que se controlaban desde una consola.

Dispositivos de entrada comunes eran: lectores de tarjetas y unidades de cinta.

Los usuarios no interactuaban directamente con el computador.(Sólo el operador).

La función del SO era transferir el control automáticamente de un trabajo al siguiente.

El SO estaba siempre residente en memoria.

Para agilizar el procesamiento se agrupaban los trabajos comunes en lotes y se introducían al computador como un grupo.

Sistemas por lotes sencillos. El SO por lotes sencillo lee un flujo de trabajos individuales, cada uno con sus propias tarjetas de control que predefinen lo que el trabajo hace y su trabajo se imprime en líneas (después de algunos minutos e inclusive horas). Luego aparece el spooling; el cual tiene efecto benéfico directo sobre el desempeño del sistema (mantiene la CPU como los dispositivos de E/S trabajando con un rendimiento mucho mayor.

Sistemas por lotes sencillos.

El SO por lotes sencillo lee un flujo de trabajos individuales, cada uno con sus propias tarjetas de control que predefinen lo que el trabajo hace y su trabajo se imprime en líneas (después de algunos minutos e inclusive horas).

El spooling da origen a una importante estructura de datos: la reserva de trabajos. Lo cual implica la planificación de trabajos. Lo más importante de la planificación es la capacidad de multiprogramar (aprovechando eficientemente la CPU). La técnica de permitir varios programas en memoria se la llama multiprogramación . La multiprogramación debe permitir tomar decisiones por los usuarios, por lo cual son relativamente complejos. Sistema por lotes Multiprogramados .

El spooling da origen a una importante estructura de datos: la reserva de trabajos. Lo cual implica la planificación de trabajos.

Lo más importante de la planificación es la capacidad de multiprogramar (aprovechando eficientemente la CPU).

La técnica de permitir varios programas en memoria se la llama multiprogramación .

La multiprogramación debe permitir tomar decisiones por los usuarios, por lo cual son relativamente complejos.

Sistemas de Tiempo compartido (Multitarea) Time sharing es una consecuencia lógica de la multiprogramación. Se ejecutan varias tareas mientras la CPU se conmuta entre ellos, pero la conmutación es tan frecuente que los usuarios pueden interactuar con cada programa durante su ejecución. El usuario interactúa directamente con el equipo puede ver los resultados inmediatamente. Se crearon para brindar el uso interactivo de un sistema de computador a un costo razonable. Utiliza planificación de la CPU y multiprogramación para ofrecer a cada usuario una pequeña porción del tiempo de un computador. Muchos usuarios pueden compartir el computador al mismo tiempo.

Sistemas de Tiempo compartido (Multitarea)

Time sharing es una consecuencia lógica de la multiprogramación. Se ejecutan varias tareas mientras la CPU se conmuta entre ellos, pero la conmutación es tan frecuente que los usuarios pueden interactuar con cada programa durante su ejecución.

El usuario interactúa directamente con el equipo puede ver los resultados inmediatamente.

Se crearon para brindar el uso interactivo de un sistema de computador a un costo razonable. Utiliza planificación de la CPU y multiprogramación para ofrecer a cada usuario una pequeña porción del tiempo de un computador.

Muchos usuarios pueden compartir el computador al mismo tiempo.

Sistemas monousuario Las PC’s (personal computers) son computadoras dedicadas a un solo usuario, que aparecieron en los 70’s. Eran microcomputadoras más baratas y más chicas que un mainframe. El abaratamiento no proviene sólo del hardware: el sistema operativo es menos complejo pues es un ambiente de ejecución mucho más simple. No son ni multiusuario ni multitarea.

Sistemas monousuario

Las PC’s (personal computers) son computadoras dedicadas a un solo usuario, que aparecieron en los 70’s.

Eran microcomputadoras más baratas y más chicas que un mainframe.

El abaratamiento no proviene sólo del hardware: el sistema operativo es menos complejo pues es un ambiente de ejecución mucho más simple.

No son ni multiusuario ni multitarea.

  Sistemas paralelos Hoy la tendencia es hacia los sistemas multiprocesador. Es decir, aquellos que cuentan con más de un procesador. Permiten mejorar el throughput (productividad). No obstante debemos considerar un overhead (carga) adicional por sincronizar estos procesadores y los recursos compartidos a los que acceden.

  Sistemas paralelos

Hoy la tendencia es hacia los sistemas multiprocesador.

Es decir, aquellos que cuentan con más de un procesador.

Permiten mejorar el throughput (productividad). No obstante debemos considerar un overhead (carga) adicional por sincronizar estos procesadores y los recursos compartidos a los que acceden.

Sistemas distribuidos Los sistemas distribuidos comparte la carga entre varios procesadores. Las razones para su uso son: · Compartir recursos. · Aceleración de los cálculos · Confiabilidad · Comunicación

Sistemas distribuidos

Los sistemas distribuidos comparte la carga entre varios procesadores.

Las razones para su uso son:

· Compartir recursos.

· Aceleración de los cálculos

· Confiabilidad

· Comunicación

Sistemas de tiempo real Cuando los requisitos de tiempo de la operación de un procesador o del flujo son estrictos, por lo que por lo general se utilizan como dispositivos de control en las aplicaciones dedicadas. Hay dos tipos: Sistema de tiempo real duro: Garantiza que las tareas críticas se terminarán a tiempo. Por lo que no se combinan con los sistemas de tiempo compartido. Sistema de tiempo real blando: El que una tarea de tiempo real crítica goza de prioridad respecto a otras tareas y conserva esa prioridad hasta que se lleva a cabo.

Sistemas de tiempo real

Cuando los requisitos de tiempo de la operación de un procesador o del flujo son estrictos, por lo que por lo general se utilizan como dispositivos de control en las aplicaciones dedicadas.

Hay dos tipos:

Sistema de tiempo real duro: Garantiza que las tareas críticas se terminarán a tiempo. Por lo que no se combinan con los sistemas de tiempo compartido.

Sistema de tiempo real blando: El que una tarea de tiempo real crítica goza de prioridad respecto a otras tareas y conserva esa prioridad hasta que se lleva a cabo.

1.3 COMPONENTES Como se ha visto el SO es el encargado de asignar los recursos necesarios para la ejecución de programas lo cual requiere de un conjunto de componentes que le permiten cumplir su función. procesos memoria entrada/salida redes protección archivos Intérprete de órdenes

Como se ha visto el SO es el encargado de asignar los recursos necesarios para la ejecución de programas lo cual requiere de un conjunto de componentes que le permiten cumplir su función.

1.3 COMPONENTES Gestión de procesos Gestión de Memoria Principal Gestión de Archivos Gestión de los sistemas de Entrada/Salida Gestión de Almacenamiento Secundario Trabajo con redes Sistema de Protección Sistema de Interpretación de Órdenes De acuerdo al papel que desempeñan los componentes del SO son:

Gestión de procesos

Gestión de Memoria Principal

Gestión de Archivos

Gestión de los sistemas de Entrada/Salida

Gestión de Almacenamiento Secundario

Trabajo con redes

Sistema de Protección

Sistema de Interpretación de Órdenes

GESTIÓN DE PROCESOS Crear y eliminar procesos tanto de usuarios como del sistema . Suspender y reanudar procesos Proveer mecanismos para la sincronización de procesos Proveer mecanismos para la comunicación de procesos Manejo de bloques mutuos (deadlocks). Se puede pensar en un proceso como una parte o todo un programa en ejecución. Para la ejecución requiere recursos como CPU, memoria, archivos y dispositivos de E/S, asignados al crearse el proceso o durante su ejecución. Las actividades del SO relacionadas con la gestión de procesos son:

Crear y eliminar procesos tanto de usuarios como del sistema .

Suspender y reanudar procesos

Proveer mecanismos para la sincronización de procesos

Proveer mecanismos para la comunicación de procesos

Manejo de bloques mutuos (deadlocks).

GESTIÓN DE MEMORIA PRINCIPAL Saber que partes de la memoria se están utilizando actualmente. Decidir cuáles procesos se cargarán en la memoria cuando se disponga de espacio. Asignar y liberar espacios de memoria según se necesite Utilizar el almacenamiento secundario como una extensión de la memoria principal. La memoria principal constituye uno de los recursos principales para el funcionamiento del sistema. Es además, un recurso escaso por el que compiten distintos procesos. Las actividades con la gestión de memoria son:

Saber que partes de la memoria se están utilizando actualmente.

Decidir cuáles procesos se cargarán en la memoria cuando se disponga de espacio.

Asignar y liberar espacios de memoria según se necesite

Utilizar el almacenamiento secundario como una extensión de la memoria principal.

GESTIÓN DE ARCHIVOS Crear y eliminar archivos Crear y eliminar directorios Proveer las primitivas para manipulación de archivos y directorios Establecer la correspondencia de los archivos con el almacenamiento secundario. Resguardar los archivos en medios de almacenamiento estables (no volátiles). Un archivo es un conjunto de datos identificados por un nombre, suelen almacenarse en dispositivos de E/S. El SO establece una correspondencia entre el archivo y los medio físicos. Las funciones son:

Crear y eliminar archivos

Crear y eliminar directorios

Proveer las primitivas para manipulación de archivos y directorios

Establecer la correspondencia de los archivos con el almacenamiento secundario.

Resguardar los archivos en medios de almacenamiento estables (no volátiles).

GESTIÓN DEL SISTEMA DE E/S Proporcionar una interfaz uniforme para el acceso a los dispositivos ( independencia del dispositivo) Proporcionar manejadores para los dispositivos concretos Tratar automáticamente los errores más típicos para los dispositivos de almacenamiento, utilizar cachés para los discos, planificar de forma optima las peticiones, etc. El SO tiene como objetivo ocultar las peculiaridades del sistema de los dispositivos hardware específicos de modo que el usuario no las perciba, puesto que la entrada/salida es un conjunto de dispositivos complicados de programar. Las funciones son:

Proporcionar una interfaz uniforme para el acceso a los dispositivos ( independencia del dispositivo)

Proporcionar manejadores para los dispositivos concretos

Tratar automáticamente los errores más típicos para los dispositivos de almacenamiento, utilizar cachés para los discos, planificar de forma optima las peticiones, etc.

GESTIÓN DE ALMACENAMIENTO SECUNDARIO El almacenamiento secundario surge con la finalidad de respaldar la memoria principal. El SO se encarga de las siguientes actividades relacionadas con la gestión de discos. Administración del espacio libre Asignación del almacenamiento Planificación del disco.

El almacenamiento secundario surge con la finalidad de respaldar la memoria principal.

El SO se encarga de las siguientes actividades relacionadas con la gestión de discos.

Administración del espacio libre

Asignación del almacenamiento

Planificación del disco.

TRABAJO CON REDES Propios de los SO distribuidos, en los que una colección de procesadores que no comparten memoria, dispositivos periféricos ni reloj. Los diferentes procesadores del sistema se conectan mediante una red de comunicaciones que se puede configurar de distintas maneras. El objetivo del SO con respecto al trabajo con red es: Proporcionar primitivas para conectarse con equipos remotos y acceder de forma controlada a sus recursos : primitivas de comunicación ( enviar y recibir datos) sistema de ficheros en red (ej: NFS) llamada remota al procedimiento (RPC) etc.

Propios de los SO distribuidos, en los que una colección de procesadores que no comparten memoria, dispositivos periféricos ni reloj. Los diferentes procesadores del sistema se conectan mediante una red de comunicaciones que se puede configurar de distintas maneras. El objetivo del SO con respecto al trabajo con red es:

Proporcionar primitivas para conectarse con equipos remotos y acceder de forma controlada a sus recursos : primitivas de comunicación ( enviar y recibir datos) sistema de ficheros en red (ej: NFS) llamada remota al procedimiento (RPC) etc.

SISTEMAS DE PROTECCIÓN A fin de garantizar que únicamente los procesos que han obtenido la autorización debida del SO pueden operar con los recursos del computador. En éste aspecto los objetivos del SO son: Definir el esquema general de protección: clases de usuarios, clases de permisos /privilegios, etc. Definir mecanismos de acceso a los recursos: contraseñas, llaves, capacidades, etc. Controlar el acceso a los recursos, denegando el acceso cuando no esté permitido.

A fin de garantizar que únicamente los procesos que han obtenido la autorización debida del SO pueden operar con los recursos del computador.

En éste aspecto los objetivos del SO son:

Definir el esquema general de protección: clases de usuarios, clases de permisos /privilegios, etc.

Definir mecanismos de acceso a los recursos: contraseñas, llaves, capacidades, etc.

Controlar el acceso a los recursos, denegando el acceso cuando no esté permitido.

SISTEMAS DE INTERPRETACIÓN DE ORDENES Interfaz entre el usuario y el SO; permite al usuario dialogar con el SO, a fin de facilitar tareas como: Cargar programas Abortar programas Introducir datos a los programas Trabajar con archivos Trabajar con redes Ejemplos: JCL en sistemas por lotes, COMMAND.COM en MS-DOS, shell en UNIX

Interfaz entre el usuario y el SO; permite al usuario dialogar con el SO, a fin de facilitar tareas como:

Cargar programas

Abortar programas

Introducir datos a los programas

Trabajar con archivos

Trabajar con redes

Ejemplos: JCL en sistemas por lotes, COMMAND.COM en MS-DOS, shell en UNIX

SERVICIOS Interfaz entre el usuario y el SO, permite al usuario dialogar con el SO, a fin de facilitar tareas como: Ejecución de Programas Operaciones de E/S Manipulación de archivos y directorios Comunicación entre procesos Comunicación con equipos remotos Administración de la protección y seguridad Leer el estado del sistema (hora, nº de procesos, etc. )

Interfaz entre el usuario y el SO, permite al usuario dialogar con el SO, a fin de facilitar tareas como:

Ejecución de Programas

Operaciones de E/S

Manipulación de archivos y directorios

Comunicación entre procesos

Comunicación con equipos remotos

Administración de la protección y seguridad

Leer el estado del sistema (hora, nº de procesos, etc. )

SERVICIOS ADICIONALES Aparte de los servicios básicos, el SO puede ofrecer algunas funciones para optimizar el uso del sistema: Compartición de recursos Contabilidad (accounting).- conocer el consumo de recursos.

Aparte de los servicios básicos, el SO puede ofrecer algunas funciones para optimizar el uso del sistema:

Compartición de recursos

Contabilidad (accounting).- conocer el consumo de recursos.

INTERFACES CON LOS SERVICIOS DEL SO Para el programador: Llamadas al sistema en lenguaje máquina o en alto nivel(ej. Lenguaje C) Para el usuario: Intérprete de órdenes Programas del sistema.

Para el programador:

Llamadas al sistema en lenguaje máquina o en alto nivel(ej. Lenguaje C)

Para el usuario:

Intérprete de órdenes

Programas del sistema.

LLAMADAS AL SISTEMA El SO ofrece una gama de servicios a los programas. Los programas acceden a estos servicios mediante llamadas al sistema. Son la interfaz entre el programador en ejecución y el SO. Es la única forma en la que un programa puede solicitar operaciones al SO. Ejemplo: Windows: Handle = Open File(“minifichero”, ofstruct, OF_READ) UNIX: Fd = open(“mifichero”, O_RDONLY); MS-DOS: Mov ah, servicio Mov al, modo

El SO ofrece una gama de servicios a los programas. Los programas acceden a estos servicios mediante llamadas al sistema.

Son la interfaz entre el programador en ejecución y el SO.

Es la única forma en la que un programa puede solicitar operaciones al SO.

Ejemplo:

Windows:

Handle = Open File(“minifichero”, ofstruct, OF_READ)

UNIX:

Fd = open(“mifichero”, O_RDONLY);

MS-DOS:

Mov ah, servicio

Mov al, modo

IMPLEMENTACIÓN DE LAS LLAMADAS AL SISTEMA ¿Cómo se implementa la llamada? Habitualmente, mediante una instrucción especial de la máquina (syscall, int, trap…) La instrucción cambia automáticamente a modo privilegiado Si programamos en un lenguaje de alto nivel, escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instrucción de máquina correspondiente. Muchas llamadas necesitan parámetros, ¿cómo los pasamos al SO? Usando registros de la máquina En una tabla en memoria principal Poniéndolos en la pila (stack)

¿Cómo se implementa la llamada?

Habitualmente, mediante una instrucción especial de la máquina (syscall, int, trap…)

La instrucción cambia automáticamente a modo privilegiado

Si programamos en un lenguaje de alto nivel, escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instrucción de máquina correspondiente.

Muchas llamadas necesitan parámetros, ¿cómo los pasamos al SO?

Usando registros de la máquina

En una tabla en memoria principal

Poniéndolos en la pila (stack)

LLAMADAS AL SISTEMA DE UNIX Procesos: crear proceso, enviar señal a un proceso, tratar señales, etc. Memoria: pedir más memoria, liberar memoria… Archivos: abrir, crear, cerrar, leer, escribir, borrar, crear, directorio, crear enlace, bloquear fichero… Redes: abrir conexión (socket), cerrar conexión… Protección: cambiar permisos, cambiar propietario.

Procesos: crear proceso, enviar señal a un proceso, tratar señales, etc.

Memoria: pedir más memoria, liberar memoria…

Archivos: abrir, crear, cerrar, leer, escribir, borrar, crear, directorio, crear enlace, bloquear fichero…

Redes: abrir conexión (socket), cerrar conexión…

Protección: cambiar permisos, cambiar propietario.

PROGRAMAS DEL SISTEMA Las llamadas al sistema nos proporcionan una interfaz para el programador; un usuario final interactúa con el sistema operativo mediante programas que han sido previamente compilados. Sí el entorno del SO. Suele proveer programas del sistema para: Manipular ficheros (ls, cp, dir, etc.) Editar documentos (emacs, edit, etc.) Proporcionar entornos de trabajo (escritorio Windows) Desarrollar programas( compiladores, enlazadores) Comunicarnos con otros equipos (telnet, ftp, etc.).

Las llamadas al sistema nos proporcionan una interfaz para el programador; un usuario final interactúa con el sistema operativo mediante programas que han sido previamente compilados. Sí el entorno del SO. Suele proveer programas del sistema para:

Manipular ficheros (ls, cp, dir, etc.)

Editar documentos (emacs, edit, etc.)

Proporcionar entornos de trabajo (escritorio Windows)

Desarrollar programas( compiladores, enlazadores)

Comunicarnos con otros equipos (telnet, ftp, etc.).

EL NÚCLEO Software del Sistema Operativo que reside permanentemente en memoria, atiende las llamadas al sistema. El núcleo se distingue de los programas del sistema, porque estos utilizan los servicios del núcleo.

Software del Sistema Operativo que reside permanentemente en memoria, atiende las llamadas al sistema.

El núcleo se distingue de los programas del sistema, porque estos utilizan los servicios del núcleo.

ARQUITECTURA DEL SISTEMA OPERATIVO La arquitectura de un Sistema Operativo se refiere a la organización interna que esté tiene, las mismas que pueden ser: Bloque único y sólido de servicios (Sistema Monolítico) Capas de Software delimitadas y jerarquizadas (Sistemas por capas) Modelo de Máquinas Virtuales Modelo Cliente-Servidor

La arquitectura de un Sistema Operativo se refiere a la organización interna que esté tiene, las mismas que pueden ser:

Bloque único y sólido de servicios (Sistema Monolítico)

Capas de Software delimitadas y jerarquizadas (Sistemas por capas)

Modelo de Máquinas Virtuales

Modelo Cliente-Servidor

SISTEMAS MONOLÍTICOS Arquitectura Simple, núcleo compacto que tiene todas las rutinas del SO, las mismas están enlazadas entre sí, de tal manera que cada una pueda llamar a otra. Carece de técnicas de protección y manejo de privilegios. programa programa programa NÚCLEO Llamadas al sistema hardware

Arquitectura Simple, núcleo compacto que tiene todas las rutinas del SO, las mismas están enlazadas entre sí, de tal manera que cada una pueda llamar a otra. Carece de técnicas de protección y manejo de privilegios.

SISTEMAS POR CAPAS Arquitectura Modular, define capas o niveles de abstracción, cada uno de los cuáles aprovecha el servicio de la capa inferior. Es mucho más escalable que el anterior. programa capa capa capa

Arquitectura Modular, define capas o niveles de abstracción, cada uno de los cuáles aprovecha el servicio de la capa inferior.

Es mucho más escalable que el anterior.

NIVELES Crear, destruir, suspender, reanudar, señalizar, esperar. Procesos semáforos Núcleo o Kernel 1 Leer, escribir, asignar. Liberar. Bloques de datos E/S Básica 2 Leer, escribir, acceder. Segmentos, paginas Gestión de memoria 3 Crear, destruir, abrir, cerrar Archivos, dispositivos Sistema de archivos 4 Secuencias del lenguaje de ordenes Datos del entorno Interprete de lenguajes de ordenes 5 Operaciones Objetos Nombre Nivel

SISTEMAS POR CAPAS Cada capa del SO consistiría en la implementación de un objeto abstracto. Datos Operaciones Es mucho más estable que el anterior. Operaciones nuevas Operaciones existentes Operaciones ocultas Capa M Capa M-1

Cada capa del SO consistiría en la implementación de un objeto abstracto.

Datos

Operaciones

Es mucho más estable que el anterior.

SISTEMA POR CAPAS VENTAJAS: Modularidad Depuración y Verificación Una vez depurada la primera capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa. Mantenimiento Es posible por ejemplo cambiar las rutinas de bajo nivel siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada.

VENTAJAS:

Modularidad

Depuración y Verificación

Una vez depurada la primera capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa.

Mantenimiento

Es posible por ejemplo cambiar las rutinas de bajo nivel siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada.

SISTEMA POR CAPAS DESVENTAJAS: Problema: definición apropiada de las distintas capas. Tienden a ser menos eficientes. Llamadas entre capaz  paso de parametros. En definitiva cada capa implica un gasto extra. Tendencia: Equilibrio, menos capas con más funcionalidad: Ventajas de la modularidad. Evitan los problemas de definición e interacción entre capas.

DESVENTAJAS:

Problema: definición apropiada de las distintas capas.

Tienden a ser menos eficientes.

Llamadas entre capaz  paso de parametros.

En definitiva cada capa implica un gasto extra.

Tendencia: Equilibrio, menos capas con más funcionalidad:

Ventajas de la modularidad.

Evitan los problemas de definición e interacción entre capas.

MÁQUINA VIRTUAL Mediante software, se proporciona a los programas la emulación de un Hardware que no existe. El software emulador convierte las peticiones hechas a la máquina virtual en operaciones sobre la máquina real. Se pueden ejecutar varias máquinas virtuales al mismo tiempo (ej. Mediante tiempo compartido). Los recursos reales se reparten entre las distintas máquinas virtuales.

Mediante software, se proporciona a los programas la emulación de un Hardware que no existe.

El software emulador convierte las peticiones hechas a la máquina virtual en operaciones sobre la máquina real.

Se pueden ejecutar varias máquinas virtuales al mismo tiempo (ej. Mediante tiempo compartido).

Los recursos reales se reparten entre las distintas máquinas virtuales.

EJEMPLOS: IBM VM: ofrecería a cada usuario su propia máquina virtual mono tarea; las m.v se planificaban con tiempo compartido. Java: los programas compilados en Java corren sobre una máquina virtual (JVM)- VM Ware: en un PC es capaz de ejecutar al mismo tiempo varias sesiones Windows, Linux, OS/2, etc. Nachos: S.O. que se ejecuta en una máquina virtual, MIPS, cuyo emulador corre sobre UNIX.

IBM VM: ofrecería a cada usuario su propia máquina virtual mono tarea; las m.v se planificaban con tiempo compartido.

Java: los programas compilados en Java corren sobre una máquina virtual (JVM)-

VM Ware: en un PC es capaz de ejecutar al mismo tiempo varias sesiones Windows, Linux, OS/2, etc.

Nachos: S.O. que se ejecuta en una máquina virtual, MIPS, cuyo emulador corre sobre UNIX.

VENTAJAS Y DESVENTAJA Protección : cada máquina virtual esta aislada de las otras y no puede interferir. Investigación y desarrollo: se puede desarrollar y ejecutar para u hardware que no tenemos. Independencia del Hardware (ej. java). Pervivencia de sistemas antiguos (ej. Emuladores MS-DOS). La implementación de la m.v. puede ser compleja y lenta.

Protección : cada máquina virtual esta aislada de las otras y no puede interferir.

Investigación y desarrollo: se puede desarrollar y ejecutar para u hardware que no tenemos.

Independencia del Hardware (ej. java).

Pervivencia de sistemas antiguos (ej. Emuladores MS-DOS).

La implementación de la m.v. puede ser compleja y lenta.

Add a comment

Related pages

One Piece Capitulo 1 Audio Español - YouTube

miren el canal de mi hermano RubenaxYT ... This feature is not available right now. Please try again later.
Read more

O Clone Capítulo 1 HD - YouTube

Standard YouTube License; Music ... Capitulo 2 - Duration: ... Т/c Клон (O Clone) 1 серия - Duration: 47:49.
Read more

Aurora Capitulo 1 Parte 4/4 - Dailymotion-Video

Capitulo 1 Parte 4/4Con Eugenio Siller, Sara Maldonado, Jorge Luis Pila, Aylin Mujica etc.
Read more

Gran Reserva, Capítulo 1, Gran Reserva - T1 - Capítulo 1 ...

Gran Reserva, capítulo 1 online Gran Reserva - T1 - Capítulo 1, - Temporada 1. Todos los capítulos online de Gran Reserva en RTVE.es A la Carta
Read more

My Girl!: capítulo 1 sub español online en HD - DoramasTV

Ver My Girl!: capitulo 1 sub español online en HD, no te pierdas el ultimo capitulo 1 de My Girl!: online y no te olvides de recomendar ver esta serie de ...
Read more

La Esclava Blanca, Capítulo 1: La niña Victoria sobrevive ...

Nicolás ordena quemar la casa de su enemigo sin contar con que su heredera se salvaría. Revive el primer capítulo de "La Esclava Blanca".
Read more

El Señor de los Cielos Capitulo 1 Online Sub Español Gratis

Búsquedas relacionadas ver El Señor de los Cielos 1 capitulo 1 online HD, El Señor de los Cielos primera temporada capitulo 1 gratis, El Señor de los ...
Read more

Celia, capítulo 1: Celia sufre porque su padre no le ...

La joven Celia enfrenta el primero de muchos obstáculos. Revive el Gran Estreno de "Celia", la serie.
Read more

Isabel , Capítulo 1, Isabel – Capítulo 1 – RTVE.es A la Carta

Isabel , capítulo 1 online Isabel - Capítulo 1, - Temporada 1. Todos los capítulos online de Isabel en RTVE.es A la Carta
Read more

You-Tube-Download

Camino Hacia el Terror 6 Capitulo 1 Descargar ... Camino Hacia El Terror 6 Capitulo 24 GUI Sprache Melden Sie sich mit Ihrem ITV-Konto an! E-Mail ...
Read more