Download sistemas operativos 1 - hungria berbesi. Sistemas Operativos

Document related concepts

Sistema operativo wikipedia , lookup

Memoria virtual wikipedia , lookup

Proceso (informática) wikipedia , lookup

Interrupción wikipedia , lookup

Anillo (seguridad informática) wikipedia , lookup

Transcript
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA
DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL
POLITÉCNICA DE LA FUERZA ARMADA BOLIVARIANA
NÚCLEO MÉRIDA
SISTEMAS OPERATIVOS.
Profesor: Ing. Hungría Berbesí
Secciones:
703-704-705
Sistemas Operativos
Contenidos del curso.
• UNIDAD 1.- Introducción a los Sistemas de
Computación.
• UNIDAD 2.- Introducción a los Sistemas Operativos.
• UNIDAD 3.- Procesos en los Sistemas Operativos.
• UNIDAD 4.- Gestión de Memoria.
• UNIDAD 5.- Gestión de Archivos.
• UNIDAD 6.- Gestión de Entradas y Salidas.
• UNIDAD 7.- Sistemas Operativos Distribuidos.
• UNIDAD 8.- Sistemas Operativos Comerciales.
Enlaces útiles.
• http://williamstallings.com/OS/OS6e.html
• http://www.ugu.com/sui/ugu/show?I=linux.b
eginners
SISTEMAS OPERATIVOS. Tema 1
Introducción a los sistemas informáticos
• 1. INTRODUCCIÓN. El hardware y el software.
– Los bits y bytes.
• 2. Elementos básicos.
• 2.1 El procesador
– 2.1.1 Registros del procesador
– 21.2 Ejecución de instrucciones
– 2.1.3 Interrupciones
• 2.2 La Memoria
– 2.2.1.Jerarquia de memoria
• 2.3 Los dispositivos de entrada y salida.
• 2.4 Los Buses de datos
• La información en los computadores es digital
• Se compone de unidades discretas, es decir unidades
que pueden contarse.
• Los computadores solo pueden digerir información que
ha sido dividida en bits.
• Bit: binary digit, es la unidad de información mas
pequeña. Un bit solo puede tener dos valores,
encendido o apagado.
• Entrañas del computador: una colección de
microscópicos conmutadores de encendido apagado.
• Byte, un grupo de ocho bits. Un Kilobyte, 1024 bytes.
Hardware
Sistema Operativo
Librerías
Utilitarios
Interface
Hardware
Estructura física
del computador
Software
Sistema Operativo
Programas de
aplicación
Sistemas Operativos
Componentes de una computadora
PC contador de programa
IR Registro de instrucción
MAR Registro de direcciones
de memoria
MBR Registro intermedio de
memoria
I/O AR Registro de
direcciones de E/S
I/O BR Registro intermedio de
E/S
CPU Unidad central de procesamiento
Modulo de entrada y salida
Memoria Principal
Lectura y ejecución de instrucciones
• EL procesador interpreta la instrucción y realiza la acción requerida.
En general, estas acciones se pueden clasificar en:
• Procesador-memoria: Se transfieren datos del procesador a la
memoria y viceversa.
• Procesador –E-S. Se transfieren datos desde o hacia un dispositivo
periférico.
• Tratamiento de datos: EL procesador puede realizar un operación
aritmética o lógica sobre los datos.
• Control: La instrucción puede especificar que la secuencia de la
instrucción será alterada.
• La ejecución de una instrucción puede incluir una combinación de
estas accione.
Ciclo de instrucción, dos pasos, etapas de lectura y etapa de ejecución
Ciclo de instrucción incluyendo etapa de interrupción
• F
Características de una
máquina hipotética
Formato de instrucción
Registros internos de CPU
Lista parcial de operaciones
Etapa de
lectura
Etapa de Ejecución
Ejemplo de ejecución de un programa
Contenidos de memoria y registros
en hexadecimal
En este ejemplo se necesitan tres
ciclos de instrucción donde cada uno
consta de un ciclo de lectura y otro
de ejecución, para sumar el
contenido de la ubicación 940 al
contenido de la ubicación 941.
Interrupciones,
Manejador de Interrupciones
Tratamiento secuencial de interrupciones.
Manejo de interrupciones anidadas
Ejemplo de secuencia de tiempo de múltiples interrupciones
Jerarquía de Memoria
ROM: memoria lenta no volátil. Utilizada para
almacenar código de arranque, código de control
de dispositivos, etc.
EEPROM y flash: memorias lentas no volátiles
pero actualizables
CMOS: memoria volátil alimentada por batería.
Para mantener fecha y hora, y parámetros de
configuración
Jerarquía de memoria
El módulo del S.O. de gestión de memoria es el
encargado de asignar ciertas porciones de la memoria
principal a los diferentes programas, mientras el resto
de programas y datos se mantienen en los dispositivos
de almacenamiento masivo.
La forma mas común de gestión de memoria
actualmente es crear una memoria virtual utilizando los
dispositivos de almacenamiento masivo.
Es decir, los discos también se usan como una
ampliación de la memoria principal. Conocida como
memoria virtual.
Entrada/Salida
El controlador es un chip o conjunto de
chips montados en una tarjeta insertable,
que controla físicamente al dispositivo.
Un sistema de computación con un bus de datos
Diferentes buses de datos en un computador típico
Sistemas Operativos Tema 2.
Introducción a los S.O.
El Sistema Operativo es un programa o
conjunto de programas, residentes en
una computadora, que permiten un
mejor aprovechamiento de los recursos
de la misma y sirve de interfaz a los
usuarios de computadores
Hay dos funciones primordiales del SO, que
son:
Gestionar el hardware
Facilitar el trabajo al usuario
Objetivos de los sistemas operativos
Hacer posible el uso eficiente de los recursos del
sistema:
Actúa coordinando las diferentes velocidades de
funcionamiento de los dispositivos. P. E. Mas
velocidad de procesadores, mas lentitud de
periféricos.
Simplificar la operación de trabajo con el
hardware:
Generan una máquina virtual: ordenador simplificado
en el que el S. O. Carga con el trabajo de
acercamiento al hardware.
Capas y vistas de un sistema
de computación
Usuario Final
Programador
Diseñador del Sistema Operativo
Servicios que ofrece un Sistema
Operativo
Asignación de tiempo de CPU:
Planificar las diversas actividades.
Control de recursos:
Asignar recursos de forma racional. P. E. División de la
memoria del ordenador entre los programas, controlar
colas de e/s.
Control de entrada/salida:
Gestionar los datos desde y hacia los periféricos.
Control de los errores y protección:
Informar de las situaciones anómalas
Interfaz con el usuario:
Facilita el uso.
Facilidades contables:
Cálculo de costes de uso de CPU.
El sistema operativo
como administrador
de recursos
Evolución de los sistemas operativos
 Primera generación (1945-1955)
 En esta etapa no existe el concepto de sistema operativo,
todo lo debe realizar el programador, no hay un ente
software intermedio entre la máquina y el programador.

La tecnología era de Tubos al vacío y la programación era
en lenguaje de máquina.

Los recursos del sistema eran asignados a una sola tarea,
no era posible realizar tareas simultáneamente.

En el último tiempo de esta generación aparecen las
tarjetas perforadas.
 Segunda generación (1945-1955)
 En esta generación la tecnología incluye a los transistores.
 La programación se ve apoyada por la creación de
lenguajes ensambladores y lenguajes de alto
nivel como Fortran y COBOL.
 Para optimizar el tiempo de utilización de la máquina
se adoptó el Procesamiento por lotes.
 Para hacer la transferencia de los datos entre la
computadora y la cinta se construyó un programa
que se conoce como el primer sistema operativo,
que minimizó el tiempo ocioso de las computadoras.
 Tercera generación (1965-1980)
 En esta generación la tecnología corresponde a los
circuitos integrados, que permitió construir máquinas
más baratas y con mejor rendimiento.
 En esta generación aparecen los sistemas operativos
con multiprogramación.
 También aparece la técnica de Spooling (Operación
simultánea y en línea de periféricos). A medida que hay
espacio en memoria se puede pasar al siguiente trabajo.
 Aparecen los primeros sistemas de Tiempo Compartido. Se le asigna a cada proceso un tiempo fijo de utilización de CPU.
 Cuarta generación (1990- )
 Con el crecimiento de las redes de computadoras
nacen los sistemas operativos de red y sistemas
operativos distribuidos.
 En los sistemas operativos de red cada computa-dora
tiene su propio sistema operativo, pero pueden
compartir recursos.
 En los sistemas operativos distribuidos hay una integración real de los recursos, la red es transparente a
los usuarios, es decir los usuarios no necesariamente se dan cuenta que hay otras máquinas conectadas a la red.
Adelantos en los sistemas operativos
 Por lotes o Batch




Ejecuta trabajos o jobs por lotes.
El CPU en las esperas de entradas/salidas no hace nada.
Ejemplos: SCOPE y UNIVAC 1107.
Operaciones de entrada/salida
 Procesador: elemento de producción del proceso de datos
 Las operaciones de E/S son varias órdenes de magnitud más
lentas que las instrucciones del procesador.
 Para un procesador de 1 MIPS (un millón de instrucciones por
segundo) las equivalencias aproximadas serían:
 Leer un registro en el disco (a 25 ms) equivale a 25.000
instrucciones.
 Grabar un sector de diskette (a 200 ms) equivale a 200.000
instrucciones.
 Imprimir una línea de 80 caracteres (a 200 cps) equivale a
400.000 instrucciones.
 Multiprogramación

La multiprogramación es una técnica que intenta incrementar
la utilización del CPU tratando de tener siempre algo para que
el CPU lo ejecute, se reparte el procesador entre múltiples
procesos aprovechando los tiempos de espera de E/S.

El sistema operativo selecciona un proceso y lo comienza a
ejecutar, si hay una espera por E/S el sistema operativo
seleccionará otro proceso y lo ejecutará. Cuando el primer
proceso termine su espera obtendrá CPU nuevamente.

Cada proceso está ejecutándose o en espera de completar
una operación de E/S.

Siempre se ejecuta un proceso por vez (o tantos como procesadores tenga la computadora)
Multiprogramación con dos programas.
Run: ejecución
Wait: espera
 Tiempo Compartido

Utiliza calendarización de CPU y multiprogramación para
proporcionar a cada usuario una pequeña porción de una
computadora de tiempo compartido. La computadora atiende
a cada usuario durante un tiempo determinado o quantum,
cambiando rápidamente de usuario a usuario, dándoles la
impresión de que cada uno de ellos tiene el control absoluto
de la computadora, mientras que en realidad es compartida
entre muchos usuarios.

Así como en sistemas batch se ejecutaban trabajos, aquí se
ejecutan programas de usuarios.
Tiempo Compartido
Terminal
Procesador
Terminal
Terminal
PROCESOS. Tema 3
Definiciones
•Un proceso es un programa en ejecución.
•Una instancia corriendo de un programa
(funcionando)
•La entidad que puede ser asignada ejecutada
por el procesador.
•Una unidad de actividad caracterizada por una
secuencia de instrucciones, un estado actual y
un conjunto de instrucciones.
Elementos de un proceso
•Identificador
•Estado
•Prioridad
•Contador de programa
•Datos del contexto
•Información de entrada_salida
•Información de contabilidad del sistema
Bloque de control de un proceso
Implementación típica de un proceso
Contiene los elementos del
proceso
Es creado y manejado por el
sistema operativo
Permite soporte para múltiples
procesos
Modelo de 2 estados de procesos
En el modelo de dos estados, el proceso puede estar ejecutándose o no ejecutándose
Los procesos no ejecutándose están en una cola
MODELO DE 5 ESTADOS DE PROCESO
Ocurre suceso
Espera suceso
Nuevo, listo, bloqueado, ejecutándose y terminado
Listo: el proceso está en la memoria principal y listo para ejecución.
Bloqueado: el proceso está en memoria principal esperando por un suceso
Varias colas de bloqueados
Suspensión de procesos
Intercambio: significa mover una parte del proceso o todo el
proceso de la memoria principal al disco magnético. Cuando
ninguno de los procesos en memoria principal está en estado
listo, el sistema operativo pasa al disco uno de los procesos que
esté bloqueado y lo lleva a una cola de suspendidos.
Cuando el sistema operativo haya realizado una operación de
intercambio de un proceso al disco, tendrá dos opciones para
seleccionar el proceso que va a traer a memoria: puede admitir
un proceso recién creado o puede traer un proceso suspendido
previamente
Con un estado de suspensión.
Modelo de estados con un estado de suspensión.
Con dos estados de suspensión.
Modelo de estados con dos estados de suspensión.
Memoria
Dispositivos
Archivos
Procesos
Tabla primaria de procesos
Estructura general de las tablas de control de un sistema operativo
Si el sistema operativo va a administrar los procesos y
los recursos, entonces tiene que disponer de
información sobre el estado actual de cada proceso y
de cada recurso.
El método universal para obtener esta información es
sencillo, el sistema operativo construye y mantiene
tablas de información sobre cada entidad que está
administrando.
Modos de ejecución
Modo usuario: modo menos privilegiado, los
programas de usuario generalmente ejecutados en
este modo.
Modo sistema, núcleo, o modo control: Modo mas
privilegiado, modo de ejecución del sistema operativo
Relación entre el sistema operativo y los
procesos de usuario.
HILOS , SUBPROCESOS
Proceso: Unidad de propiedad de recursos. Un proceso
incluye un espacio de direcciones virtuales para mantener la
imagen del proceso, y de cuando en cuando, al proceso se le
puede asignar el control o la propiedad de recursos.
Unidad de expedición: la ejecución de un proceso sigue
un camino de ejecución, a través de uno o mas
programas. Esta ejecución puede ser intercalada con
otros procesos. De este modo, un proceso tiene un
estado de ejecución, una propiedad de expedición; y
además es la unidad planificada y expedida por el sistema
operativo.
Una unidad de expedición, un subproceso o hilo.
Relación entre hilos y procesos.