CAPTULO I: Introduccin a los Sistemas Operativos - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

CAPTULO I: Introduccin a los Sistemas Operativos

Description:

Es un programa que act a como intermediario entre el usuario y el hardware de una computadora. ... a los programas la emulaci n de un Hardware que no existe. ... – PowerPoint PPT presentation

Number of Views:380
Avg rating:3.0/5.0
Slides: 51
Provided by: Paty69
Category:

less

Transcript and Presenter's Notes

Title: CAPTULO I: Introduccin a los Sistemas Operativos


1
CAPÍTULO I Introducción a los Sistemas Operativos
Realizado por Ing. Samanta CuevaDocentes
Ing. Carlos Córdova Ing. Alexander
López Ing. Julia Pineda
Abril-Agosto 2008
2
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
3
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?

4
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.
  • Es 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)?

5
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.

6
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)
7
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

8
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.
9
Generación 0 (hasta 1945)?
  • Ábacos
  • Calculadoras mecánicas.
  • Sistemas basados en relés.

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.
Difference Engine (1822)?
Edopena
9

Sistemas Operativos
Präsentation
10
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.

Fue usada en la Segunda Guerra Mundial para
decifrar los mensajes de los alemanes.
Colossus (1945)?
11
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.

Tarjeta sin perforar
JOHNNIAC (1954)?
12
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)?
13
Apple II (1978)?
Apple I (1976)?
14
Cuarta generación (desde 1980)?
  • Usaban LSI (large scale integration).
  • Intel 8080 (8 bits) -gt 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)?
15
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.

16
  • 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.
17
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.

18
  • 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.

19
  • Sistemas monousuario
  • Las PCs (personal computers) son computadoras
    dedicadas a un solo usuario, que aparecieron en
    los 70s.
  • 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.

20
  •  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.

21
  • 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

22
  • 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.

23
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.

24
1.3 COMPONENTES
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

25
GESTIÓN DE PROCESOS
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).

26
GESTIÓN DE 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.

27
GESTIÓN DE ARCHIVOS
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).

28
GESTIÓN DEL SISTEMA DE E/S
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.

29
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.

30
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.

31
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.

32
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

33
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. )?

34
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.

35
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.

36
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

37
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)?

38
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.

39
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.).

40
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.

41
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

42
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.

43
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.

44
NIVELES
45
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.

46
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.

47
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.

48
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.

49
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.

50
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.
Write a Comment
User Comments (0)
About PowerShow.com