SlideShare a Scribd company logo
1 of 92
Download to read offline
PLATAFORMAS TECNOLOGICAS
Phd(c) Richard Eliseo Mendoza Gáfaro
Docente
FICHA TECNICA
Facultad Ingenierías y Arquitectura
Departamento Eléctrica, Electrónica, Sistemas y Telecomunicaciones
Programa Ingeniería de Sistemas
Curso Plataformas Tecnológicas
Código 167404
Área Tecnologías de la Información y las Comunicaciones
Requisitos 167401
Correquisitos
Créditos 3
Tipo de Curso Teórico Práctico
Fecha última
Actualización
Enero 27 de 2021
Palabras Claves Sistemas operativos, virtualización, linux, windows
JUSTIFICACION
Los sistemas operativos son un componente esencial de todo sistema de
computación, por ende esta asignatura es uno de los pilares
fundamentales del programa de Ingeniería de Sistemas. Los conceptos y
evolución de los sistemas operativos están relacionados con el desarrollo
de hardware y han influido en el desarrollo de nuevos modelos y sistemas
computacionales.
Entender y recapacitar acerca del funcionamiento de los sistemas
operacionales dará al estudiante de las ciencias computacionales una
visión global y una mejor comprensión de la interrelación entre los
diversas partes de un sistema computacional.
OBJETIVOS GENERAL Y ESPECIFICOS
Desarrollar habilidades en sistema operativo para la identificación de los
aspectos más relevantes en el diseño e implementación de los mismos
mediante técnicas y marcos de referencia sobre plataformas tecnológicas.
OBJETIVOS ESPECIFICOS
Conocer los componentes de un sistema operativo, su estructura y
organización
Estudiar las principales funciones que realiza todo sistema operativo, las
estrategias y algoritmos empleados para manejo de recursos
Conocer la incidencia del hardware sobre el diseño de sistemas
operacionales
Manejar vocabulario técnico en términos de sistemas de acuerdo al marco
de referencia sobre sistemas operativos
COMPETENCIAS ESPECIFICAS
Capacidad de comprender los fundamentos teóricos de gestión de
procesos, gestión de memoria y gestión de almacenamiento en la solución
de problemas asociado con los sistemas operativos utilizando técnicas y
marcos de referencia sobre computación
Capacidad de aplicar la programación de hilos en la solución de problemas
asociado con la memoria compartida utilizando técnicas y marcos de
referencia sobre los sistemas de memoria compartida
Capacidad de aplicar la programación de procesos en la solución de
problemas asociado con la memoria distribuida utilizando técnicas y
marcos de referencia sobre los sistemas de memoria distribuida
Capacidad en asesorar en soluciones de conectividad, protección y
seguridad a pequeñas empresas
COMPETENCIAS BASICAS
Capacidad de análisis y síntesis.
Habilidad para buscar y analizar información proveniente de fuentes
diversas.
Habilidad de aprender a aprender
Habilidad para el trabajo en equipo
Habilidad para la resolución de problemas
Habilidad en el uso de las TIC
COMPETENCIAS BASICAS
Conocer los componentes de un sistema operativo, su estructura y
organización
Estudiar las principales funciones que realiza todo sistema operativo, las
estrategias y algoritmos empleados para manejo de recursos
Conocer la incidencia del hardware sobre el diseño de sistemas
operacionales
Manejar vocabulario técnico en términos de sistemas de acuerdo al marco
de referencia sobre sistemas operativos
CONTENIDOS PROGRAMATICOS
UNIDAD 1 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
Definición y conceptos de sistema operativo
Estructura de un sistema de cómputo
Estructura de un sistema operativo
UNIDAD 2 GESTIÓN DE PROCESOS
Procesos
Hilos
Planificadores de procesos
Sincronización de procesos
Interbloqueo
CONTENIDOS PROGRAMATICOS
UNIDAD 3 GESTIÓN DE LA MEMORIA
Memoria principal
Memoria virtual
UNIDAD 4 GESTIÓN DE ALMACENAMIENTO
Estructura de almacenamiento masivo
Interfaz del sistema de archivos
Implementación del sistema de archivos
Sistemas de Entrada/Salida
UNIDAD 5 TÓPICOS AVANZADOS
Máquinas virtuales
Introducción a los sistemas distribuidos
Introducción a los sistemas clustered
METODOLOGIA Y SISTEMA DE EVALUACION
De acuerdo a la naturaleza de la asignatura y a la forma en que el docente
decida desarrollo de contenidos, el Proyecto Educativo del Programa -PEP
define diferentes opciones de metodología a implementar.
Por Pandemia, se usa Ms Teams para las clases sincrónicas y para las
clases asincrónicas Moodle.
EVALUACION
El sistema de evaluación se rige por los lineamientos establecidos en el
reglamento académico estudiantil, Acuerdo No.186 02 de diciembre de
2005, Artículo 30 que define los tipos de evaluación y artículo 32 que
reglamenta su aplicación.
BIBLIOGRAFIA
FLYNN, Ida N. Sistemas Operativos. International Thomnson Editores. 2001
MILLENKOVIC Milan, Sistemas operativos, conceptos y diseño, McGraw
Hill. 1.998
RUEDA , Francisco, Sistemas Operativos, Mc Graw Hill. 1.989
TANENBAUM, Andrew , Sistemas operativos distribuidos, Prentice-Hall.
1.996
TANENBAUM, Andrew , Sistemas operativos modernos, Prentice-Hall.
1.993
ANENBAUM, Andrew , Sistemas operativos diseño e implementación,
Prentice-Hall. 1.996
INTRODUCCION A LOS SISTEMAS OPERATIVOS
Phd(c) Richard Eliseo Mendoza Gáfaro
Docente
Agenda
Sistemas Operativos | Curso 2015 | Introducción 2/23
Introducción a los sistemas operativos.
Evolución histórica de los sistemas operativos:
!Sistemas por lotes.
!Sistemas por lotes multiprogramados.
!Sistemas de tiempo compartido.
!Computadores personales.
!Sistemas paralelos.
!Sistemas de tiempo real.
!Sistemas multimedia.
!Sistemas virtuales.
!Sistemas de mano.
HISTORIA DE LOS SISTEMAS OPERATIVOS
Introducción
• Es un programa
• Funciona como intermediario entre el usuario y los programas y el
hardware
Sistemas Operativos | Curso 2015 | Introducción 2/23
¿QUÉ ES UN SISTEMA OPERATIVO?
INTRODUCCIÓN
Metas
!Brindar un entorno para que los usuarios puedan ejecutar programas
en forma conveniente
!Brindar un entorno para que los programas usen el hardware con
facilidad Administrar el hardware de forma eficiente y equitativa
!Proveer un entorno sin interferencias a cada usuario
Todas las aplicaciones requieren un conjunto de operaciones comunes
que son incorporadas al sistema operativo.
Funciones básicas:
! Administración de procesos
! Manejo de interrupciones
! Administración de memoria
! Manejo del sistema de archivos
! Administración de seguridad
! Control de entrada/salida
Sistemas Operativos | Curso 2015 | Introducción 2/23
INTRODUCCIÓN
Sistemas Operativos | Curso 2015 | Introducción 2/23
El sistema operativo es un Administrador de recursos:
• Administra todos los recursos disponibles.
•Decide como asignar estos recursos según los pedidos
y asignaciones que tenga.
Programa de control y abstracción del hardware:
•Controla la ejecución de los programas para la
prevención de errores y mal uso del sistema.
•Implementa funciones comunes de acceso al
hardware.
Frecuentemente, la porción residente del propio sistema
operativo se denomina núcleo del sistema (kernel).
Sistemas Operativos |
Curso 2015 | Introducción
12/23
Sistemas Operativos |
Curso 2015 | Introducción
12/23
Sistemas Operativos |
Curso 2015 | Introducción
12/23
Sistemas Operativos |
Curso 2015 | Introducción
12/23
1945 &1957 1971&Presente Presente Futuro
Primera
generación
Ábaco
Pas calina
Padre de la
Computadora
William B.
Shockley
Transistor
Tercera
Generación
CDC 6000
Se le introdujo la
serie 6600 una de las
mas rápidas
1957&1963 1964 &1971
Maquinas grandes
pasan a ser parte del
diseño de la pc
Cuarta
Generación
En 1976 Steve
Wozniak y Steve
Jobs Crean la
primera
microcomputador
a de uso masivo.
Quinta Generación
El termino quinta
generación fue acuñado
por los japoneses para
describir las potentes e
"inteligentes"
computadoras que
deseaban producir a
mediados de los noventa.
PERSPECTIVA HISTÓRICA:
SISTEMAS BATCH ('70)
• En las primeras épocas los sistemas eran
grandes y costosos.
• Constaban de un entrada de trabajos o
cola y una salida impresa.
• Prácticamente no había interacción
alguna con el usuario.
• La función principal era la del cargador
(loader) de programas y soporte de
entrada/salida (E/S) a dispositivos
(operaciones comunes).
• El sistema soportaba un único trabajo a
la vez.
PERSPECTIVA HISTÓRICA:
SISTEMAS BATCH ('70)
• Lectora de Entrada ‹ Proceso ‹ Salida y resultado
• Las tareas relacionadas, se agrupaban en conjuntos de trabajos o
lotes (batches) para su procesamiento más eficiente.
• Con el advenimiento de los discos se comenzó a realizar el spool
de los dispositivos haciendo más rápidas las operaciones e
introduciendo por primera vez el solapamiento o concurrencia de
operaciones.
• spool = Simultaneous Peripheral Operations On-Line
• El spooler es un buffer donde se guardan datos a la espera de su
procesamiento por un dispositivo más lento
• El recurso más caro de la época era el procesador (CPU), que
tenía un bajo porcentaje de utilización.
Perspectiva histórica:
BATCH MULTIPROGRAMADO ('80)
• Fue una mejora a los sistemas batch en los comienzos de la
década del 80
• El disponer de un conjunto de trabajos (pool de jobs) en memoria
secundaria y la implementación de técnicas de multiprogramación
permitió desarrollar técnicas de planificación de despacho (job
scheduling) así como de multiprogramación.
• El sistema debía seleccionar un subconjunto de trabajos o lotes
(jobs) que estaban en memoria secundaria para cargar en
memoria principal.
• El sistema operativo seleccionaba un trabajo para ejecutar.
Cuando el trabajo seleccionado debía esperar por alguna tarea
(p. ej.: ejecución de una E/S), el sistema elegía otro para utilizar
el procesador.
PERSPECTIVA HISTÓRICA:
BATCH MULTIPROGRAMADO ('80)
• Todo esto implicó el desarrollo
de técnicas incipientes para el
manejo de la memoria, ya que
había que compartirla entre
todos los trabajos.
• L a m u l t i p r o g r a m a c i ó n
incrementa la utilización del
recurso procesador.
PERSPECTIVA HISTÓRICA:
SISTEMAS DE TIEMPO COMPARTIDO ('80)
Los sistemas batch multiprogramados no tenían interacción con el
usuario además de un tiempo de retorno (turnaround time)
extenso.
El debug de un programa seguía siendo tortuoso (dump de la
memoria). Sistemas de tiempo compartido, ejecutan programas en
forma concurrente con una elevada tasa de despacho de procesador
(context switch) de forma tal de permitir que usuarios interactúen
directamente con el sistema como si fueran su único usuario.
Se debe combinar multiprogramación con técnicas de planificación
de CPU (scheduling) para proveer a cada usuario con una porción
adecuada del sistema.
Los sistemas de tiempo compartido (time sharing systems) son una
extensión lógica de los sistemas multiprogramados.
PERSPECTIVA HISTÓRICA:
SISTEMAS DE TIEMPO COMPARTIDO
('80)
! Los usuarios utilizaban terminales para implementar la interacción y
eran atendidos por un intérprete de comandos (multiusuarios).
! La interacción era un resultado de la transmisión carácter a carácter.
Todos los usuarios creían tener el computador a su disposición.
! Si bien un procesador ejecuta un único proceso por vez, el despacho
del mismo 30 ó 40 veces por segundo entre diferentes tareas, le
brinda a los usuarios la sensación de que está para su uso exclusivo.
! Este intercambio es tan frecuente que el usuario puede interactuar
con su trabajo con total comodidad.
! La necesidad de acceder y actualizar datos en forma concurrente,
creó la necesidad de evolucionar el sistema de archivos a uno
multiusuario, incorporando técnicas de protección y serialización del
acceso.
PERSPECTIVA HISTÓRICA:
SISTEMAS DE TIEMPO COMPARTIDO ('80)
También apareció el problema de que los usuarios podrían ver la
memoria de los procesos de otros usuarios
En estas condiciones, los procesos deben contar con la memoria y
procesador necesarias para su ejecución eficiente dando forma a los
requerimientos de los sistemas operativos de hoy día.
Comenzó a aparecer la idea de la memoria virtual
• Los procesos ven un espacio de memoria virtual que el sistema
operativo se encarga de mapear a la memoria física
• Permite que varios procesos corran juntos si en memoria sin
requerir modificaciones
PERSPECTIVA HISTÓRICA:
COMPUTADORAS PERSONALES ('80)
• Con costos de hardware decrecientes fue posible el diseño
y uso de computadores personales.
• El sistema era diseñando en base a que sería dedicado a un
único usuario.
• Con en un principio modestos recursos de procesador, el
énfasis y desarrollo estuvo por mejorar la interfase con el
usuario.
• Para ello el sistema operativo debió maximizar la habilidad
de interacción con el usuario en vez de uso de CPU, etc.
• La interfase de comandos habitual y diseñada para técnicos
fue sustituida por la interfaz de ventanas que hoy
conocemos.
PERSPECTIVA HISTÓRICA:
COMPUTADORAS PERSONALES ('80)
• Se introdujeron nuevos dispositivos que mejoran la interacción
con el usuario (audio, ratón, video, micrófono, cámara, disquete,
etc.).
• Finalmente, los PC invadieron el ambiente empresarial al ser
dispuestos en red. Para ello, utilizando sistemas homogéneos y
servidores con habilidades específicas de impresión, base de
datos, sistema de archivo, seguridad, correo, etc.
• Esta es la disposición reciente dónde las aplicaciones se
implementan en modalidad cliente-servidor.
PERSPECTIVA HISTÓRICA:
SISTEMAS PARALELOS ('90)
Desde comienzos de los 90, acompañando el desarrollo del hardware
Sistemas donde se dispone de más de un procesador permiten la
ejecución simultánea y sincronizada de más de un proceso.
Se clasifican en:
• Sistemas altamente integrados (tightly coupled). Son sistemas en
donde los canales de interconexión son de alta velocidad (bus común
o memoria compartida).
• Sistemas poco integrados (loosely coupled). Sistemas en donde los
canales de interconexión son de baja velocidad relativa. Sistemas en
red.
PERSPECTIVA HISTÓRICA:
SISTEMAS PARALELOS ('90)
Taxonomía de Flynn (1972):
Caracterizó las arquitecturas de computadores y sobre que
datos se están aplicando:
SISD (Single Instruction, Single Data): Una arquitectura
secuencial donde no existe paralelismo. (Sistemas
monoprocesadores).
SIMD (Single Instruction, Multiple Data): Sistemas que
ejecutan la misma instrucción sobre un conjunto distinto de
datos (Sistemas vectoriales).
MISD (Multiple Instruction, Single Data): Utilizado para
paralelismo redundante.
MIMD (Multiple Instruction, Multiple Data): Sistemas con
procesadores autónomos que ejecutan en forma simultanea
diferentes instrucciones sobre diferentes datos.
PERSPECTIVA HISTÓRICA:
SISTEMAS PARALELOS ('90)
Dentro de los sistemas MIMD se suelen hacer dos divisiones:
• Sistemas de memoria compartida: Son sistemas donde
los procesadores coexisten en un único nodo o en un
sistema altamente integrado. Escalan poco debido a que
el acceso a memoria desde los procesadores se convierte
en un “cuello de botella”.
• Sistemas de memoria distribuida: Son sistemas donde los
nodos son independientes que se interconectan a través
de una red de alta velocidad. Escalan a miles de
procesadores.
Perspectiva histórica: Sistemas
paralelos ('90)
Perspectiva histórica: Sistemas
paralelos ('90)
PERSPECTIVA HISTÓRICA:
SISTEMAS MULTIPROCESADORES('90)
Sistemas asimétricos:
• Al surgir los sistemas multiprocesadores los núcleos de
los sistemas operativos se modificaron para soportar
este tipo de sistema. La forma más sencilla fue asignar
la ejecución de código del núcleo a un único procesador.
• De esta forma, los sistemas operativos no tenían que
lidiar con la programación concurrente, ya que su código
estaba restringido a ejecutarse en un único procesador.
• Posteriormente, se empezó a asignar ciertas tareas a
otros procesadores, generando una jerarquía entre ellos.
PERSPECTIVA HISTÓRICA:
SISTEMAS MULTIPROCESADORES ('90)
Sistemas simétricos:
• Al avanzar el diseño de los sistemas operativos se desarrollaron sistemas en
donde el código del núcleo se dispone en la memoria común y puede ser
ejecutado por cualquier procesador. Se pierde la jerarquía de los sistemas
asimétricos y todos los procesadores pasan a ser simétricos.
• Pasó a ser una necesidad crítica que el núcleo sea reentrante. Los
proveedores debieron rediseñar totalmente sus sistemas.
• El código del sistema operativo, al igual que el ancho de banda de la
memoria, se transforman en recursos críticos, que determinan la escalabilidad
del sistema.
Dentro de los sistemas multiprocesadores se los caracteriza en dos tipos:
Sistemas UMA (Uniform Memory Access):
•Acceso uniforme a la memoria. Cada procesador accede a cualquier lugar de memoria
con el mismo costo en cuanto al tiempo.
Sistemas NUMA (Non-Uniform Memory Access):
•Acceso no uniforme a la memoria. Los procesadores tienen conjuntos de memoria a la
cual acceden más rápido que el resto.
PERSPECTIVA HISTÓRICA:
SISTEMA DE TIEMPO REAL ('00)
• En sistemas de este tipo estricto, todo resultado debe producirse
en un cierto tiempo, o de lo contrario el sistema falla.
• En la práctica, un sistema de tiempo compartido con prioridades
dinámicas y despacho preemptivo en general puede ser utilizado
en estas condiciones.
Dos tipos
Hard
•Todas las demoras del sistema deben estar acotadas
•En general no se usa almacenamiento secundario en disco
•Sistemas especializados
Soft
•Sistemas de propósito general con procesos de tiempo real con mayor prioridad
•No son tan estrictos como los otros pero pueden combinar otros procesos de
menor prioridad
PERSPECTIVA HISTÓRICA
Sistemas multimedia
Sistemas especializados en la incorporación de datos multimedia (audio y
video).
Estos tipos de datos deben reproducirse bajos ciertas restricciones de tiempo a
los usuarios.
Sistemas virtuales
Sistemas que corren como aplicaciones de otros sistemas operativos.
Permiten mover un sistema de un hardware a otro sin detenerlo.
Sistemas de mano
Estos utilizan sistemas operativos embebidos que tienen limitaciones de
recursos y altos requerimientos de prestaciones.
Actualmente se parecen cada vez más a computadores personales y usan
sistemas operativos similares.
Sistemas en la nube
Toda la infraestructura del sistema se encuentra en un centro de datos remoto
Usan virtualización como forma de implementación
Formando líderes para la construcción
de un nuevo país en paz
ESTRUCTURA DE UN SISTEMA OPERATIVO
Phd(c) Richard Eliseo Mendoza Gáfaro
Docente
Agenda
52
Componentes de un sistema:
–
–
–
–
Introducción.
CPU (procesador).
Memoria.
Dispositivos de Entrada/Salida (IO).
§ Protección de hardware:
–
–
–
–
Modo dual. Protección de
E/S.
Protección de Memoria.
Protección de CPU.
§ Red:
–
–
–
Local Area Networks.
Wide Area Networks.
Topologías de red.
Componentes de un sistema
53
Sistemas Operativos | 2017
CPU (procesador)
– Unidad central de procesamiento. Permite ejecutar
un conjunto de instrucciones. Su velocidad es varios
órdenes mayor con respecto al acceso a la
memoria.
Memoria
– Permite mantener la información disponible. Existe
una jerarquía de memoria: registros, caches,
memoria física de tipo RAM (Random Access
Memory), dispositivos magnéticos, ópticos.
Dispositivos de Entrada/Salida (IO)
– Permiten interactuar con el sistema. Algunos
dispositivos más comunes: impresoras, teclados,
ratón, video, disco, red, etc.
Componentes de un sistema
Esquema gráfico:
54
Sistemas Operativos | 2017
CPU (procesador)
55
Sistemas Operativos | 2017
La unidad central de procesamiento es la que ejecuta los programas.
En un sistema puede haber más de una.
El ciclo básico consiste en tomar la instrucción apuntada por el PC
(program counter) (fetching), decodificarla para determinar su tipo
y operandos (decoding), ejecutarla (executing), y luego continuar
con la siguiente instrucción.
Arquitecturas modernas aumentan la performance ejecutando las
operaciones en paralelo (fetching, decoding, executing). Esta
técnica es conocida como pipelining.
Existen varias arquitecturas de procesador que se clasifican en RISC
(Reduced Instruction Set Computer) o CISC (Complex Instruction Set
Computer).Algunas arquitecturas: SP
ARC, POWER, x86, Itanium.
CPU (procesador)
56
Sistemas Operativos | 2017
La velocidad del procesador es varios órdenes de magnitud mayor que
la velocidad de acceso a información que está en la memoria
volátil (RAM).
Esto implicó la creación de registros a nivel del procesador y
finalmente una cache de memoria (caches de 1er. Nivel, 2do. Nivel
y hasta 3er. Nivel).
Los registros son la memoria más rápida que accede un procesador y
están integrados al chip.
En los últimos años han surgido procesadores que en un mismo chip
contienen varios núcleos de ejecución. Esto ha llevado a una nueva
terminología: single-core, dual-core, quad-core, etc.
CPU (procesador)
57
Sistemas Operativos | 2017
Dentro del mismo chip del procesador se
incluyen registros de rápido acceso:
– Registros punto fijo y punto flotante.
– Registros de direccionamiento ES, SS, DS, CS, etc..
– Registro de Estado. Incluye PC y banderas con zero, carry.
– Caches:
•
•
•
1er. Nivel (del orden de 20 Kb).
2do. Nivel (del orden de 512Kb a
2Mb). 3er. Nivel (del orden de 8Mb).
CPU: Instrucciones
58
Sistemas Operativos | 2017
Instrucciones
– Operador Operandos...
Los operandos pueden ser inmediatos, registros, relativos, de
memoria DS:[SI] según diferentes técnicas. (vistos en Arquitectura
de computadores).
Las familias de instrucciones incluyen aritméticas, lógicas,
transferencia control (Jmp, Call, Loop, etc), de memoria, de stack,
de sincronización (Lock:XChg ax, bx) y de entrada salida.
Las instrucciones de sincronización sirven para resolver problemas
de concurrencia.
CPU: Instrucciones privilegiadas
59
Sistemas Operativos | 2017
Se establecen niveles de ejecución y un conjunto de instrucciones
para cada nivel.
Un protocolo seguro para aumentar el nivel de ejecución que se basa
en siempre transferir el control a código autenticado (trusted) para
aumentar el nivel de ejecución.
Por ejemplo:
–
–
–
Detener el procesador
Cambiar el vector de
interrupciones Cambiar las
tablas de páginas
CPU: Interrupciones
Interrumpen el flujo normal de un programa.
Es la forma principal de comunicarse con el sistema operativo.
El sistema operativo preserva el estado actual (previo a la
interrupción) del procesador (registros, etc.)
Se determina que tipo de interrupción ocurrió.
Se ejecuta la rutina de atención correspondiente.
60
Sistemas Operativos | 2017
Memoria
El sistema de memoria es construido en base a una jerarquía, que permite
mejorar la utilización del procesador:
61
Sistemas Operativos | 2017
Memoria: Memoria principal (RAM)
62
Sistemas Operativos | 2017
Memoria de tipo volátil, con direcciones de palabra o byte.
Palabra de 32, 48, 64 bits
Transferencia en un ciclo del bus y acceso en paralelo
(interleaving) a más de un módulo de memoria.
Existen instrucciones que toman como argumentos direcciones de
memoria.
Es útil también para hacer transferencias con controladoras de
dispositivos. Las controladoras tienen su propio buffer de memoria,
y existen instrucciones de E/S que permiten la transferencia
directa desde el buffer a memoria principal.
Memoria: Discos
magnéticos (hard disk)
63
Sistemas Operativos | 2017
Dispositivos de velocidad de acceso mucho menor que la memoria principal, pero de
mayor capacidad.
Tiene componentes mecánicas a diferencia de la memoria principal, cache y registros. Consta
de:
– platos de metal que giran a alta velocidad (entre 6.000 y 10.000 rpm).
– un brazo mecánico que contiene las cabezas de lectura/escritura para cada plato.
§
La superficie de los platos se divide en secciones:
– Pistas (tracks): La superficie de los platos es dividida lógicamente en pistas circulares.
– Sectores (sectors): Cada pista es dividida en un conjunto de sectores.
– Cilindros (cylinders): El conjunto de pistas (de todos los platos) que están en una posición del
brazo mecánico forman un cilindro.
Memoria: Discos
magnéticos (hard disk)
Esquema
64
Sistemas Operativos | 2017
de discosmagnéticos
Memoria: Discos magnéticos
(hard disk)
65
Sistemas Operativos | 2017
§ La velocidad del disco tiene dos
componentes:
– Tasa de transferencia (transfer rate): Es la tasa con la cual los datos
van entre el disco y la computadora.
– Tiempo de posicionamiento (positioning time): Es el tiempo que se tarda
en ubicar el brazo en el cilindro adecuado (seek time), mas el tiempo
de rotar el plato al sector adecuado (rotational latency).
La unidad de transferencia es el bloque. Ocasionalmente los
bloques pueden estar con interleaving.
Existen distintos tipos de buses de conexión:
– IDE (Integrated drive electronics)
– A
T
A(Advanced T
echnology Attachment)
– SATA(Serial Advanced Technology Attachment)
– SCSI (Small Computer-Systems Interface)
– SAS (Serial Attached SCSI)
MEMORIA: CACHE
66
Sistemas Operativos | 2017
El cache es un principio muy importante, es utilizado a
varios niveles en el sistema de computación (hardware,
sistema operativo, software).
El concepto es mantener una copia de la memoria que está
siendo utilizada en un medio temporal de mayor velocidad
de acceso.
El medio de memoria cache es mucho menor en capacidad,
pero más veloz que el dispositivo principal. Esto genera que
el manejo de cache es un problema de diseño importante.
El tamaño del cache y sus políticas de reemplazo tienen un
alto impacto en la mejora real de la performance.
MEMORIA: COHERENCIA DE CACHE
67
Sistemas Operativos | 2017
Un problema que introduce la memoria cache en
ambientes de multiprocesadores, es la coherencia y
consistencia de los datos que están replicados.
Caches en multiprocesadores:
• Mayor rendimiento, no se satura el bus del sistema
(cuello de botella).
• Aún en un monoprocesador, hay que contemplar a
los controladores de dispositivos.
• Problemas de coherencia entre caches, ya que una
palabra puede estar replicada en diferentes
caches de los procesadores. El problema de
coherencia se torna mucho más complicado.
• Surgen técnicas como write-through y write-back.
DISPOSITIVOS DE
ENTRADA/SALIDA (I/O)
68
Sistemas Operativos | 2017
Los dispositivos, por lo general, se componen de una
controladora y el dispositivo en sí.
La controladora es un chip que controla físicamente al
dispositivo. Acepta comandos del sistema operativo y
los ejecuta (genera las correspondientes señales sobre
el dispositivo para realizar la tarea).
La interfaz que le presenta la controladora al
sistema operativo es bastante más simple que la
provista por el dispositivo.
En un sistema existen distintas controladoras
(de discos, red, etc.), por eso es necesario distintos
componentes de software para manejar cada uno.
Dispositivos de entrada/salida:
Device drivers
69
Sistemas Operativos | 2017
Al software que se comunica con la controladora se le denomina
device driver.
Para cada controladora se debe proveer el device driver adecuado.
Estos son incorporados al sistema operativo dado que son la vía
de comunicación con los dispositivos.
Los device drivers son cargados de diferentes formas:
–
–
Ensamblados estáticamente al núcleo del sistema.
Cuando se carga el sistema se lee un archivo de configuración que
menciona cuales device drivers cargar.
Cargar dinámicamente a demanda.
–
Dispositivos de
entrada/salida
70
Sistemas Operativos | 2017
Las controladorascontienenun conjunto de registros que sirven para
comunicarse con ella y ejecutar comandos. Ej.: la controladora de
un disco podría tener registros para especificar la dirección en
disco, la dirección en memoria principal, el número de sectores y el
sentido (lectura y escritura).
Acceso a los registros de la controladora:
§
– Memory mapped I/O: Los registros son “mapeados” a direcciones de
memoria principal.
– Direct I/O instructions: Alos registros se le asigna una dirección de
puerto (I/O port address).
Dispositivos de entrada/salida:
Memory mapped IO
71
Sistemas Operativos | 2017
Para facilitar el acceso a registros de los dispositivos, se reserva un
espacio de la memoria principal que mapea a los registros del
dispositivo.
Leer o escribir en los registros de los dispositivos se traduce en leer
o escribir sobre las direcciones de memoria. Al operar sobre estas
direcciones de memoria se genera la transferencia a los registros
del dispositivos en forma transparente.
Las direcciones de memoria deben ser puesta fuera del alcance de
los procesos del usuario.
Ej.: La pantalla es mapeada a un lugar de memoria. Para desplegar
un carácter en pantalla solo basta con escribir sobre el lugar
correcto de la memoria principal.
Dispositivos de entrada/salida:
I/O port address
Acada registro se le asigna una dirección de puerto.
El sistema cuenta con instrucciones privilegiadas IN y OUT que permiten
a los device drivers leer o escribir en los registros de la controladora.
La instrucción genera señales en el bus del sistema para seleccionar el
dispositivo adecuado.
72
Sistemas Operativos | 2017
Dispositivos de entrada/salida:
Comparación de acceso
73
Sistemas Operativos | 2017
Memory-mapped I/O:
–
–
No necesita de instrucciones especiales: simplifica la CPU.
Tiene el problema de que hay que excluir esas direcciones de los
procesos de usuarios.
Direct I/O instructions:
–
–
No consume memoria principal.
Las instrucciones de I/O deben ser
privilegiadas.
Dispositivos de entrada/salida:
Interacción con la controladora
74
Sistemas Operativos | 2017
Métodos para efectuar una operación de entrada-salida:
– Espera activa (Polling): El procesador le comunica un pedido a la
controladora del dispositivo y queda en un busy waiting consultando a
la controladora si está listo el pedido.
controladora y se libera para realizar otras tareas. Al culminar el pedido
dispositivo, la controladora genera una interrupción al
procesador.
Acceso directo a memoria (DMA – Direct Memory Access): Se utiliza un
chip especial que permite transferirdatos desde alguna controladora a
memoria sin que el procesador tenga que intervenir en forma continua.
– Interrupciones(Interrupts):El procesador le comunica el pedido a la
el
–
Dispositivos de
entrada/salida: Espera activa
75
Sistemas Operativos | 2017
p = copy_from_user (buffer, k_buffer, count);
for (i = 0; i < count; i++) {
while (*printer_status_reg != READY);
*printer_data.register = p[i];
}
return_to_user ( );
El sistema queda en busy waiting consultando un registro del
controlador para saber si está listo.
Ej.: Imprimir un buffer en una impresora.
Dispositivos de entrada/salida:
Interrupciones
76
Sistemas Operativos | 2017
El sistema se independiza del controlador
, que
genera una interrupción cuando finaliza el pedido.
Es necesario tenerun vector de rutinas de atención de
interrupciones (interrupt vector), que es cargado cuando se
inicia el sistema operativo.
Ej.: Imprimir un buffer en una impresora.
p = copy_from_user(buffer, k_buffer, count); while
(*printer_status_reg != READY);
i = 0;
*printer_data.register = p[i];
scheduler();
Dispositivos de entrada/salida:
Interrupciones
77
Sistemas Operativos | 2017
§ Ej.: Rutina de atención de la interrupción.
if (i == count)
unblock_user();
else {
i++;
*printer_data.register = p[i];
}
return_from_interrupt();
Dispositivos de
entrada/salida: DMA
78
Sistemas Operativos | 2017
Se dispone de un dispositivo especializado que permite realizar
transferencias desde ciertos dispositivos a memoria. La
transferencia sea hace en paralelo mientras el procesador realiza
otras tareas.
El procesador carga ciertos registros en el controlador DMA para
realizar el pedido. El controlador DMA se encarga de la tarea de
transferencia, interrumpiendo al procesador cuando finalizó.
Ej.: Imprimir un buffer en una impresora.
p = copy_from_user(buffer, k_buffer, count);
set_up_DMA_controller();
scheduler();
Ej.: Rutina de atención de la interrupción de DMA.
unblock_user();
return_from_interrupt();
Protección de hardware
79
Sistemas Operativos | 2017
Con la introducción de sistemas multiprogramados y multiusuarios se
empezaron a generar problemas en el uso de los recursos debido a
procesos “mal programados” o “mal intencionados”.
Fue necesario la introducción de protección entre los distintos
procesos que ejecutaban en un sistema.
El hardware fue suministrando a los sistemas operativos de
mecanismos para la protección:
– Modo Dual: Se provee de al menos dos modos de operación.
– Protección de E/S: Todas las instrucciones de Entrada/Salida son
privilegiadas.
– Protección de Memoria: Evaluación de las direcciones de memoria a
través de la MMU.
Protección de CPU: Introducción de un timer que permite limitar el
uso de CPU.
–
Modo dual
80
Sistemas Operativos | 2017
El hardware provee al menos dos modos de ejecución:
– Modo usuario (user mode): en este modo de ejecución se puede ejecutar
un conjunto reducido de instrucciones de hardware. Los procesos a
nivel de usuarios ejecutan en este modo.
Modo monitor (monitor mode): en este modo todas las instrucciones de
hardware están disponibles. El sistema operativo es el único que debe
ejecutar en este modo.
–
Un bit, llamado mode bit, es agregado al hardware para indicar
el modo actual.
Modo dual
81
Sistemas Operativos | 2017
La ejecución de instrucciones privilegiadas en el modo monitor
garantiza que los procesos, a nivel de usuario, no accedan
directamente a los dispositivos de E/S.
El acceso a un dispositivo se realiza a través de los servicios que
brinda el sistema operativo (syscall).
La solicitud de un servicio al sistema operativo es tratado como una
interrupción a nivel de software (trap), y en ese momentoel
sistema pasa de modo usuario a modo monitor.
En Intel la instrucción int 0x80 genera el cambio de modo.
Posteriormente, se ejecuta el handler de la excepción 0x80
(128 decimal).
Modo dual
Esquema gráfico del cambio de modo:
82
Sistemas Operativos | 2017
Protección de E/S
83
Sistemas Operativos | 2017
Es necesario restringir que los procesos a nivel de usuario no accedan
directamente a los dispositivos, sino que deban hacerlo a través
del sistema operativo.
Por eso, se define que todas las instrucciones de E/S son
privilegiadas.
De esa forma, se asegura que un programa a nivel de usuario nunca
pueda lograr cambiar el modo a monitor.
Un usuario podría ingresar una nueva interrupción, modificar una ya
existente, o cambiar el vector de interrupción y luego generar un
trap (interrupción por software) para que ejecute.
Protección de memoria
84
Sistemas Operativos | 2017
Es necesario proteger la memoria del núcleo (p.ej.: el vector de
interrupciones) y, a su vez, proteger el acceso de memoria entre
los distintos procesos (un proceso no debería acceder a la
memoria de otro).
El sistema debe lograr saber si cada dirección generada por un
proceso es válida.
Una forma es utilizar dos registros:
–
–
Base: Contiene la dirección de memoria física más baja que puede
acceder.. Límite: Contiene el tamaño del bloque de memoria a
partir del registro base.
Protección de memoria
Esquema gráfico de la protección a través de registro base y límite:
85
Sistemas Operativos | 2017
Protección de memoria
86
Sistemas Operativos | 2017
Cada dirección física generada por la CPU es controlada para
comprobar si es una dirección válida.
En caso de una acceso inválido se genera un trap al sistema
operativo.
La unidad que convierte direcciones lógicas a físicas es la MMU
(Memory Management Unit), y es la que controla el acceso a
memoria. Esta es un dispositivo de hardware.
La unidad MMU únicamente debe ser administrada en modo monitor.
Por ejemplo cargar los registros base y límite.
Protección de CPU
87
Sistemas Operativos | 2017
Una vez que a un proceso se le asigna un recurso procesador,
puede entrar en una iteración infinita (infinite loop) y no retornar
nunca más el control al sistema.
Deben existir mecanismos de protección de uso del procesador.
Una alternativa es la utilización de un timer que interrumpa el
procesador cada cierto tiempo.
El sistema operativo al asignar la CPU carga un contador
. Cada
vez que la interrupción de timer se genera se ejecuta la rutina de
atención correspondiente.
En la rutina de atención de la interrupción el contador es
disminuido. Si alcanza al valor 0, se le quita el recurso
procesador al proceso y se invoca al planificador para que
seleccione otro.
La instrucción que permite cargar el contador debe ser privilegiada.
Red
88
Sistemas Operativos | 2017
Las redes se puedenclasificar,
básicamente, en dos tipos:
– Red LAN (Local Area Network):
• Las redes LAN son pequeñas y su alcance está limitado por lo general a
no más de un edificio.
• Velocidades de 10, 100, 1000 Mbits/s, o más.
– Red W
AN (Wide Area Network):
• Las redes WAN son redes distribuidas sobre una región
grande.
• 1,5 a 100 Mbits/s.
La diferencia principal es como están distribuidas
geográficamente
.
LAN: Local Area Networks
Son redes que interconectan sistemas a
89
Sistemas Operativos | 2017
corta distancia y se tiende a
tenerinterconexiones de alta velocidad con baja tasa de error.
WAN: Wide Area
Networks
Son redes que interconectan sistemas remotos.
Los enlaces, por lo general, son provistos por empresas de telecomunicaciones.
90
Sistemas Operativos | 2017
Topologías de red
91
Sistemas Operativos | 2017
Las redes pueden estar interconectadas de diferentes formas.
Esto dependerá de:
–Costos básicos: Qué costo a nivel monetario implica interconectar la red.
– Costo a nivel de comunicación: Qué tiempo lleva enviar un mensaje desde un nodo a otro de la red.
– Nivel de confianza:Qué tan resistente es la red ante eventuales fallos de componentes.
Las topologías que se implementen dependerán de estás tres variables.
Topologías de red
Esquema
92
Sistemas Operativos | 2017
gráfico de algunas topologías más comunes:

More Related Content

What's hot

PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEgladysmamani
 
Estructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema OperativoEstructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema Operativopainni
 
Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsflaviosimbana07
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windowseyes
 
Arquitectura sistemas operativos
Arquitectura sistemas operativosArquitectura sistemas operativos
Arquitectura sistemas operativosvichesito85
 
Kernel de los sistemas operativos
Kernel de los  sistemas operativosKernel de los  sistemas operativos
Kernel de los sistemas operativosAlex Acosta
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativosXavier Jose
 
Taller de sistemas operativos manuel chaparro
Taller de sistemas operativos manuel chaparroTaller de sistemas operativos manuel chaparro
Taller de sistemas operativos manuel chaparroManuel Chaparro
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativosKaren Serrano
 
Anexo 12 practica 1 investigar y compartir sistemas operativos - Cris
Anexo 12 practica 1 investigar y compartir sistemas operativos - CrisAnexo 12 practica 1 investigar y compartir sistemas operativos - Cris
Anexo 12 practica 1 investigar y compartir sistemas operativos - CrisGrisaul OROZCO MEDINA
 
Anexo 12 practica 1 investigar y compartir sistemas operativos - Emmanuel
Anexo 12 practica 1 investigar y compartir sistemas operativos - EmmanuelAnexo 12 practica 1 investigar y compartir sistemas operativos - Emmanuel
Anexo 12 practica 1 investigar y compartir sistemas operativos - EmmanuelGrisaul OROZCO MEDINA
 

What's hot (20)

PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Estructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema OperativoEstructura Y Funciones Del Sistema Operativo
Estructura Y Funciones Del Sistema Operativo
 
Taller de Programación Distribuida
Taller de Programación DistribuidaTaller de Programación Distribuida
Taller de Programación Distribuida
 
Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windows
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windows
 
Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Arquitectura sistemas operativos
Arquitectura sistemas operativosArquitectura sistemas operativos
Arquitectura sistemas operativos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Leccion2 sisop
Leccion2 sisopLeccion2 sisop
Leccion2 sisop
 
Kernel de los sistemas operativos
Kernel de los  sistemas operativosKernel de los  sistemas operativos
Kernel de los sistemas operativos
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
 
Taller de sistemas operativos manuel chaparro
Taller de sistemas operativos manuel chaparroTaller de sistemas operativos manuel chaparro
Taller de sistemas operativos manuel chaparro
 
Unidad2
Unidad2Unidad2
Unidad2
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativos
 
Anexo 12 practica 1 investigar y compartir sistemas operativos - Cris
Anexo 12 practica 1 investigar y compartir sistemas operativos - CrisAnexo 12 practica 1 investigar y compartir sistemas operativos - Cris
Anexo 12 practica 1 investigar y compartir sistemas operativos - Cris
 
Anexo 12 practica 1 investigar y compartir sistemas operativos - Emmanuel
Anexo 12 practica 1 investigar y compartir sistemas operativos - EmmanuelAnexo 12 practica 1 investigar y compartir sistemas operativos - Emmanuel
Anexo 12 practica 1 investigar y compartir sistemas operativos - Emmanuel
 
Tiposso
TipossoTiposso
Tiposso
 

Similar to Sistemas Operativos: Introducción, Evolución e Importancia

Rosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriaRosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriarosaespinozamarin
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de softwareITSPR
 
Plan anual de sistemas monousuario y multiusuario
Plan anual de sistemas monousuario y multiusuarioPlan anual de sistemas monousuario y multiusuario
Plan anual de sistemas monousuario y multiusuariomiguel15de1987
 
Ciclo de vida y diseño de los sistemas de informacion
Ciclo de vida y diseño de los sistemas de informacionCiclo de vida y diseño de los sistemas de informacion
Ciclo de vida y diseño de los sistemas de informacionjorgeluisguzmntorres1
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosNoeljg69
 
Unidad 1 Sistemas Operativos
Unidad 1 Sistemas OperativosUnidad 1 Sistemas Operativos
Unidad 1 Sistemas OperativosNoeljg69
 
Trabajo so
Trabajo soTrabajo so
Trabajo soNoeljg69
 
Sistema Operativo 2015
Sistema Operativo 2015Sistema Operativo 2015
Sistema Operativo 2015ladislao
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativosladislao
 
Trabajosistemaoperativomily24
Trabajosistemaoperativomily24Trabajosistemaoperativomily24
Trabajosistemaoperativomily24ladislao
 
Trabajosistemaoperativos
TrabajosistemaoperativosTrabajosistemaoperativos
Trabajosistemaoperativosladislao
 
Conceptos 1
Conceptos 1Conceptos 1
Conceptos 1fredur
 
Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos Irauljide
 
Ciclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezCiclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezNarzimar Sanchez
 
Cap1
Cap1Cap1
Cap1CJAO
 

Similar to Sistemas Operativos: Introducción, Evolución e Importancia (20)

Rosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriaRosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoria
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Estructura SO Comfacor
Estructura SO ComfacorEstructura SO Comfacor
Estructura SO Comfacor
 
Guia SO Lectura
Guia SO LecturaGuia SO Lectura
Guia SO Lectura
 
Plan anual de sistemas monousuario y multiusuario
Plan anual de sistemas monousuario y multiusuarioPlan anual de sistemas monousuario y multiusuario
Plan anual de sistemas monousuario y multiusuario
 
Ciclo de vida y diseño de los sistemas de informacion
Ciclo de vida y diseño de los sistemas de informacionCiclo de vida y diseño de los sistemas de informacion
Ciclo de vida y diseño de los sistemas de informacion
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
que es un sistema operativo
 que es un sistema operativo que es un sistema operativo
que es un sistema operativo
 
Siste deinf
Siste deinfSiste deinf
Siste deinf
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Unidad 1 Sistemas Operativos
Unidad 1 Sistemas OperativosUnidad 1 Sistemas Operativos
Unidad 1 Sistemas Operativos
 
Trabajo so
Trabajo soTrabajo so
Trabajo so
 
Sistema Operativo 2015
Sistema Operativo 2015Sistema Operativo 2015
Sistema Operativo 2015
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativos
 
Trabajosistemaoperativomily24
Trabajosistemaoperativomily24Trabajosistemaoperativomily24
Trabajosistemaoperativomily24
 
Trabajosistemaoperativos
TrabajosistemaoperativosTrabajosistemaoperativos
Trabajosistemaoperativos
 
Conceptos 1
Conceptos 1Conceptos 1
Conceptos 1
 
Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos I
 
Ciclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezCiclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchez
 
Cap1
Cap1Cap1
Cap1
 

More from Richard Eliseo Mendoza Gafaro

PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIRichard Eliseo Mendoza Gafaro
 

More from Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Recently uploaded

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 

Recently uploaded (20)

Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 

Sistemas Operativos: Introducción, Evolución e Importancia

  • 1. PLATAFORMAS TECNOLOGICAS Phd(c) Richard Eliseo Mendoza Gáfaro Docente
  • 2. FICHA TECNICA Facultad Ingenierías y Arquitectura Departamento Eléctrica, Electrónica, Sistemas y Telecomunicaciones Programa Ingeniería de Sistemas Curso Plataformas Tecnológicas Código 167404 Área Tecnologías de la Información y las Comunicaciones Requisitos 167401 Correquisitos Créditos 3 Tipo de Curso Teórico Práctico Fecha última Actualización Enero 27 de 2021 Palabras Claves Sistemas operativos, virtualización, linux, windows
  • 3. JUSTIFICACION Los sistemas operativos son un componente esencial de todo sistema de computación, por ende esta asignatura es uno de los pilares fundamentales del programa de Ingeniería de Sistemas. Los conceptos y evolución de los sistemas operativos están relacionados con el desarrollo de hardware y han influido en el desarrollo de nuevos modelos y sistemas computacionales. Entender y recapacitar acerca del funcionamiento de los sistemas operacionales dará al estudiante de las ciencias computacionales una visión global y una mejor comprensión de la interrelación entre los diversas partes de un sistema computacional.
  • 4. OBJETIVOS GENERAL Y ESPECIFICOS Desarrollar habilidades en sistema operativo para la identificación de los aspectos más relevantes en el diseño e implementación de los mismos mediante técnicas y marcos de referencia sobre plataformas tecnológicas. OBJETIVOS ESPECIFICOS Conocer los componentes de un sistema operativo, su estructura y organización Estudiar las principales funciones que realiza todo sistema operativo, las estrategias y algoritmos empleados para manejo de recursos Conocer la incidencia del hardware sobre el diseño de sistemas operacionales Manejar vocabulario técnico en términos de sistemas de acuerdo al marco de referencia sobre sistemas operativos
  • 5. COMPETENCIAS ESPECIFICAS Capacidad de comprender los fundamentos teóricos de gestión de procesos, gestión de memoria y gestión de almacenamiento en la solución de problemas asociado con los sistemas operativos utilizando técnicas y marcos de referencia sobre computación Capacidad de aplicar la programación de hilos en la solución de problemas asociado con la memoria compartida utilizando técnicas y marcos de referencia sobre los sistemas de memoria compartida Capacidad de aplicar la programación de procesos en la solución de problemas asociado con la memoria distribuida utilizando técnicas y marcos de referencia sobre los sistemas de memoria distribuida Capacidad en asesorar en soluciones de conectividad, protección y seguridad a pequeñas empresas
  • 6. COMPETENCIAS BASICAS Capacidad de análisis y síntesis. Habilidad para buscar y analizar información proveniente de fuentes diversas. Habilidad de aprender a aprender Habilidad para el trabajo en equipo Habilidad para la resolución de problemas Habilidad en el uso de las TIC
  • 7. COMPETENCIAS BASICAS Conocer los componentes de un sistema operativo, su estructura y organización Estudiar las principales funciones que realiza todo sistema operativo, las estrategias y algoritmos empleados para manejo de recursos Conocer la incidencia del hardware sobre el diseño de sistemas operacionales Manejar vocabulario técnico en términos de sistemas de acuerdo al marco de referencia sobre sistemas operativos
  • 8. CONTENIDOS PROGRAMATICOS UNIDAD 1 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS Definición y conceptos de sistema operativo Estructura de un sistema de cómputo Estructura de un sistema operativo UNIDAD 2 GESTIÓN DE PROCESOS Procesos Hilos Planificadores de procesos Sincronización de procesos Interbloqueo
  • 9. CONTENIDOS PROGRAMATICOS UNIDAD 3 GESTIÓN DE LA MEMORIA Memoria principal Memoria virtual UNIDAD 4 GESTIÓN DE ALMACENAMIENTO Estructura de almacenamiento masivo Interfaz del sistema de archivos Implementación del sistema de archivos Sistemas de Entrada/Salida UNIDAD 5 TÓPICOS AVANZADOS Máquinas virtuales Introducción a los sistemas distribuidos Introducción a los sistemas clustered
  • 10. METODOLOGIA Y SISTEMA DE EVALUACION De acuerdo a la naturaleza de la asignatura y a la forma en que el docente decida desarrollo de contenidos, el Proyecto Educativo del Programa -PEP define diferentes opciones de metodología a implementar. Por Pandemia, se usa Ms Teams para las clases sincrónicas y para las clases asincrónicas Moodle. EVALUACION El sistema de evaluación se rige por los lineamientos establecidos en el reglamento académico estudiantil, Acuerdo No.186 02 de diciembre de 2005, Artículo 30 que define los tipos de evaluación y artículo 32 que reglamenta su aplicación.
  • 11. BIBLIOGRAFIA FLYNN, Ida N. Sistemas Operativos. International Thomnson Editores. 2001 MILLENKOVIC Milan, Sistemas operativos, conceptos y diseño, McGraw Hill. 1.998 RUEDA , Francisco, Sistemas Operativos, Mc Graw Hill. 1.989 TANENBAUM, Andrew , Sistemas operativos distribuidos, Prentice-Hall. 1.996 TANENBAUM, Andrew , Sistemas operativos modernos, Prentice-Hall. 1.993 ANENBAUM, Andrew , Sistemas operativos diseño e implementación, Prentice-Hall. 1.996
  • 12. INTRODUCCION A LOS SISTEMAS OPERATIVOS Phd(c) Richard Eliseo Mendoza Gáfaro Docente
  • 13. Agenda Sistemas Operativos | Curso 2015 | Introducción 2/23 Introducción a los sistemas operativos. Evolución histórica de los sistemas operativos: !Sistemas por lotes. !Sistemas por lotes multiprogramados. !Sistemas de tiempo compartido. !Computadores personales. !Sistemas paralelos. !Sistemas de tiempo real. !Sistemas multimedia. !Sistemas virtuales. !Sistemas de mano. HISTORIA DE LOS SISTEMAS OPERATIVOS
  • 14. Introducción • Es un programa • Funciona como intermediario entre el usuario y los programas y el hardware Sistemas Operativos | Curso 2015 | Introducción 2/23 ¿QUÉ ES UN SISTEMA OPERATIVO?
  • 15. INTRODUCCIÓN Metas !Brindar un entorno para que los usuarios puedan ejecutar programas en forma conveniente !Brindar un entorno para que los programas usen el hardware con facilidad Administrar el hardware de forma eficiente y equitativa !Proveer un entorno sin interferencias a cada usuario Todas las aplicaciones requieren un conjunto de operaciones comunes que son incorporadas al sistema operativo. Funciones básicas: ! Administración de procesos ! Manejo de interrupciones ! Administración de memoria ! Manejo del sistema de archivos ! Administración de seguridad ! Control de entrada/salida Sistemas Operativos | Curso 2015 | Introducción 2/23
  • 16. INTRODUCCIÓN Sistemas Operativos | Curso 2015 | Introducción 2/23 El sistema operativo es un Administrador de recursos: • Administra todos los recursos disponibles. •Decide como asignar estos recursos según los pedidos y asignaciones que tenga. Programa de control y abstracción del hardware: •Controla la ejecución de los programas para la prevención de errores y mal uso del sistema. •Implementa funciones comunes de acceso al hardware. Frecuentemente, la porción residente del propio sistema operativo se denomina núcleo del sistema (kernel).
  • 17.
  • 18.
  • 19.
  • 20. Sistemas Operativos | Curso 2015 | Introducción 12/23
  • 21. Sistemas Operativos | Curso 2015 | Introducción 12/23
  • 22. Sistemas Operativos | Curso 2015 | Introducción 12/23
  • 23. Sistemas Operativos | Curso 2015 | Introducción 12/23
  • 24. 1945 &1957 1971&Presente Presente Futuro Primera generación Ábaco Pas calina Padre de la Computadora William B. Shockley Transistor Tercera Generación CDC 6000 Se le introdujo la serie 6600 una de las mas rápidas 1957&1963 1964 &1971 Maquinas grandes pasan a ser parte del diseño de la pc Cuarta Generación En 1976 Steve Wozniak y Steve Jobs Crean la primera microcomputador a de uso masivo. Quinta Generación El termino quinta generación fue acuñado por los japoneses para describir las potentes e "inteligentes" computadoras que deseaban producir a mediados de los noventa.
  • 25.
  • 26. PERSPECTIVA HISTÓRICA: SISTEMAS BATCH ('70) • En las primeras épocas los sistemas eran grandes y costosos. • Constaban de un entrada de trabajos o cola y una salida impresa. • Prácticamente no había interacción alguna con el usuario. • La función principal era la del cargador (loader) de programas y soporte de entrada/salida (E/S) a dispositivos (operaciones comunes). • El sistema soportaba un único trabajo a la vez.
  • 27. PERSPECTIVA HISTÓRICA: SISTEMAS BATCH ('70) • Lectora de Entrada ‹ Proceso ‹ Salida y resultado • Las tareas relacionadas, se agrupaban en conjuntos de trabajos o lotes (batches) para su procesamiento más eficiente. • Con el advenimiento de los discos se comenzó a realizar el spool de los dispositivos haciendo más rápidas las operaciones e introduciendo por primera vez el solapamiento o concurrencia de operaciones. • spool = Simultaneous Peripheral Operations On-Line • El spooler es un buffer donde se guardan datos a la espera de su procesamiento por un dispositivo más lento • El recurso más caro de la época era el procesador (CPU), que tenía un bajo porcentaje de utilización.
  • 28.
  • 29. Perspectiva histórica: BATCH MULTIPROGRAMADO ('80) • Fue una mejora a los sistemas batch en los comienzos de la década del 80 • El disponer de un conjunto de trabajos (pool de jobs) en memoria secundaria y la implementación de técnicas de multiprogramación permitió desarrollar técnicas de planificación de despacho (job scheduling) así como de multiprogramación. • El sistema debía seleccionar un subconjunto de trabajos o lotes (jobs) que estaban en memoria secundaria para cargar en memoria principal. • El sistema operativo seleccionaba un trabajo para ejecutar. Cuando el trabajo seleccionado debía esperar por alguna tarea (p. ej.: ejecución de una E/S), el sistema elegía otro para utilizar el procesador.
  • 30. PERSPECTIVA HISTÓRICA: BATCH MULTIPROGRAMADO ('80) • Todo esto implicó el desarrollo de técnicas incipientes para el manejo de la memoria, ya que había que compartirla entre todos los trabajos. • L a m u l t i p r o g r a m a c i ó n incrementa la utilización del recurso procesador.
  • 31.
  • 32. PERSPECTIVA HISTÓRICA: SISTEMAS DE TIEMPO COMPARTIDO ('80) Los sistemas batch multiprogramados no tenían interacción con el usuario además de un tiempo de retorno (turnaround time) extenso. El debug de un programa seguía siendo tortuoso (dump de la memoria). Sistemas de tiempo compartido, ejecutan programas en forma concurrente con una elevada tasa de despacho de procesador (context switch) de forma tal de permitir que usuarios interactúen directamente con el sistema como si fueran su único usuario. Se debe combinar multiprogramación con técnicas de planificación de CPU (scheduling) para proveer a cada usuario con una porción adecuada del sistema. Los sistemas de tiempo compartido (time sharing systems) son una extensión lógica de los sistemas multiprogramados.
  • 33. PERSPECTIVA HISTÓRICA: SISTEMAS DE TIEMPO COMPARTIDO ('80) ! Los usuarios utilizaban terminales para implementar la interacción y eran atendidos por un intérprete de comandos (multiusuarios). ! La interacción era un resultado de la transmisión carácter a carácter. Todos los usuarios creían tener el computador a su disposición. ! Si bien un procesador ejecuta un único proceso por vez, el despacho del mismo 30 ó 40 veces por segundo entre diferentes tareas, le brinda a los usuarios la sensación de que está para su uso exclusivo. ! Este intercambio es tan frecuente que el usuario puede interactuar con su trabajo con total comodidad. ! La necesidad de acceder y actualizar datos en forma concurrente, creó la necesidad de evolucionar el sistema de archivos a uno multiusuario, incorporando técnicas de protección y serialización del acceso.
  • 34. PERSPECTIVA HISTÓRICA: SISTEMAS DE TIEMPO COMPARTIDO ('80) También apareció el problema de que los usuarios podrían ver la memoria de los procesos de otros usuarios En estas condiciones, los procesos deben contar con la memoria y procesador necesarias para su ejecución eficiente dando forma a los requerimientos de los sistemas operativos de hoy día. Comenzó a aparecer la idea de la memoria virtual • Los procesos ven un espacio de memoria virtual que el sistema operativo se encarga de mapear a la memoria física • Permite que varios procesos corran juntos si en memoria sin requerir modificaciones
  • 35.
  • 36. PERSPECTIVA HISTÓRICA: COMPUTADORAS PERSONALES ('80) • Con costos de hardware decrecientes fue posible el diseño y uso de computadores personales. • El sistema era diseñando en base a que sería dedicado a un único usuario. • Con en un principio modestos recursos de procesador, el énfasis y desarrollo estuvo por mejorar la interfase con el usuario. • Para ello el sistema operativo debió maximizar la habilidad de interacción con el usuario en vez de uso de CPU, etc. • La interfase de comandos habitual y diseñada para técnicos fue sustituida por la interfaz de ventanas que hoy conocemos.
  • 37. PERSPECTIVA HISTÓRICA: COMPUTADORAS PERSONALES ('80) • Se introdujeron nuevos dispositivos que mejoran la interacción con el usuario (audio, ratón, video, micrófono, cámara, disquete, etc.). • Finalmente, los PC invadieron el ambiente empresarial al ser dispuestos en red. Para ello, utilizando sistemas homogéneos y servidores con habilidades específicas de impresión, base de datos, sistema de archivo, seguridad, correo, etc. • Esta es la disposición reciente dónde las aplicaciones se implementan en modalidad cliente-servidor.
  • 38.
  • 39. PERSPECTIVA HISTÓRICA: SISTEMAS PARALELOS ('90) Desde comienzos de los 90, acompañando el desarrollo del hardware Sistemas donde se dispone de más de un procesador permiten la ejecución simultánea y sincronizada de más de un proceso. Se clasifican en: • Sistemas altamente integrados (tightly coupled). Son sistemas en donde los canales de interconexión son de alta velocidad (bus común o memoria compartida). • Sistemas poco integrados (loosely coupled). Sistemas en donde los canales de interconexión son de baja velocidad relativa. Sistemas en red.
  • 40. PERSPECTIVA HISTÓRICA: SISTEMAS PARALELOS ('90) Taxonomía de Flynn (1972): Caracterizó las arquitecturas de computadores y sobre que datos se están aplicando: SISD (Single Instruction, Single Data): Una arquitectura secuencial donde no existe paralelismo. (Sistemas monoprocesadores). SIMD (Single Instruction, Multiple Data): Sistemas que ejecutan la misma instrucción sobre un conjunto distinto de datos (Sistemas vectoriales). MISD (Multiple Instruction, Single Data): Utilizado para paralelismo redundante. MIMD (Multiple Instruction, Multiple Data): Sistemas con procesadores autónomos que ejecutan en forma simultanea diferentes instrucciones sobre diferentes datos.
  • 41. PERSPECTIVA HISTÓRICA: SISTEMAS PARALELOS ('90) Dentro de los sistemas MIMD se suelen hacer dos divisiones: • Sistemas de memoria compartida: Son sistemas donde los procesadores coexisten en un único nodo o en un sistema altamente integrado. Escalan poco debido a que el acceso a memoria desde los procesadores se convierte en un “cuello de botella”. • Sistemas de memoria distribuida: Son sistemas donde los nodos son independientes que se interconectan a través de una red de alta velocidad. Escalan a miles de procesadores.
  • 44.
  • 45. PERSPECTIVA HISTÓRICA: SISTEMAS MULTIPROCESADORES('90) Sistemas asimétricos: • Al surgir los sistemas multiprocesadores los núcleos de los sistemas operativos se modificaron para soportar este tipo de sistema. La forma más sencilla fue asignar la ejecución de código del núcleo a un único procesador. • De esta forma, los sistemas operativos no tenían que lidiar con la programación concurrente, ya que su código estaba restringido a ejecutarse en un único procesador. • Posteriormente, se empezó a asignar ciertas tareas a otros procesadores, generando una jerarquía entre ellos.
  • 46. PERSPECTIVA HISTÓRICA: SISTEMAS MULTIPROCESADORES ('90) Sistemas simétricos: • Al avanzar el diseño de los sistemas operativos se desarrollaron sistemas en donde el código del núcleo se dispone en la memoria común y puede ser ejecutado por cualquier procesador. Se pierde la jerarquía de los sistemas asimétricos y todos los procesadores pasan a ser simétricos. • Pasó a ser una necesidad crítica que el núcleo sea reentrante. Los proveedores debieron rediseñar totalmente sus sistemas. • El código del sistema operativo, al igual que el ancho de banda de la memoria, se transforman en recursos críticos, que determinan la escalabilidad del sistema. Dentro de los sistemas multiprocesadores se los caracteriza en dos tipos: Sistemas UMA (Uniform Memory Access): •Acceso uniforme a la memoria. Cada procesador accede a cualquier lugar de memoria con el mismo costo en cuanto al tiempo. Sistemas NUMA (Non-Uniform Memory Access): •Acceso no uniforme a la memoria. Los procesadores tienen conjuntos de memoria a la cual acceden más rápido que el resto.
  • 47.
  • 48. PERSPECTIVA HISTÓRICA: SISTEMA DE TIEMPO REAL ('00) • En sistemas de este tipo estricto, todo resultado debe producirse en un cierto tiempo, o de lo contrario el sistema falla. • En la práctica, un sistema de tiempo compartido con prioridades dinámicas y despacho preemptivo en general puede ser utilizado en estas condiciones. Dos tipos Hard •Todas las demoras del sistema deben estar acotadas •En general no se usa almacenamiento secundario en disco •Sistemas especializados Soft •Sistemas de propósito general con procesos de tiempo real con mayor prioridad •No son tan estrictos como los otros pero pueden combinar otros procesos de menor prioridad
  • 49. PERSPECTIVA HISTÓRICA Sistemas multimedia Sistemas especializados en la incorporación de datos multimedia (audio y video). Estos tipos de datos deben reproducirse bajos ciertas restricciones de tiempo a los usuarios. Sistemas virtuales Sistemas que corren como aplicaciones de otros sistemas operativos. Permiten mover un sistema de un hardware a otro sin detenerlo. Sistemas de mano Estos utilizan sistemas operativos embebidos que tienen limitaciones de recursos y altos requerimientos de prestaciones. Actualmente se parecen cada vez más a computadores personales y usan sistemas operativos similares. Sistemas en la nube Toda la infraestructura del sistema se encuentra en un centro de datos remoto Usan virtualización como forma de implementación
  • 50. Formando líderes para la construcción de un nuevo país en paz
  • 51. ESTRUCTURA DE UN SISTEMA OPERATIVO Phd(c) Richard Eliseo Mendoza Gáfaro Docente
  • 52. Agenda 52 Componentes de un sistema: – – – – Introducción. CPU (procesador). Memoria. Dispositivos de Entrada/Salida (IO). § Protección de hardware: – – – – Modo dual. Protección de E/S. Protección de Memoria. Protección de CPU. § Red: – – – Local Area Networks. Wide Area Networks. Topologías de red.
  • 53. Componentes de un sistema 53 Sistemas Operativos | 2017 CPU (procesador) – Unidad central de procesamiento. Permite ejecutar un conjunto de instrucciones. Su velocidad es varios órdenes mayor con respecto al acceso a la memoria. Memoria – Permite mantener la información disponible. Existe una jerarquía de memoria: registros, caches, memoria física de tipo RAM (Random Access Memory), dispositivos magnéticos, ópticos. Dispositivos de Entrada/Salida (IO) – Permiten interactuar con el sistema. Algunos dispositivos más comunes: impresoras, teclados, ratón, video, disco, red, etc.
  • 54. Componentes de un sistema Esquema gráfico: 54 Sistemas Operativos | 2017
  • 55. CPU (procesador) 55 Sistemas Operativos | 2017 La unidad central de procesamiento es la que ejecuta los programas. En un sistema puede haber más de una. El ciclo básico consiste en tomar la instrucción apuntada por el PC (program counter) (fetching), decodificarla para determinar su tipo y operandos (decoding), ejecutarla (executing), y luego continuar con la siguiente instrucción. Arquitecturas modernas aumentan la performance ejecutando las operaciones en paralelo (fetching, decoding, executing). Esta técnica es conocida como pipelining. Existen varias arquitecturas de procesador que se clasifican en RISC (Reduced Instruction Set Computer) o CISC (Complex Instruction Set Computer).Algunas arquitecturas: SP ARC, POWER, x86, Itanium.
  • 56. CPU (procesador) 56 Sistemas Operativos | 2017 La velocidad del procesador es varios órdenes de magnitud mayor que la velocidad de acceso a información que está en la memoria volátil (RAM). Esto implicó la creación de registros a nivel del procesador y finalmente una cache de memoria (caches de 1er. Nivel, 2do. Nivel y hasta 3er. Nivel). Los registros son la memoria más rápida que accede un procesador y están integrados al chip. En los últimos años han surgido procesadores que en un mismo chip contienen varios núcleos de ejecución. Esto ha llevado a una nueva terminología: single-core, dual-core, quad-core, etc.
  • 57. CPU (procesador) 57 Sistemas Operativos | 2017 Dentro del mismo chip del procesador se incluyen registros de rápido acceso: – Registros punto fijo y punto flotante. – Registros de direccionamiento ES, SS, DS, CS, etc.. – Registro de Estado. Incluye PC y banderas con zero, carry. – Caches: • • • 1er. Nivel (del orden de 20 Kb). 2do. Nivel (del orden de 512Kb a 2Mb). 3er. Nivel (del orden de 8Mb).
  • 58. CPU: Instrucciones 58 Sistemas Operativos | 2017 Instrucciones – Operador Operandos... Los operandos pueden ser inmediatos, registros, relativos, de memoria DS:[SI] según diferentes técnicas. (vistos en Arquitectura de computadores). Las familias de instrucciones incluyen aritméticas, lógicas, transferencia control (Jmp, Call, Loop, etc), de memoria, de stack, de sincronización (Lock:XChg ax, bx) y de entrada salida. Las instrucciones de sincronización sirven para resolver problemas de concurrencia.
  • 59. CPU: Instrucciones privilegiadas 59 Sistemas Operativos | 2017 Se establecen niveles de ejecución y un conjunto de instrucciones para cada nivel. Un protocolo seguro para aumentar el nivel de ejecución que se basa en siempre transferir el control a código autenticado (trusted) para aumentar el nivel de ejecución. Por ejemplo: – – – Detener el procesador Cambiar el vector de interrupciones Cambiar las tablas de páginas
  • 60. CPU: Interrupciones Interrumpen el flujo normal de un programa. Es la forma principal de comunicarse con el sistema operativo. El sistema operativo preserva el estado actual (previo a la interrupción) del procesador (registros, etc.) Se determina que tipo de interrupción ocurrió. Se ejecuta la rutina de atención correspondiente. 60 Sistemas Operativos | 2017
  • 61. Memoria El sistema de memoria es construido en base a una jerarquía, que permite mejorar la utilización del procesador: 61 Sistemas Operativos | 2017
  • 62. Memoria: Memoria principal (RAM) 62 Sistemas Operativos | 2017 Memoria de tipo volátil, con direcciones de palabra o byte. Palabra de 32, 48, 64 bits Transferencia en un ciclo del bus y acceso en paralelo (interleaving) a más de un módulo de memoria. Existen instrucciones que toman como argumentos direcciones de memoria. Es útil también para hacer transferencias con controladoras de dispositivos. Las controladoras tienen su propio buffer de memoria, y existen instrucciones de E/S que permiten la transferencia directa desde el buffer a memoria principal.
  • 63. Memoria: Discos magnéticos (hard disk) 63 Sistemas Operativos | 2017 Dispositivos de velocidad de acceso mucho menor que la memoria principal, pero de mayor capacidad. Tiene componentes mecánicas a diferencia de la memoria principal, cache y registros. Consta de: – platos de metal que giran a alta velocidad (entre 6.000 y 10.000 rpm). – un brazo mecánico que contiene las cabezas de lectura/escritura para cada plato. § La superficie de los platos se divide en secciones: – Pistas (tracks): La superficie de los platos es dividida lógicamente en pistas circulares. – Sectores (sectors): Cada pista es dividida en un conjunto de sectores. – Cilindros (cylinders): El conjunto de pistas (de todos los platos) que están en una posición del brazo mecánico forman un cilindro.
  • 64. Memoria: Discos magnéticos (hard disk) Esquema 64 Sistemas Operativos | 2017 de discosmagnéticos
  • 65. Memoria: Discos magnéticos (hard disk) 65 Sistemas Operativos | 2017 § La velocidad del disco tiene dos componentes: – Tasa de transferencia (transfer rate): Es la tasa con la cual los datos van entre el disco y la computadora. – Tiempo de posicionamiento (positioning time): Es el tiempo que se tarda en ubicar el brazo en el cilindro adecuado (seek time), mas el tiempo de rotar el plato al sector adecuado (rotational latency). La unidad de transferencia es el bloque. Ocasionalmente los bloques pueden estar con interleaving. Existen distintos tipos de buses de conexión: – IDE (Integrated drive electronics) – A T A(Advanced T echnology Attachment) – SATA(Serial Advanced Technology Attachment) – SCSI (Small Computer-Systems Interface) – SAS (Serial Attached SCSI)
  • 66. MEMORIA: CACHE 66 Sistemas Operativos | 2017 El cache es un principio muy importante, es utilizado a varios niveles en el sistema de computación (hardware, sistema operativo, software). El concepto es mantener una copia de la memoria que está siendo utilizada en un medio temporal de mayor velocidad de acceso. El medio de memoria cache es mucho menor en capacidad, pero más veloz que el dispositivo principal. Esto genera que el manejo de cache es un problema de diseño importante. El tamaño del cache y sus políticas de reemplazo tienen un alto impacto en la mejora real de la performance.
  • 67. MEMORIA: COHERENCIA DE CACHE 67 Sistemas Operativos | 2017 Un problema que introduce la memoria cache en ambientes de multiprocesadores, es la coherencia y consistencia de los datos que están replicados. Caches en multiprocesadores: • Mayor rendimiento, no se satura el bus del sistema (cuello de botella). • Aún en un monoprocesador, hay que contemplar a los controladores de dispositivos. • Problemas de coherencia entre caches, ya que una palabra puede estar replicada en diferentes caches de los procesadores. El problema de coherencia se torna mucho más complicado. • Surgen técnicas como write-through y write-back.
  • 68. DISPOSITIVOS DE ENTRADA/SALIDA (I/O) 68 Sistemas Operativos | 2017 Los dispositivos, por lo general, se componen de una controladora y el dispositivo en sí. La controladora es un chip que controla físicamente al dispositivo. Acepta comandos del sistema operativo y los ejecuta (genera las correspondientes señales sobre el dispositivo para realizar la tarea). La interfaz que le presenta la controladora al sistema operativo es bastante más simple que la provista por el dispositivo. En un sistema existen distintas controladoras (de discos, red, etc.), por eso es necesario distintos componentes de software para manejar cada uno.
  • 69. Dispositivos de entrada/salida: Device drivers 69 Sistemas Operativos | 2017 Al software que se comunica con la controladora se le denomina device driver. Para cada controladora se debe proveer el device driver adecuado. Estos son incorporados al sistema operativo dado que son la vía de comunicación con los dispositivos. Los device drivers son cargados de diferentes formas: – – Ensamblados estáticamente al núcleo del sistema. Cuando se carga el sistema se lee un archivo de configuración que menciona cuales device drivers cargar. Cargar dinámicamente a demanda. –
  • 70. Dispositivos de entrada/salida 70 Sistemas Operativos | 2017 Las controladorascontienenun conjunto de registros que sirven para comunicarse con ella y ejecutar comandos. Ej.: la controladora de un disco podría tener registros para especificar la dirección en disco, la dirección en memoria principal, el número de sectores y el sentido (lectura y escritura). Acceso a los registros de la controladora: § – Memory mapped I/O: Los registros son “mapeados” a direcciones de memoria principal. – Direct I/O instructions: Alos registros se le asigna una dirección de puerto (I/O port address).
  • 71. Dispositivos de entrada/salida: Memory mapped IO 71 Sistemas Operativos | 2017 Para facilitar el acceso a registros de los dispositivos, se reserva un espacio de la memoria principal que mapea a los registros del dispositivo. Leer o escribir en los registros de los dispositivos se traduce en leer o escribir sobre las direcciones de memoria. Al operar sobre estas direcciones de memoria se genera la transferencia a los registros del dispositivos en forma transparente. Las direcciones de memoria deben ser puesta fuera del alcance de los procesos del usuario. Ej.: La pantalla es mapeada a un lugar de memoria. Para desplegar un carácter en pantalla solo basta con escribir sobre el lugar correcto de la memoria principal.
  • 72. Dispositivos de entrada/salida: I/O port address Acada registro se le asigna una dirección de puerto. El sistema cuenta con instrucciones privilegiadas IN y OUT que permiten a los device drivers leer o escribir en los registros de la controladora. La instrucción genera señales en el bus del sistema para seleccionar el dispositivo adecuado. 72 Sistemas Operativos | 2017
  • 73. Dispositivos de entrada/salida: Comparación de acceso 73 Sistemas Operativos | 2017 Memory-mapped I/O: – – No necesita de instrucciones especiales: simplifica la CPU. Tiene el problema de que hay que excluir esas direcciones de los procesos de usuarios. Direct I/O instructions: – – No consume memoria principal. Las instrucciones de I/O deben ser privilegiadas.
  • 74. Dispositivos de entrada/salida: Interacción con la controladora 74 Sistemas Operativos | 2017 Métodos para efectuar una operación de entrada-salida: – Espera activa (Polling): El procesador le comunica un pedido a la controladora del dispositivo y queda en un busy waiting consultando a la controladora si está listo el pedido. controladora y se libera para realizar otras tareas. Al culminar el pedido dispositivo, la controladora genera una interrupción al procesador. Acceso directo a memoria (DMA – Direct Memory Access): Se utiliza un chip especial que permite transferirdatos desde alguna controladora a memoria sin que el procesador tenga que intervenir en forma continua. – Interrupciones(Interrupts):El procesador le comunica el pedido a la el –
  • 75. Dispositivos de entrada/salida: Espera activa 75 Sistemas Operativos | 2017 p = copy_from_user (buffer, k_buffer, count); for (i = 0; i < count; i++) { while (*printer_status_reg != READY); *printer_data.register = p[i]; } return_to_user ( ); El sistema queda en busy waiting consultando un registro del controlador para saber si está listo. Ej.: Imprimir un buffer en una impresora.
  • 76. Dispositivos de entrada/salida: Interrupciones 76 Sistemas Operativos | 2017 El sistema se independiza del controlador , que genera una interrupción cuando finaliza el pedido. Es necesario tenerun vector de rutinas de atención de interrupciones (interrupt vector), que es cargado cuando se inicia el sistema operativo. Ej.: Imprimir un buffer en una impresora. p = copy_from_user(buffer, k_buffer, count); while (*printer_status_reg != READY); i = 0; *printer_data.register = p[i]; scheduler();
  • 77. Dispositivos de entrada/salida: Interrupciones 77 Sistemas Operativos | 2017 § Ej.: Rutina de atención de la interrupción. if (i == count) unblock_user(); else { i++; *printer_data.register = p[i]; } return_from_interrupt();
  • 78. Dispositivos de entrada/salida: DMA 78 Sistemas Operativos | 2017 Se dispone de un dispositivo especializado que permite realizar transferencias desde ciertos dispositivos a memoria. La transferencia sea hace en paralelo mientras el procesador realiza otras tareas. El procesador carga ciertos registros en el controlador DMA para realizar el pedido. El controlador DMA se encarga de la tarea de transferencia, interrumpiendo al procesador cuando finalizó. Ej.: Imprimir un buffer en una impresora. p = copy_from_user(buffer, k_buffer, count); set_up_DMA_controller(); scheduler(); Ej.: Rutina de atención de la interrupción de DMA. unblock_user(); return_from_interrupt();
  • 79. Protección de hardware 79 Sistemas Operativos | 2017 Con la introducción de sistemas multiprogramados y multiusuarios se empezaron a generar problemas en el uso de los recursos debido a procesos “mal programados” o “mal intencionados”. Fue necesario la introducción de protección entre los distintos procesos que ejecutaban en un sistema. El hardware fue suministrando a los sistemas operativos de mecanismos para la protección: – Modo Dual: Se provee de al menos dos modos de operación. – Protección de E/S: Todas las instrucciones de Entrada/Salida son privilegiadas. – Protección de Memoria: Evaluación de las direcciones de memoria a través de la MMU. Protección de CPU: Introducción de un timer que permite limitar el uso de CPU. –
  • 80. Modo dual 80 Sistemas Operativos | 2017 El hardware provee al menos dos modos de ejecución: – Modo usuario (user mode): en este modo de ejecución se puede ejecutar un conjunto reducido de instrucciones de hardware. Los procesos a nivel de usuarios ejecutan en este modo. Modo monitor (monitor mode): en este modo todas las instrucciones de hardware están disponibles. El sistema operativo es el único que debe ejecutar en este modo. – Un bit, llamado mode bit, es agregado al hardware para indicar el modo actual.
  • 81. Modo dual 81 Sistemas Operativos | 2017 La ejecución de instrucciones privilegiadas en el modo monitor garantiza que los procesos, a nivel de usuario, no accedan directamente a los dispositivos de E/S. El acceso a un dispositivo se realiza a través de los servicios que brinda el sistema operativo (syscall). La solicitud de un servicio al sistema operativo es tratado como una interrupción a nivel de software (trap), y en ese momentoel sistema pasa de modo usuario a modo monitor. En Intel la instrucción int 0x80 genera el cambio de modo. Posteriormente, se ejecuta el handler de la excepción 0x80 (128 decimal).
  • 82. Modo dual Esquema gráfico del cambio de modo: 82 Sistemas Operativos | 2017
  • 83. Protección de E/S 83 Sistemas Operativos | 2017 Es necesario restringir que los procesos a nivel de usuario no accedan directamente a los dispositivos, sino que deban hacerlo a través del sistema operativo. Por eso, se define que todas las instrucciones de E/S son privilegiadas. De esa forma, se asegura que un programa a nivel de usuario nunca pueda lograr cambiar el modo a monitor. Un usuario podría ingresar una nueva interrupción, modificar una ya existente, o cambiar el vector de interrupción y luego generar un trap (interrupción por software) para que ejecute.
  • 84. Protección de memoria 84 Sistemas Operativos | 2017 Es necesario proteger la memoria del núcleo (p.ej.: el vector de interrupciones) y, a su vez, proteger el acceso de memoria entre los distintos procesos (un proceso no debería acceder a la memoria de otro). El sistema debe lograr saber si cada dirección generada por un proceso es válida. Una forma es utilizar dos registros: – – Base: Contiene la dirección de memoria física más baja que puede acceder.. Límite: Contiene el tamaño del bloque de memoria a partir del registro base.
  • 85. Protección de memoria Esquema gráfico de la protección a través de registro base y límite: 85 Sistemas Operativos | 2017
  • 86. Protección de memoria 86 Sistemas Operativos | 2017 Cada dirección física generada por la CPU es controlada para comprobar si es una dirección válida. En caso de una acceso inválido se genera un trap al sistema operativo. La unidad que convierte direcciones lógicas a físicas es la MMU (Memory Management Unit), y es la que controla el acceso a memoria. Esta es un dispositivo de hardware. La unidad MMU únicamente debe ser administrada en modo monitor. Por ejemplo cargar los registros base y límite.
  • 87. Protección de CPU 87 Sistemas Operativos | 2017 Una vez que a un proceso se le asigna un recurso procesador, puede entrar en una iteración infinita (infinite loop) y no retornar nunca más el control al sistema. Deben existir mecanismos de protección de uso del procesador. Una alternativa es la utilización de un timer que interrumpa el procesador cada cierto tiempo. El sistema operativo al asignar la CPU carga un contador . Cada vez que la interrupción de timer se genera se ejecuta la rutina de atención correspondiente. En la rutina de atención de la interrupción el contador es disminuido. Si alcanza al valor 0, se le quita el recurso procesador al proceso y se invoca al planificador para que seleccione otro. La instrucción que permite cargar el contador debe ser privilegiada.
  • 88. Red 88 Sistemas Operativos | 2017 Las redes se puedenclasificar, básicamente, en dos tipos: – Red LAN (Local Area Network): • Las redes LAN son pequeñas y su alcance está limitado por lo general a no más de un edificio. • Velocidades de 10, 100, 1000 Mbits/s, o más. – Red W AN (Wide Area Network): • Las redes WAN son redes distribuidas sobre una región grande. • 1,5 a 100 Mbits/s. La diferencia principal es como están distribuidas geográficamente .
  • 89. LAN: Local Area Networks Son redes que interconectan sistemas a 89 Sistemas Operativos | 2017 corta distancia y se tiende a tenerinterconexiones de alta velocidad con baja tasa de error.
  • 90. WAN: Wide Area Networks Son redes que interconectan sistemas remotos. Los enlaces, por lo general, son provistos por empresas de telecomunicaciones. 90 Sistemas Operativos | 2017
  • 91. Topologías de red 91 Sistemas Operativos | 2017 Las redes pueden estar interconectadas de diferentes formas. Esto dependerá de: –Costos básicos: Qué costo a nivel monetario implica interconectar la red. – Costo a nivel de comunicación: Qué tiempo lleva enviar un mensaje desde un nodo a otro de la red. – Nivel de confianza:Qué tan resistente es la red ante eventuales fallos de componentes. Las topologías que se implementen dependerán de estás tres variables.
  • 92. Topologías de red Esquema 92 Sistemas Operativos | 2017 gráfico de algunas topologías más comunes: