Contenido Programtico
Objetivo General
Describir los modelos que caracterizan la estructuracin de un
sistema operativo as como el diseo, construccin, modificacin y mantenimiento de aplicaciones inherentes a los sistemas operativos.
Unidad I. Introduccin a los Sistemas Operativos Unidad II. Procesos Unidad III. Entrada / Salida (I/O) Unidad IV. Administracin de Memoria Unidad V. Sistemas de Archivos
Unidad I. Introduccin a los Sistemas Operativos Objetivo Especfico Definir la evolucin histrica, los aspectos bsicos, tipos y funciones de los sistemas operativos Contenido 1.1 Definicin de Sistema Operativo 1.2 Resea Histrica de los Sistemas Operativos 1.3 Clasificacin de los Sistemas Operativos 1.4 Conceptos Bsicos manejados en un Sistema Operativo 1.5 Concurrencia
Unidad I. Introduccin a los Sistemas Operativos
6 horas
1.1 Definicin de Sistema Operativo
Conjunto de programas que permiten que sea usable una computadora. (Torres, 2001, p. 15)
Conjunto de programas implementados en Software que hacen posible que se use el Hardware. (Torres, 2001, p. 15) Una computadora (solo el Hardware) por si misma no hace nada (mquina desnuda), necesitar para ello una serie de programas que permitan su cmodo manejo y utilizacin (vestir la mquina) conocido como Sistema Operativo.
Unidad I. Introduccin a los Sistemas Operativos
1.1 Definicin de Sistema Operativo
Programas que controlan la ejecucin de las aplicacin y que acta como interfaz entre el usuario de una computadora y el Hardware de la misma. (Stallings, 2001, p. 47)
Objetivos Hacer que el sistema computacional se use de manera cmoda.
Emplear los recursos del sistema computacional de manera
eficiente.
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Primera Generacin 1945-1955
1940
1950
1960
1970
1980
1990
presente
Existan mquina enormes que ocupaban cuartos enteros con decenas de tubos al vaco Solo un grupo de personas diseaba, construa, programaba, operaba y mantena a cada mquina No existan prcticamente sistema operativo No existan lenguajes de programacin Toda la programacin se realizaba en lenguaje de mquina absoluto, alambrando tableros de conmutacin para controlar las funciones bsica de la mquina
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Primera Generacin 1945-1955
La forma de operacin usual consista:
1940
1950
1960
1970
1980
1990
presente
El programador se anotaba para recibir un bloque de tiempo para trabajar Al momento de trabajar se diriga al cuarto de la mquina Insertaba se tablero de conmutacin en la mquina Pasaba las siguientes horas de trabajo con la esperanza de que ninguno de los 20.000 tubos de vaco se quemara durante su sesin
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Primera Generacin 1945-1955
1940
1950
1960
1970
1980
1990
presente
Prcticamente todos los problemas eran clculos numricos directos, como por ejemplo la produccin de tablas de senos y cosenos.
A principios de los 50s, la rutina haba mejorado un poco con la introduccin de las tarjetas perforadas.
Ahora era posible escribir programas en tarjetas e introducirlas para ser ledas, en lugar de usar tableros de conmutacin.
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Segunda Generacin 1955-1965
1940
1950
1960
1970
1980
1990
presente
Se introdujo el trmino de Sistema Operativo por Lote (Batch OS). El principio de los Sistema Operativo por Lote consista juntar un serie de trabajos escritos (Fortran o ensamblador) en tarjetas perforadas y obtener salidas impresas en papel.
programadores traen tarjetas a la (fuera lectora El operador llevaLos la El cinta operador a la impresora lleva la cinta para al imprimir computador de lnea) la salida
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Segunda Generacin 1955-1965
1940
1950
1960
1970
1980
1990
presente
La idea central dentro del esquema del proceso por lote (batch) era el uso de un elemento de Software conocido como Monitor.
(Stallings, 2001, p. 52)
Todos trabajos se agrupaban secuencialmente y se ubicaban en el dispositivo de entrada (ejemplo una unidad de cinta magntica) para su empleo por parte del Monitor.
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Segunda Generacin 1955-1965
Tratamiento de Interrupciones Monitor Controladores de Dispositivos Secuenciamiento de Trabajos
1940
1950
1960
1970
1980
1990
presente
Disposicin de la memoria con un monitor residente
el control se le pasa al trabajo
Intrprete del Lenguaje de Control
Zona del Programa de Usuario
el control vuelve al monitor Monitor gestiona la planificacin
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Segunda Generacin 1955-1965 JCL, Job Control Language
1940
1950
1960
1970
1980
1990
presente
Marca el final del trabajo Datos del programa Ordena al SO ejecutar el programa con los datos que siguen Ordena al SO cargar el programa objeto recin compilado Programa por compilar Ordena al SO leer el compilador de FORTRAN Especifica el tiempo de ejecucin mximo en minutos, numero de cuenta a cobrar, programador
$END $RUN
$LOAD $FORTRAN
$JOB 10,6957547, joseordaz
Singo $ al comienzo denota instrucciones de control de trabajo
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Tercera Generacin 1965-1980
1940
1950
1960
1970
1980
1990
presente
Los sistemas operativos se caracterizaban por manejar Multiprogramacin, Independencia de Dispositivos, Tiempo Compartido y Tiempo Real. (Torres, 2000, p. 16)
trabajo x
leer un registro ejecutar 100 instrucciones 0,0015 seg. 0,0001 seg. cpu E/S E/S
escribir un registro
TOTAL
0,0015 seg.
0,0031 seg.
trabajo x
Porcentaje de Utilizacin de la CPU = 0,0001/0,0031 = 0,032 = 3,2 %
Ocio en la CPU
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Tercera Generacin 1965-1980
1940
1950
1960
1970
1980
1990
presente
Se tena que hacer algo para que evitar que la CPU estuviera ociosa tanto tiempo.
Solucin:
Dividir la memoria en varias secciones, con un trabajo distinto en cada seccin (multiprogramacin).
Trabajo 4 Trabajo 3 Trabajo 2 Trabajo 1 Sistema operativo Particiones de memoria
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Tercera Generacin 1965-1980
1940
1950
1960
1970
1980
1990
presente
spooling
E/S CPU
trabajo 4 Multiprogramacin en Sistemas Operativos Por Lotes (Batch) trabajo 3 trabajo 2 trabajo 1
Disminuye el tiempo ocioso en la CPU Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Tercera Generacin 1965-1980
1940
1950
1960
1970
1980
1990
presente
Otro aspecto importante de los Sistemas Operativos de esta generacin era la capacidad de leer trabajos de la tarjetas al disco tan pronto se llevaban al cuarto de computadoras.
Cada vez que un trabajo terminaba su ejecucin, el sistema operativo cargaba uno nuevo del disco y lo asignaba a una seccin vaca de memoria para ejecutarlo. (spooling, operacin simultnea de perifricos en lnea).
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Tercera Generacin 1965-1980
1940
1950
1960
1970
1980
1990
presente
Uno de los acontecimientos ms importante de esta generacin fue la creacin del proyecto para el diseo del sistema operativo Unix por Ken Thompson y Denis Ritchie
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Cuarta Generacin 1980 - Presente
1940
1950
1960
1970
1980
1990
presente
Surge a raz de los circuitos integrados los circuitos LSI (Large Scale Integration, Integracin a Grande Escala). Los LSI son chips que contienen miles de transistores en un centmetro cuadrado de silicn. La era de la computadora personal vio sus inicios. Donde la minicomputadora haca posibles que un departamento de una compaa o universidad tuviera su propio computador, el chip LSI hizo posible que una individuo tuviera su propio computador personal.
Unidad I. Introduccin a los Sistemas Operativos
1.2 Resea Histrica de los Sistemas Operativos Evolucin de los Sistemas Operativos
Cuarta Generacin 1980 - Presente
1940
1950
1960
1970
1980
1990
presente
Surgimiento de la industria de desarrollo de software amable con el usuario
Dirigido a usuarios que no conocan nada acerca de las computadoras y adems no tenan la menor intencin de aprender.
Unidad I. Introduccin a los Sistemas Operativos
1.3 Clasificacin de los Sistemas Operativos
Ejecucin de una sola tarea en el computador S.O. Monoproceso
Ejecucin de mas de una tarea a la vez S.O. Multiproceso
Sistemas interactivos con respuestas al usuario S.O. OnLine
Sistema Operativo
Interaccin con un solo usuario en el sistema
IDEAL ?
S.O. Monousuario
Interaccin de varios
Sistemas no interactivos de ejecucin de mltiples tareas S.O. Lotes (Batch) usuarios con el computador S.O. Multiusuario
Unidad I. Introduccin a los Sistemas Operativos
1.4 Concepto Bsicos manejados en un Sistema Operativo
Shell (Intrprete de comandos)
Interfaz primaria entre un usuario situado frente a su terminal y
el sistema operativo. Emplea la terminal o cnsola como entrada y como salida estndar.
Indica que est esperando la solicitud de entrada
$ date
La fecha actual es: 28/07/2005 Introduzca la nueva fecha:
El Shell crea un proceso derivado y
ejecuta el programa date. Mientras se ejecuta el proceso derivado, el Shell espera a que ste termine El resultado se enva a la salida estndar
o se puede redirigir
Unidad I. Introduccin a los Sistemas Operativos
1.4 Concepto Bsicos manejados en un Sistema Operativo
Llamadas al Sistema
Proporcionan la interfaz entre un proceso y el sistema
operativo. Los lenguajes de programacin como C, C++ y Perl permite hacer llamadas al sistema de manera directa.
Llamadas invocadas desde un programa hecho en C o C++ Llamadas invocadas desde la interfaz de programacin de aplicaciones (API) Llamadas invocadas desde JAVA????
Unidad I. Introduccin a los Sistemas Operativos
Unix Windows
1.4 Concepto Bsicos manejados en un Sistema Operativo
Llamadas al Sistema
Se pueden agrupar en cinco (5) categoras:
Control de Proceso android
Manipulacin de archivos linux Manipulacin de dispositivos macos
Mantenimiento de informacin Comunicaciones windows
Unidad I. Introduccin a los Sistemas Operativos
1.4 Concepto Bsicos manejados en un Sistema Operativo
Kernel (Ncleo)
Se define como el componente principal de cualquier sistema
operativo. Es la parte del Sistema Operativo que trabaja y manipula directamente el hardware de un computador.
programas de usuario Shell Sistema Operativo Editores Bibliotecas Compiladores Kernel
Hardware
Unidad I. Introduccin a los Sistemas Operativos
1.4 Concepto Bsicos manejados en un Sistema Operativo
Programas de Usuario Nivel de Usuario Nivel de Ncleo bibliotecas
Interfaz de Llamadas al Sistema
Subsistema de Archivos Cach de Buffers Caracteres Bloques Subsistema de Control de Procesos
Comunicacin entre procesos Planificador Gestin de Memoria
Controladores de dispositivos
Nivel de Ncleo Nivel del Hardware
Control de hardware
Hardware
Unidad I. Introduccin a los Sistemas Operativos
1.5 Concurrencia
Gestin de varios procesos en un sistema monoprocesador Gestin de varios procesos en un sistemas de computadores mltiples o remotas
Gestin de varios procesos en un sistema multiprocesador
Multiprogramacin
Multiproceso
Multiproceso
Concurrencia
Punto clave de estos tres trminos para el diseo de
Sistemas Operativos
Unidad I. Introduccin a los Sistemas Operativos
1.5 Concurrencia
Definicin
La
caracterstica
que
tiene
los
Sistemas
Operativos
multiproceso, multiprogramados para permitir la ejecucin de mas de un proceso A LA VEZ.
Sistema Operativos Procesadores Uno (1)
Concurrencia
SeudoParalelismo
Caracterstica Intercalacin
Multiproceso
Monoprocesador
Multiproceso Dos (2) o ms Multiprocesador Paralelismo Intercalacin Superposicin
Unidad I. Introduccin a los Sistemas Operativos
1.5 Concurrencia
Proceso 1
Proceso 2
Proceso 3
un (1) procesador
tiempo
un solo proceso es atendido a la vez
Proceso 1 Proceso 2 Proceso 3 tiempo
ms de un proceso es atendido a la vez
dos (2) procesadores
Unidad I. Introduccin a los Sistemas Operativos
Bibliografa
TANENBAUM, [Link] (1988) Sistemas Operativos. SILBERSCHATZ, A., P., GALVIN, y GAGNE, [Link]. (2002) CARRETERO, J., GARCA, F. y P. PREZ, F. (2002) CARRETERO, J., MIGUEL, GARCA, F. y PREZ, F. TORRES, J. (2001) Conceptos de Sistemas STALLINGS, W. (2000) Sistemas Operativos. Espaa. Diseo e Implementacin. Mexico. Prentice Hall. Sistemas Operativos. Mexico. Limusa Wiley. Sistemas Operativos. De la base al Diseo. (2001) Sistemas Operativos. Una Visin Aplicada. Teora y Prctica. Mexico. Trillas. Prentice Hall. Espaa. Graw Hill. Espaa. Mc Mc Graw Hill.
Lecturas Recomendadas
Historia de los sistemas operativos. pp. 6-14
Que es un Sistema Operativo. pp. 34-44
Funciones
Objetivos
de
los
Sistemas
Operativos. pp. 47-62
Historia de los Sistemas Operativos. Pgina Web disponible en:
[Link]/tutoriales/tutorial/[Link]
Historia y Evolucin de los Sistemas Operativos. Pgina Web disponible en: [Link]/[Link]/Historia_ y_evoluciOn_de_los_sistemas_operativos.htm
Bsquedas en