Facultad Ingeniería de Sistemas e Informática

Sistemas Operativos

Ing. Haybert Escobedo Neyra
e-mail: ihaybert@hotmail.com Trujillo-Perú

I Unidad

Introducción a los Sistemas Operativos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

2

Importancia de los SO
¿Para qué el estudio de los Sistemas Operativos?

Sin el software una computadora es en esencia una masa metálica sin utilidad, sin capacidad de desarrollar ninguna tarea. Con el software una computadora puede almacenar, procesar y recuperar información, entre otras cosas.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

3

Importancia (Cont…)
¿Para qué el estudio de los Sistemas Operativos?

Los SO como componentes del Software de las computadoras son una parte fundamental debido a que través de ellos se simplifica y

rentabiliza el trabajo de una manera asombrosa.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

4

Importancia (Cont…)
¿Para qué el estudio de los Sistemas Operativos?

Hoy en día es una realidad que cualquier programador pase gran parte de su tiempo dialogando con el SO, por lo que un buen

conocimiento del mismo es un seguro de utilización eficiente y de alto rendimiento.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

5

Computadora: Definición

Microprocesador
Unidad de Entrada Memoria (RAM,ROM) CPU Unidad de Salida

Unidad de Almacenamiento Secundario

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

6

Arquitectura de Von Neumann

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

7

Sistemas de Computación

Hardware

Software (Programas)
Dato e Información Personal(Usuarios, Programadores)

Documentación y Manual de Procedimientos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

8

Sistema Operativo vs. Usuario

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

9

Tipos de Software

Software de Sistemas
 

Sistemas Operativos

Los Procesadores de Lenguajes (Compiladores e Intérpretes) traducen el lenguajes de programación a un lenguaje que entiende la computadora
Los Lenguajes de Programación, permiten a los programadores escribir software de aplicación
22/09/2011
10

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Compilador

Es un programa que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente (lenguaje de máquina) que la máquina será capaz de interpretar.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

11

Compilador vs Intérprete

Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

12

Intérprete

Es capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

13

Tipos de Software (Cont…)

Software de Aplicación, permiten a los usuarios realizar tareas que desea.

De Propósito General, está diseñado para ser usado por cualquier usuario de organización, soluciona problemas comunes o generales.
De Medida o Específico, soluciona un problema específico, generalmente creado para organizaciones.
22/09/2011
14

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Computadora: Definición

Es una máquina de origen electromagnético con una o más unidades de proceso y equipos periféricos controlados por programas almacenados en su memoria, que pueden realiza gran variedad de trabajos. Una computadora de manera muy genérica esta compuesta por lo siguientes elementos:

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

15

Sistema de Computadora

Sistema Bancario Compiladores

Reservaciones aéreas Editores Sistema Operativo Lenguaje de Máquina

Navegador WEB Intérpretes de Comandos

Software de Aplicación Software de Sistema

Microprogramación
Dispositivos Físicos

Hardware

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

16

Definición de un Sistema Operativo

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

17

Definición de Sistema Operativo

Existen diferentes puntos de vista para definir un Sistema Operativo, los cuales son los siguientes:

Punto de Vista del Software


Punto del Gestor de Recursos Teniendo en cuenta el concepto de máquina extendida. Teniendo en cuenta el significado de los términos que componen la definición
22/09/2011
18

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Punto de Vista del Software

Un Sistema Operativo es el soporte lógico que controla el funcionamiento del equipo físico.
Diseñador de Traductores PROGRAMADOR USUARIO

Diseñador de Sistemas Operativos

Programas de Aplicación

Traductores

Sistema Operativo

HARDWARE

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

19

Punto de Vista del Software

(Cont…)

Es un conjunto de programas y funciones que ocultan los detalles del hardware, ofreciendo al usuario una vía sencilla y flexible al mismo tiempo. La ocultación de los detalles del hardware a usuarios y parte del personal informático tiene dos objetivos:

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

20

Punto de Vista del Software

(Cont…)

Abstracción: La tendencia actual del software en toda su extensión es la de dar una visión global y abstracta de la computadora haciendo fácil su uso ocultando por completo la visión interna. Seguridad: Existen instrucciones en la máquina que pueden para la computadora, interferir procesos, etc. Por ello, es necesario restringir determinadas operaciones a los usuarios creando varios niveles de privilegios, de tal forma que cada usuario tenga protegida su información y sus procesos.
22/09/2011
21

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Punto de Vista de Gestor de Recursos

Un Sistema Operativo es el administrador de recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

22

Punto de Vista de la Máquina Extendida

Consiste en ocultar al usuario todos los detalles de implementación, de cómo funciona una computadora. El Sistema operativo constituye un recurso de alto nivel que permite convertir la máquina virtual o extendida y que facilita el uso de este.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

23

Punto de Vista de los términos que lo componen

Se puede definir de una manera más académica, basándose en la definición de los términos: Sistemas y Operativo. Sistema, conjunto de personas, máquina y cosas que ordenadamente relacionados entre sí, contribuyen a lograr un determinado objetivo. Operativo, es algo disponible, listo para ser usado.
22/09/2011
24

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Punto de Vista de los términos que lo componen (Cont…)

“Un Sistema Operativo es un conjunto de programas que ordenadamente relacionados entre sí contribuyen a que la computadora lleve a cabo correctamente su trabajo” El Sistema Operativo cubre dos objetivos fundamentales:

Facilitar el trabajo del usuario.

Gestionar de forma eficiente los recursos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

25

Historia de los Sistemas Operativos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

26

Historia de los Sistemas Operativos

La historia de los SO está asociado con la historia de las computadoras dado que los sistemas operativos se ejecutan en ella.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

27

Las Primeras Computadoras (1792 -1871)
  

Llamada también máquina analítica. Era un diseño puramente mecánico. No contaba con un Sistema Operativo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

28

Primera Generación (1945 - 1955)

Sistema operativo: Al principio es inexistente, hacia el final se constituye como un conjunto de funciones de uso general. Tecnología: Tubos de vacío.

Introducción de trabajo: A través de panel de control.
Lenguaje: Lenguaje máquina.

 Sólo un grupo de personas se encarga de todo.  Se introduce el concepto de tarjetas perforadas
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

29

Segunda Generación (1955 - 1965)

Sistema operativo: Monitor para cargar trabajos, ejecutarlos, … (procesamiento en serie). Posteriormente procesamiento por lotes. Tecnología: Transistores.


Introducción de trabajo: Tarjetas perforadas. Lenguaje: Cobol, Fortran, IBSYS.

 Hubo una clara separación del trabajo en computador.  Se utilizaron para cálculos científicos.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

30

Tercera Generación (1965 -1980)

Sistema operativo: Multiprogramación, tiempo compartido, spooling, sistemas en tiempo real (OS/360,Multics, UNIX, ...). Tecnología: Circuitos integrados, máquinas multipropósito, miniordenadores. Introducción de trabajo: Tarjetas perforadas, terminales.

Lenguaje: Cobol, Fortran, ...

 Aparecen diferentes máquinas, el desarrollo y mantenimiento era costoso.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

31

Cuarta Generación (1980 - 1995)

Sistema operativo: En red, cliente-servidor, seguridad (criptografía), (MacOS, MS-DOS, Windows 95, Novell, ...) Tecnología: Circuitos integrados, ordenadores personales, redes de ordenadores. Introducción de trabajo: Terminal

 Aparecen los conceptos de estación de trabajo, el software es amigable con el usuario
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

32

Quinta Generación (1995 - Actualidad)

Sistema operativo: Distribuido, modelo cliente – servidor en la construcción del sistema. (MacOS, Windows, Ubuntu, ...),(IOS 4, Android, Symbian,Windows Phone, etc)

Tecnología: Circuitos integrados a gran escala (VLSI), ordenadores personales potentes, estaciones de trabajo, móviles.

 Sistemas Operativos orientado a objetos, con autoconfiguración (Plug and play), mayor capacidad de memoria y de procesamiento.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

33

Orientación de la evolución

 Aumentar: Potencia, multipropósito, fiabilidad, nº de usuarios, comodidad y amigabilidad.  Disminuir: Precio, tamaño, requisitos de instalación, dificultad de uso, tiempo de respuesta.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

34

Evolución de los Sistemas Operativos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

35

Evolución de los Sistemas Operativos

La historia de los SO, a transcurrido en una evolución de conceptos que se asocian con la necesidad de información y la evolución misma de la arquitectura misma de computadoras. Básicamente los conceptos son los siguientes:

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

36

Evolución de los Sistemas Operativos
(Cont…)

 

Sistema de Tiempo  Asignado  Sistema de Acceso por  Operador Secuencia Automática  de Trabajos Procesos On-line y  Off-line  Buffering Spooling

Multiprogramación Procesos por Lotes Sistemas de Tiempo Compartido Sistemas de Tiempo Real Multiprocesos Sistemas de Procesos Distribuidos
22/09/2011
37

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Sistema de Tiempo Asignado

Las Primeras computadoras donde destacan:
 

La 1ra computadora electromecánica MARK I

La 1ra computadora electrónica ENIAC, a base de válvulas al vacío.

El IBM Automatic Sequence Controlled Calculator (ASCC), más conocido como Harvard Mark I o Mark I, fue el primer ordenador electromecánico, construido en la Universidad de Harvard por Howard H. Aiken en 1944

ENIAC es un acrónimo de Electronic Numerical Integrator And Computer (Computador e Integrador Numérico Electrónico), utilizada por el Laboratorio de Investigación Balística del Ejército de los Estados Unidos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

38

Sistema de Tiempo Asignado

(Cont…)

Estas enormes máquinas eran gestionas por el usuario desde un tablero enchufable, donde apenas existía SO, y el único lenguaje de programación posible era el lenguaje máquina.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

39

Sistema de Tiempo Asignado

(Cont…)

Solo era posible lo que se denominaba monoprogramación, es decir, la ejecución de un solo programa que se introducía generalmente a través de tarjetas perforadas, controlándose el proceso desde una consola.

Tarjeta de un programa en Fortran : Z(1) = Y + W(1).
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

40

Sistema de Tiempo Asignado

(Cont…)

La Gestión de la computadora se realizaba a través de una consola, en la cual cada usuario, y de uno en uno, tenía asignado un período de tiempo durante en el que se convertía en dueño absoluto de todo sistema de manera secuencial.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

41

Sistema de Acceso por Operador

Por el alto costo económico que tenía el modelo anterior, a partir de 1955 se produjo una separación entre las distintas tareas que se realizaban en entornos informáticos y se establecieron puestos para programadores,

operadores y personal de mantenimiento.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

42

Sistema de Acceso por Operador

(Cont…)

Se presentaron dos formas de trabajo: 1. El manejo de la máquina lo tenía un especialista en operación (Operador),

cuya misión era la de controlar el sistema, cargar los programas, obtener resultados, etc.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

43

Sistema de Acceso por Operador
El procedimiento consiste en que los programadores daban al operador los

(Cont…)

trabajos a realizar, éste los reunía y los ejecutaba uno detrás de otro en la computadora, y recogía los resultados obtenidos entregándolos a cada programador
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

44

Sistema de Acceso por Operador

(Cont…)

2. El operador agrupaba los trabajos con una necesidad de recursos físicos y lógicos similares y los ejecutaba como si fuesen un bloque.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

45

Secuencia Automática de Trabajos

Se observó que el operador del modelo anterior era bastante mecánico y que podía ser automatizado en gran parte por lo que se diseño un pequeño programa que transfería automáticamente del control de un trabajo a

otro.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

46

Secuencia Automática de Trabajos

(Cont…)

Este programa tomó el nombre de Monitor Residente, que puede ser considerado como el primer sistema operativo y que permanecía permanente en memoria.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

47

Secuencia Automática de Trabajos

(Cont…)

El procedimiento consiste que en el momento de encender la computadora se daba control al programa monitor, este a su vez daba control al primer trabajo y cuando terminaba su

ejecución tomaba el control de nuevo, dando paso al segundo de los trabajos y así sucesivamente.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP 48

22/09/2011

Secuencia Automática de Trabajos

(Cont…)

El programa monitor contenía las siguientes partes:

El secuenciador automático de trabajos. El interprete de las tarjetas de control. Controladores software de entrada/salida (drivers)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

49

Secuencia Automática de Trabajos

(Cont…)

En la figura se puede ver un bloque de tarjetas que representan un trabajo, realizado en Fortran, y en la que puede preciarse las tarjetas de control del compilador Fortran y las tarjetas con los datos.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

50

Mejora de Rendimiento: Proceso On-line y Off-line

Con el paso del tiempo aparecieron dispositivos de entrada/salida más veloces que se utilizaron para resolver el problema existente, aunque también aumento la velocidad de proceso del procesador.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

51

Mejora de Rendimiento: Proceso On-line y Off-line (Cont…)

1949 Edvac fue la primera computadora que empleó cinta magnética como medio de almacenamiento de datos.

Aparecieron cintas magnéticas, cuya velocidad era mayor que las lectoras de tarjetas, pero el acceso para escribir en ellas era complicado. Por ello se impuso una técnica consistente en…

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

52

Mejora de Rendimiento: Proceso On-line y Off-line (Cont…)

Perforar los programas en tarjetas, que eran leídas por una lectora de tarjetas y grabadas en una cinta magnética directamente. Esta cinta se pasaba a la computadora en bloque para la ejecución de los programas, grabándose los resultados en una nueva cinta. Por último, la cinta de resultados se volcaba sobre una impresora.
22/09/2011
53

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Mejora de Rendimiento: Proceso On-line y Off-line (Cont…)

Las tres operaciones anteriores se hacían en dispositivos distintos, con lo cual la computadora recibía programas y entregaba resultados a una velocidad considerable. Las acciones de copiado de tarjetas a cinta y de cinta a impresora, al ser lentas y separarse del control de la computadora, permitían a esta realizar otros trabajos distintos. Este tratamiento es el se conoce como Off-line.
22/09/2011
54

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Mejora de Rendimiento: Proceso On-line y Off-line (Cont…)

Proceso On-line: Las tareas se hacen secuencialmente

Lectora de Tarjetas

Computadora Central

Impresora

Proceso Off-line: Las tareas se hacen por diferido
Unidades de Cinta Computadora Central Unidades de Cinta

Lectora de Tarjetas

Impresora

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

55

Buffering

Una forma de mejorar el tiempo que se pierde en los procesos de carga de las cintas es utilizar una memoria intermedia o tampón, también denominada Buffer.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

56

Buffering (Cont…)

Esta técnica consiste en utilizar un buffer, en el cual la cinta va grabando datos hasta que se llena, volcándose estos en la memoria de una vez, y mientras el procesador realiza operaciones con los datos recibidos, en paralelo se vuelve a cargar el buffer

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

57

Spooling

Las técnicas de SPOOL (Simultaneos Peripheral Operation Online), permiten que la salida de un programa se escriba en un buffer y posteriormente sea llevada a un disco magnético en espera de poder ser enviado a una impresora o cualquier otro periférico de salida que en ese momento pueda estar ocupado.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

58

Spooling (Cont…)

De esta forma el procesador puede estar ejecutando un trabajo mientras se imprimen, por ejemplo, los resultados de otros proceso anterior que ya hubiera acabado.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

59

Spooling (Cont…)

El sistema SPOOL se podría ver como una cola de archivos en espera de que llegue su turno para ser impresas.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

60

Multiprogramación

Es un modo de trabajo en el que se puede ejecutar varios programas simultáneamente con el fin de aprovechar al máximo los recursos de la computadora. Surgió de la imposibilidad, para los sistemas o modos de trabajo anteriores, de que con un solo trabajo se pudiese tener ocupados al procesador y a los dispositivos de E/S durante todo el tiempo.
22/09/2011
61

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Multiprogramación

(Cont…)

Desde el punto de vista del usuario, se considera que los procesos se están ejecutando en paralelo sin tener en cuenta que en cada momento solo se a tiende a uno de ellos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

62

Multiprogramación

(Cont…)

Monoprogramación

Multiprogramación

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

63

Multiprogramación

(Cont…)

Este sistema trae consigo diversos problemas:

Al acceso al procesador debe seguir algún tipo de reglas o políticas que permitan la ejecución de todos los trabajos. Se hace necesario algún tipo de administración de memoria, ya que esta tiene que ser compartida para todos los trabajos. Varios tiempos pueden necesitar la utilización de un recurso al mismo tiempo, dando lugar a problemas de concurrencia.
22/09/2011
64

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Multiprogramación

(Cont…)

En los SO multiprogramados surge el concepto de planificar y a partir de ellos, comienza una nueva estructura interna de los mismos, apareciendo un núcleo central (KERNEL)

compuesto de rutinas para la gestión de la memoria central, el procesador, los dispositivos y el resto de recursos disponibles.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

65

Proceso por lotes

Se denomina proceso por lotes en los sistemas multiprogramados al que no precisa intervención del usuario durante la ejecución de los trabajos, tratándose en general de trabajos largos que van solicitándose y entrando en una cola de espera de tipo FIFO y que el procesador va tomando en un grupo determinado, realizando un paralelo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

66

Proceso por lotes
Cola de Trabajos

(Cont…)

Trabajos en

Ejecución

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

67

Proceso por lotes

(Cont…)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

68

Sistemas de Tiempo Compartido

Dado el inconveniente que tenia la multiprogramación por lotes de no permitir el dialogo entre el usuario y el proceso, el siguiente paso en el desarrollo de los Sistemas Operativos fue la introducción de la

Multiprogramación Interactiva.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

69

Sistemas de Tiempo Compartido
(Cont…)

Apareció a la vez que los terminales interactivos (teclado-pantalla), en los que el usuario ya no tenia que suministrar todos los datos al principio de la ejecución del proceso, sino que podía ir dándolos a medida que el

proceso los iba necesitando, de igual forma recibiendo respuesta inmediata a sus datos.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

70

Sistemas de Tiempo Compartido
(Cont…)

En este modo de trabajo la organización no se realiza por trabajos, sino por sesiones.

Una Sesión es todo el conjunto de trabajos que se realizan desde que un usuario se conecta a la computadora hasta que se despide de la misma.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

71

Sistemas de Tiempo Compartido
(Cont…)

Desde estas sesiones se puede realizar multitud de operaciones controladas por un proceso denominado interprete de comandos, que mantiene el dialogo entre el usuario y el sistema operativo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

72

Sistemas de Tiempo Compartido
(Cont…)

Este proceso puede dar lugar a otros muchos para realizar todas las demandas del usuario.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

73

Sistemas de Tiempo Compartido
(Cont…)

Se caracterizan por:


Ser muy conversacionales Atender a varios usuarios simultáneamente Ofrecer tiempos de respuestas relativamente cortos(segundos) Mantener una interrogación secuencial de peticiones de usuarios (polling). Poseer una fuerte gestión de archivos. Gestionar memoria virtual.
22/09/2011
74

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Sistemas de Tiempo Real

Es otra modalidad de los sistemas multiprogramados, en que se necesita un tiempo de respuesta pequeño ante cualquier petición.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

75

Sistemas de Tiempo Real

(Cont…)

Suele emplearse en aplicaciones dedicadas a sistemas de control con sensores como elementos de entrada, donde es necesario una respuesta rápida sobre el sistema a controlar. Podemos decir que un sistema trabaja en tiempo real si el tiempo de respuesta permite controlar y regular el medio sobre el que opera.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

76

Sistemas de Tiempo Real

(Cont…)

Sus características principales son:

Fuerte restricciones en el tiempo de respuesta (milisegundos) La información debe estar permanentemente actualizada. El sistema debe permanecer prácticamente inactivo para atender lo más rápidamente posible cualquier evento en la entrada. Manejo eficaz, de interrupciones y manejo sencillo de prioridades Gestión de memoria real.
22/09/2011
77

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Procesos Distribuidos

Consiste en la conexión de computadoras entre sí, a través de una gran variedad de dispositivos dando la sensación al usuario de ser un solo computador.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

78

Procesos Distribuidos

(Cont…)

Existen varias modalidades entre las que podemos citar la conexión de varias computadoras compartiendo un mismo almacenamiento principal o aquellos que se conectan a una misma red nacional o

internacional, para el intercambio de información.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

79

Multiprocesos

Uno de los problemas actuales en el proceso de datos ha sido la aparición de aplicaciones que manejan tal cantidad de información, que un solo procesador no es capaz de procesarla en el tiempo requerido. Como por ejemplo el

caso de los sistemas expertos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

80

Multiprocesos (Cont…)

En la actualidad se están desarrollando diversas

máquinas, que siendo una solo computadora contienen varios procesadores que pueden trabajar conjuntamente. Con ello puede quedar
satisfecha la necesidad de proceso de varios algoritmos simultáneamente (cada uno en un procesador) y con un ahorro sustancial en el

tiempo de ejecución.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

81

Multiprocesos (Cont…)

En este tipo de computadoras el sistema

operativo es complejo debido a que tiene que administrar varios procesadores de tal manera que la carga y reparto de los trabajos debe
equilibrar y optimizar al máximo el proceso global.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

82

Clases de Sistemas Operativos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

83

SO Multiprocesador

Son aquellos sistemas operativos que están montados sobre computadoras que están compuestas por más de un procesado y que pueden abrir un mismo programa . Por ejemplo una computadora que en vez de tener una pentium, tuviera dos o más pentium conectados entre sí dentro de la misma placa base.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

84

SO Monoprogramados

Son aquellos sistemas que ejecutan un programa a la vez en forma secuencial e interrumpibles, un ejemplo seria el MS-DOS o el WINDOWS 3.11 Estos Sistemas sólo permiten que un programa a la vez este usando tanto el microprocesador como la memoria en un momento determinado, y otro programa no podrá usarlos hasta que el anterior termine lo que está haciendo. Normalmente estos SO son muy antiguos y hoy en día están fuera de uso.
22/09/2011
85

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

SO Multitarea o Multiprogramados

Son aquellos que tienen la capacidad de desarrollar varios programas en ambientes de un solo procesador o varios procesadores. (DOS, WINDOWS, OS/2, LINUX)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

86

SO Multitarea o Multiprogramados
(Cont…)

El procedimiento de trabajo es el siguiente:

Cuando se ejecuta un programa, normalmente hay puntos en que el procesador no está siendo utilizado, por ejemplo cuando cargamos un juego, mientras se carga el juego, en realidad el microprocesador no hace nada, solo interviene la unidad de disco y el gestor de memoria.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

87

SO Multitarea o Multiprogramados
(Cont…)

Entonces en estos casos en vez de no hacer nada el microprocesador, el sistema operativo se encarga de esos tiempos llamados muertos o inactivos, lo que hace que otro programa siga ejecutándose, dando así la apariencia de que se están ejecutando a la vez.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

88

SO Multitarea o Multiprogramados
(Cont…)

Tipos de Multitarea:

Apropiativa

En el cual el sistema le quita al procesador la ejecución determinada de un programa para dársela a otro programa.

Cooperativa
En donde es el propio programa el que determina cuando puede el sistema operativo hacer que otro programa ejerza las funciones, temporalmente del microprocesador.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

89

Comparación de los Sistemas de Administración de Procesadores
a
1CPU d c

b
1CPU d c

c

d
Varios CPU’s d c b a t

b
a t

b
a

t0

t1

t

Monoprogramación

Multiprogramación

Multiproceso

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

90

SO Distribuidos

Son aquellos que tienen la capacidad de presentarse ante el usuario como un solo sistema (Hardware y Software), cuando en realidad son diferentes. Como por ejemplo NOVELL, WINDOWS NT, UNIX

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

91

Estructura de los Sistemas Operativos

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

92

Necesidades

Lo primero que hay que decidir al diseñar un Sistema Operativo es su finalidad y el tipo de proceso que se requiere realizar a través de él (proceso por lotes, tiempo compartido, multiproceso, etc.) Para ello es preciso tener en cuenta las necesidades que pueden plantearse:

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

93

Necesidades (Cont…)

Requisitos del usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso que se le quiera destinar.

Requisitos del software: Donde se engloban aspectos como mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

94

Estructuras de SO

A continuación se describirán las distintas estructuras que presentan los actuales SO para satisfacer las necesidades que de ellos se quieren obtener:

 

Estructura Monolítica
Estructura Jerárquica Máquina Virtual

Cliente-Servidor

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

95

Estructura Monolítica

Es la estructura de los primeros sistemas operativos. Fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

96

Estructura Monolítica: Características

 

Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces. Buena definición de parámetros de enlace entre la rutinas existentes. Generalmente están hechos a la medida Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
22/09/2011
97

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Estructura Jerárquica

Se dividió el Sistema Operativo en pequeñas partes, de tal forma que cada una de ellas estuvieron perfectamente definidas con una clara interface con el resto de elementos. Se construyó una estructura jerárquica o de niveles en los Sistemas Operativos. Un ejemplo claro es el MS- DOS, THE o el Multics.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

98

Estructura Jerárquica (Cont…)

En este SO pueden verse distintas capas en su orden jerárquico:
Capa 0: Hardware
Capa 1: Controlador del Procesador Capa 2: Controlador de Memoria

Capa 3: Controlador de la Consola del Operador
Capa 4: Controlador de la Operaciones de E/S Capa 5: Gestión de Archivos

Capa 6: Control del Programa de usuarios.
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

99

Estructura Jerárquica (Cont…)

En esta estructura se basan prácticamente la mayoría de los SO actuales. Otra forma de ver este tipo de sistema es la denominación de anillos concéntricos o “RINGS”
22/09/2011
100

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Estructura Jerárquica (Cont…)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

101

Máquina Virtual

Se trata de un SO que presenta una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos SO separan dos conceptos: Multiprogramación y La Máquina Extendida Su objetivo es distinguir distintos SO dando la sensación de ser varias máquinas. Tiene capacidad de utilizar varios SO simultáneamente.
22/09/2011
102

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Máquina Virtual (Cont…)

El núcleo de estos SO se denomina Monitor Virtual y su misión es llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en c/u de ellas se pueda ejecutar un SO diferente, que será el que ofrezca la máquina extendida al usuario
22/09/2011
103

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Máquina Virtual (Cont…)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

104

Cliente - Servidor

Es el tipo más reciente de los SO, que pueden ser ejecutados en la mayoría de las computadoras, ya sean grandes o pequeñas. Este sistema sirve para todo, por lo tanto es de propósito general y se basa en lo mismo que el resto de los SO convencionales: núcleo y procesos, presentando grandes diferencias en cuanto a la forma de distribuir los trabajos entre sus diferentes partes.
22/09/2011
105

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Cliente – Servidor

(Cont…)

Suele suministrar mecanismos adecuado para la gestión de: procesos, memoria comunicación entre procesos. El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores . Los procesos pueden ser tanto servidores como clientes.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

106

Cliente – Servidor

(Cont…)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

107

Prestaciones de un Sistema Operativo

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

108

Prestaciones de un SO

La misión de un Sistema Operativo es la de ayudar a los usuarios en el manejo de las computadoras , para ello deberá proporcionar ciertos servicios que se pueden considerar desde dos puntos de vista.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

109

Punto de Vista del Programador

Ejecución de programa:

Facilidad para cargar un programa en memoria y ejecutarlo.
Facilidades para que un programa pueda tratar un archivo, enviar o recibir datos a un dispositivo, etc. Facilidades de uso y organización del sistema de archivos.
22/09/2011
110

Operaciones de E/S:

Gestión de Archivos:

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Punto de Vista del Sistema

Asignación de Recursos:

Mecanismos de resolución de conflictos de asignación de recursos cuando varios procesos o usuarios están compitiendo por ellos.
Control de tiempos de utilización de recursos por los usuarios para su facturación o simplemente para la obtención de estadísticas.

Contabilidad:

Protección

Defensa contra acciones no deseadas.
22/09/2011
111

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Funciones de un Sistema Operativo

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

112

Funciones de un SO

El Sistema Operativo cumple con una serie de funciones y entre ellas están:
  

Gestión de Memoria
Gestión de Procesos Gestión de Memoria Secundaria


 

Gestión de E/S
Gestión de Archivos Gestión de Integridad
22/09/2011
113

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Gestión de Memoria

Para que el programa se ejecute, los procesos de dicho programa se deben cargar en memoria. Y como se ha mencionado antes el Sistema Operativo es el encargado de hacerlo todo incluso la gestión de carga en la memoria para ejecutar los procesos y de gestionar los datos que van entrando y saliendo de la memoria del ordenador(RAM: Random Access Memory)
22/09/2011
114

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Gestión de Procesos

Se debe tener en cuenta que en el ordenador se ejecutan los programas, y que cada programa es dividido en procesos que se cargan en memoria y se ejecutan uno tras otro. El SO es el encargado de hacerlo todo, la carga de los procesos en memoria y la ejecución de dichos procesos, pues para que se ejecute un programa es necesario que el microprocesador ejecute los procesos de este.
22/09/2011
115

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Gestión de Procesos

(Cont…)

El microprocesador no hace las cosas por si solo, es el sistema operativo el que determina que proceso se debe ejecutar y cuanto tiempo debe estar ejecutándose, a todo esto se denomina Gestión de Procesos.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

116

Gestión de Memoria Secundaria

Indistintamente de que se hable de memoria principal o secundaria, el sistema necesita almacenar parte de los datos en los discos. El Sistema Operativo también se encarga de realizar todas las operaciones relacionadas con la gestión del disco, como la administración del espacio libre, donde escribir el disco, como escribir en el disco, como borrar en el disco, etc.
22/09/2011
117

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Gestión de las Entradas y Salidas

El sistema operativo debe controlar las entradas y salidas de datos como la impresora, comunicación con el exterior, etc.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

118

La Gestión de los Archivos

Es normal que se tenga que almacenar los datos en el disco. Hemos de distinguir entre como se almacenan los datos del disco, es decir donde y que espacio ocupa y como esta grabado porque eso es gestión del disco. Pero la gestión de archivos se encarga de la gestión de nombres de los archivos y su lugar cuando se han grabado, comprobar que no se repitan, etc.
22/09/2011
119

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

La Gestión de la Integridad

Hemos de tener en cuenta que cualquier programa puede aunque no sea deseable, hacer mención a recursos, direcciones y otros indebidos. Si dichos accesos no son controlados, se produciría un error que daría como origen algo que no nos podríamos imaginar (reinicio del ordenador, bloqueo, etc.)

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

120

Servicios del Usuario

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

121

Serv. Usuario: Llamadas al SO

Constituye la interface entre un programa en ejecución y el SO, estas llamadas pueden agruparse de la siguiente forma:

Gestión de Procesos


 

Gestión de E/S Gestión del Sistema de Archivos
Protección


Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

122

Serv. Usuario: Llamadas al SO
Llamada al SO

Proceso A

Proceso B

Proceso C

Procesos de Usuario

Interrupción

Fin de Llamada
Tabla de Servicios Nº de Servicios Servicio del SO

Despacho

Ejecuta rutina del SO

Núcleo del SO

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

123

Serv. Usuario: Programas del Sistema

En los Sistemas Operativos además de las funciones básicas del núcleo que pueden ser ejecutadas, existen un conjunto de programas del sistema o de utilidad cuya misión es resolver problemas comunes. Estos programas los podemos agrupar en :

Tratamiento de Archivos, Información, Editores, Ejecución, Utilidad e Interprete de comandos.
22/09/2011
124

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Serv. Usuario: Programas del Sistema
INTÉRPRETE DE COMANDOS Soporte a los lenguajes de programación
Programas de Aplicación

Usuario

Editores
Núcleo

Información de Estado

Manipulación de Archivos

Cargadores y Editores de Enlace

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

125

Servicios del Sistema

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

126

Serv. Sistema: Llamada al SO

Se puede decir que el SO es un programa activado por eventos, sin ello estará inactivo. Normalmente cada evento produciría una interrupción de la ejecución del sistema operativo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

127

Serv. Sistema: Interrupciones de los Dispositivos de E/S

Una vez que un programa en ejecución realiza una petición de E/S, se puede tomar dos tipos de acciones:

El proceso queda en espera hasta que se termine la operación de E/S. El proceso seguirá realizando operaciones.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

128

Serv. Sistema: Gestión de Excepciones

Cuando un programa en ejecución comete un error, se producirá una interrupción

A el tratamiento de estos errores se conoce como Manejo de Excepciones.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

129

Niveles de Seguridad en un Sistema Operativo
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

130

NS en un SO: En la Memoria

Los sistemas operativos tienen distintos niveles de seguridad En lo que respecta a la memoria:

Hemos dicho que los programas se cargan en la memoria, pero imaginemos que un programa hace una escritura en una zona de memoria que es de otro programa, para evitar esto el sistema operativo realiza una gestión de la memoria entre los usuarios.
22/09/2011
131

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

NS en un SO: El uso de CPU

En lo que respecta al uso del CPU

Los programas se dividen en procesos que se ejecutan en el microprocesador, pero si varios procesos intentaran ejecutarse a la vez se produciría cualquier cosa, para ello el sistema operativo controla la ejecución de los procesos, la duración de cada uno de ellos y cuando deben entrar o salir de la ejecución.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

132

NS en un SO: El uso de las E/S

En lo que respecta al uso de las Entradas y Salidas.  En realidad no es que el sistema operativo controle la E/S, aunque si lo haga cuando es necesario.  Lo que ocurre es que si hay un proceso ejecutándose en la CPU y va a imprimir en la impresora algo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

133

NS en un SO: El uso de las E/S

(Cont…)

El sistema operativo bloquea el uso de la impresora hasta que el proceso no termine con ella para que no haya otro proceso enviando información a la impresora. Porque si fuera así entonces provocaría un conflicto en la impresora y al mismo tiempo saca del procesador el proceso que estaba imprimiendo

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

134

NS en un SO: El uso de las E/S

(Cont…)

Porque sino los demás procesos tendrían que esperar a que el proceso terminará de imprimir para seguir con la CPU y entonces la CPU estaría bloqueada perdiendo tiempo inútilmente, porque el proceso consume la CPU cuando en realidad no hace nada con ella, pues está imprimiendo.

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

135

Protecciones

Los programas de aplicación de los usuarios no están exentos de errores así como tampoco están libres de usuarios con malas intenciones. Por ello el SO debe incluir ciertas funciones de protección con el objeto de evitar problemas entre procesos y el propios SO.

Protección de E/S a través de drivers o controladores.
22/09/2011
136

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Protecciones (Cont…)

Protección de la memoria usando registros fronteras
REGISTRO FRONTERA

SISTEMA OPERATIVO

PROGRAMAS DE USUARIO

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

137

Cuestionario
1.

2. 3.

4.

Señale las dos funciones principales de un Sistema Operativo. ¿Qué es la Multiprogramación? ¿Porqué no era muy común el tiempo compartido en las computadoras de la segunda generación? El modelo Cliente-Servidor es popular en los sistemas distribuidos. ¿Puede usarse también en los Sistemas de una sola computadora?
22/09/2011
138

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Cuestionario 1
1. 2.

3. 4.

5.

Describa la Arquitectura de Von Neumann Señale las dos funciones principales de un Sistema Operativo. ¿Qué es la Multiprogramación? ¿Porqué no era muy común el tiempo compartido en las computadoras de la segunda generación? El modelo Cliente-Servidor es popular en los sistemas distribuidos. ¿Puede usarse también en los Sistemas de una sola computadora?
22/09/2011
139

Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

Muchas Gracias
Ing. Haybert Escobedo N. - SISOPE - FISI - UPTP

22/09/2011

140

Sign up to vote on this title
UsefulNot useful