Unidad 1
Unidad 1
Unidad 1
UNIDAD
1
Introducción y
conceptos básicos
CONCEPTOS BÁSICOS
Administración
Abstracción
de recursos
Funciona como una interfaz entre el Al gestionar toda la asignación de recursos,
software y el hardware del sistema, el sistema operativo puede implementar
proveyendo una plataforma de hardware políticas que los asignen de
consistente sobre la cual corren las forma efectiva y acorde a las necesidades
aplicaciones. establecidas para dicho sistema.
Aislamiento
Por el lado de Apple, la evolución fue muy en paralelo: ante un sistema ya agotado y
obsoleto, el MacOS 9, en 2001 anunció una nueva versión de su sistema operativo que fue
en realidad un relanzamiento completo: MacOS X es un sistema basado en un núcleo Unix
BSD, sobre el microkernel Mach. Y otro importante jugador que entró en escena durante los
años noventa
fue el software libre, por medio de varias implementaciones distintas de sistemas tipo Unix,
principalmente, Linux y los *BSD (FreeBSD, NetBSD, OpenBSD).
SISTEMA PARA
DISPOSITIVOS MOVILES
iOS El sistema operativo de Apple, y diseñado exclusivamente para el
hardware producido por dicha compañía. Fue el primero en implementar la
interfaz usuario multitouch y, en buena medida, se puede ver como el
responsable de la explosión y universalización en el uso de dispositivos
móviles. Al igual que el sistema operativo que emplean para sus equipos
de escritorio, MacOS X, iOS está basado en el núcleo Darwin, derivado de
FreeBSD, un sistema libre tipo Unix.
SISTEMA PARA
DISPOSITIVOS MOVILES
Android Diseñado por la compañía Google, basa la mayor parte de su
operación en software libre (un núcleo Linux, máquina virtual Java, y
muchas de las bibliotecas de sistema comunes en sistemas Linux),
agregando una capa de servicios propietarios. La estrategia de Google ha
sido inversa a la de Apple: en vez de fabricar sus propios dispositivos,
otorga licencias para el uso de este sistema operativo a prácticamente
todos los fabricantes de hardware, con lo que la amplia mayoría de los
modelos de teléfonos inteligentes y tabletas corren sobre Android.
SISTEMA PARA
DISPOSITIVOS MOVILES
Windows Phone Microsoft ofrece una versión de su sistema operativo,
compatible en API con el Windows de escritorio, pero compilado para
procesador ARM. Este sistema operativo no ha logrado conquistar gran
popularidad, en claro contraste con su dominación en el cómputo
tradicional de escritorio; el principal fabricante que vende equipos con
Windows Phone es Nokia (que, después de haber sido la compañía líder
en telefonía, fue adquirida por Microsoft mismo).
SISTEMA PARA
DISPOSITIVOS MOVILES
Symbian Si bien este sistema operativo ya está declarado como
oficialmente muerto, su efecto en el desarrollo temprano del segmento fue
fundamental, y no puede ser ignorado. Symbian fue la plataforma principal
para Nokia en su época de gloria, así como para muchos otros fabricantes.
Casi todas las empresas que antiguamente operaban con Symbian han
mudado su oferta a sistemas Android.
SISTEMA PARA
DISPOSITIVOS MOVILES
Firefox OS La fundación Mozilla, responsable del navegador Firefox (y
heredera del histórico Netscape) está intentando entrar al mercado móvil
con este sistema, basado (al igual que Android) en el núcleo de Linux, pero
orientado a ofrecer una interfaz de programación siguiendo completamente
los estándares y lenguajes para uso en la Web. Esta plataforma hace una
apuesta mucho más agresiva que las demás a un esquema de conexión
permanente a la red de datos.
Cambios en los sistemas
operativos moviles
Almacenamiento en estado sólido Multitarea, pero monocontexto
Los dispositivos móviles operan con almacenamiento en La popularización del cómputo móvil llevó, sin
estado sólido embargo, a una fuerte reducción en las
A expectativas de multitarea.
e n l ma Esto principalmente por dos razones; la primera es
xt o
No emplean memoria virtual, por tanto, mantener en
te er
e s ce que, al carecer los dispositivos móviles de memoria
o
on , p
ejecución programas que excedan del espacio real de
ta na
oc rea
memoria. do m virtual, la memoria disponible se vuelve
i
Alm só ent
on ta
nuevamente un bien escaso, y el sistema operativo
m ulti
l o
to acen ido se ve obligado a limitar al número de procesos
M
en am interactivos en ejecución.
só esta ien s
t
lid do
o El jardín n ten nce
Consumo eléctrico o a
amurallado C rform Entorno cambiante
Los dispositivos móviles operan bajo una filosofía de eP
El dispositivo móvil debe ser más enérgico en sus
siempre encendido a pesar de que el usuario no esté
cambios de perfil de energía, respondiendo a un
atento a su dispositivo.
tr mo
- En caso de entrar una llamada telefónica, tiene que entorno cambiante. Puede aumentar o disminuir la
o
éc u
luminosidad de la pantalla dependiendo de la
En bia
ic
el ns
ca
responder inmediatamente alertando al usuario. La
Contents luminosidad circundante, o desactivar determinada
m
o
to nt
interfaz usuario del teléfono puede parecer apagada,
C
Performance funcionalidad si está ya en niveles críticos de
rn e
pero su lógica se mantiene activa.
o
- El equipo tiene que estar siempre alerta a las carga. Con respecto a la red, debe poder
aprovechar las conexiones fugaces mientras el
condiciones cambiantes de red (tanto telefónica
usuario se desplaza, iniciando eventos como el de
como de datos), midiendo la señal de las antenas
sincronización.
celulares más cercanas; mantenerse asociado a una
antena remota requiere más energía que a una El jardín amurallado
cercana.
Una consecuencia indirecta (y no técnica) del
nacimiento de las plataformas móviles es la
popularización de un modelo de distribución de software
conocido como una plataforma cerrada.
Seguridad Informática
Abstracción Aislamiento
Un usuario tenga derecho a
Si el sistema operativo ofrece
modificar un archivo que esté
separación entre los datos,
alojado en determinada unidad de
procesos y recursos de sus distintos
disco, no debe poder escribir
usuarios, ninguno de ellos debe
directamente al disco; su acceso
accidental o intencionalmente–
debe estar limitado a la interfaz que
tener acceso a la información que
el sistema le ofrece.
otro haya marcado como privada.
Microkernel
El núcleo del sistema operativo se
mantiene en el mínimo posible de
funcionalidad, descargando en procesos
especiales sin privilegios las tareas que
implementan el acceso a dispositivos y
las diversas políticas de uso del sistema.
Monolíticos
Hay un sólo proceso privilegiado que
opera en modo supervisor, y dentro
del cual se encuentran todas las
rutinas para las diversas tareas que
realiza el sistema operativo. Sistemas con concepciones híbridas
Sistemas que son mayormente
monolíticos pero que manejan algunos
procesos que parecerían centrales
mediante de procesos de nivel usuario
como los microkernel (por ejemplo, los
sistemas de archivos en espacio de
usuario, FUSE, en Linux).
Monolíticos
Microkernel
Sistemas con
concepciones
híbridas
SISTEMAS OPERATIVOS
S.O COMERCIAL
Esto implica que los usuarios pueden recibir asistencia técnica, como soporte
telefónico o en línea, y actualizaciones que corrigen errores, mejoran la
seguridad y agregan nuevas funcionalidades.
Estos servicios suelen ser ofrecidos por la empresa o entidad que desarrolla el
sistema operativo, y pueden ser un componente importante para los usuarios
empresariales que requieren un nivel de soporte y mantenimiento profesional.
SISTEMAS OPERATIVOS
S.O COMERCIAL
Esto implica que las decisiones de desarrollo y diseño del sistema operativo
pueden estar influenciadas por consideraciones comerciales, como la
maximización de las ventas, el cumplimiento de las expectativas del mercado
y la obtención de beneficios financieros.
SISTEMAS OPERATIVOS
S.O COMERCIAL
Esto significa que los usuarios no tienen acceso al código fuente, lo que limita
su capacidad de modificar y adaptar el sistema operativo según sus
necesidades individuales. El desarrollo cerrado también puede dificultar la
participación de la comunidad de desarrolladores externos en la mejora y la
evolución del sistema operativo.
SISTEMAS OPERATIVOS
S.O LIBRE
Esto significa que los usuarios pueden examinar cómo funciona el sistema
operativo, comprender su funcionamiento interno y aprender de él. La libertad
de estudio fomenta la transparencia y el conocimiento compartido, lo que
permite a los usuarios comprender y mejorar el sistema operativo.
SISTEMAS OPERATIVOS
S.O LIBRE
Sistema de archivos: Es
Gestor de dispositivos: responsable de la organización y
Administra los dispositivos de el acceso a los datos
entrada/salida del sistema. almacenados en el sistema.
Controla la comunicación entre Gestiona la estructura de
los dispositivos y los procesos directorios y archivos, realiza
del sistema operativo, y operaciones como la creación,
proporciona una interfaz lectura, escritura y eliminación de
estandarizada para acceder a los archivos, y garantiza la integridad
dispositivos. y seguridad de los datos
almacenados.
Organización de un Sistema Operativo
Cada uno de estos componentes del Kernel puede ser controlado y visualizado por el
técnico gracias a un conjunto de herramientas provistas por los mismos sistemas
operativos para controlar la ejecución correcta y coordinada de cada uno.
Organización de un Sistema Operativo
Como el Kernel tiene un tipo de comunicación básicamente binaria, por ese motivo
requiere para su comunicación con el software de una interface comunicacional,
que se conoce como API. La API (Applicattions Programmers Interface) es un
conjunto de programas que prestan funcionalidades de "traducción" entre el
software que carga el sistema operativo y el Kernel o núcleo.
Los núcleos actuales de los sistemas operativos Linux y Windows (este último
basado en núcleos NT) son muy estables y fiables. La mayor parte de las veces las
inestabilidades generadas en NT dependen de malas configuraciones técnicas y
una administración deficiente del personal humano y no de problemas de diseño del
sistema operativo.
Así como desde el punto de vista técnico el sistema PC está compuesto de capas
funcionales, un sistema operativo también requiere de la combinación de varios
componentes:
Unidad de procesamiento
Es la parte fundamental de todo sistema de cómputo. Esta es la encargada de
ejecutar tanto los programas del usuario como el sistema operativo en sí mismo.
In
virtual (paginación, segmentación), etcétera.
ic
.
ia
l iz
ac
i ón
Como se verá más adelante, la unidad
de procesamiento puede encontrar una
situación que no puede resolver
por sí misma (una instrucción o dirección
inválida, una división
l as nes por cero, etc.), ante lo cual le pasa el control
d er cio nes al sistema operativo para
ten rrup cio que éste trate o resuelva la situación.
A te ep
in exc
y
En un sistema multiproceso, el sistema
operativo es el encargado
M
exclusiva.
ac
i
ón
Unidad de procesamiento
Jerarquía de almacenamiento.
Los programas y datos necesitan estar en el almacenamiento principal para ser
ejecutados o para poder hacer referencia de ellos. Los programas o datos que no
se necesitan de inmediato pueden guardarse en el almacenamiento secundario
hasta que se necesiten, y en ese momento se transfieren al almacenamiento
principal para ser ejecutados o hacer referencia a ellos. Los sistemas con varios
niveles de almacenamiento requieren destinar recursos para administrar el
movimiento de programas y datos entre niveles
Unidad de procesamiento
Jerarquía de almacenamiento.
Unidad de procesamiento
Jerarquía de almacenamiento.
La memoria caché o memoria de alta velocidad es mucho más rápida que el
almacenamiento principal. La memoria caché es extremadamente cara, por lo que sólo se
utilizan memorias caché relativamente pequeñas.
Los programas en la memoria caché se ejecutan mucho más rápido que en la memoria
principal.
Interrupciones y excepciones
La ejecución de los procesos podría seguir siempre linealmente, atendiendo a las
instrucciones de los programas tal como fueron escritas, pero en el modelo de uso de
cómputo actual, eso no serviría de mucho: para que un proceso acepte interacción, su
ejecución debe poder responder a los eventos que ocurran alrededor del sistema. Y los
eventos son manejados mediante las interrupciones y excepciones (o trampas). Cuando
ocurre algún evento que requiera la atención del sistema operativo, el hardware encargado
de procesarlo escribe directamente a una ubicación predeterminada de memoria la
naturaleza de la solicitud (el vector de interrupción) y, levantando una solicitud de
interrupción, detiene el proceso que estaba siendo ejecutado.
Unidad de procesamiento
El sistema operativo entonces ejecuta su rutina de manejo de interrupciones
(típicamente comienza grabando el estado de los registros del CPU y otra
información relativa al estado del proceso desplazado) y posteriormente la atiende.
Los eventos pueden ser, como ya se mencionó, indicadores de que hay algún
dispositivo requiriendo atención, pero pueden también provenir del mismo sistema,
como una alarma o temporizador (que se emplea para obligar a todo programa a
entregar el control en un sistema multitareas) o indicando una condición de error
(por ejemplo, una división sobre cero o un error leyendo de disco).
Unidad de procesamiento
Administrar el hardware manejador de interrupciones Punto de entrada al sistema operativo
Esto incluye el enmascarado y desenmascarado de las Muchos procesadores y sistemas operativos utilizan las
interrupciones, asignar y configurar interrupciones a cada interrupciones
dispositivo, notificar al manejador cuando la interrupción ya como medio por el cual un proceso de usuario realiza una
ha sido atendida, etcétera. llamada
al sistema.
FUNCIONES
DEL S.O
RESPECTO A
LAS
INTRUCCIONES
Comunicaciones
Manipulación de archivos 5
Crear, borrar o renombrar un archivo; 2 Establecer una comunicación con
determinado proceso (local o remoto),
abrir o cerrar un archivo existente; aceptar una solicitud de comunicación
El sistema operativo protege a
modificar sus metadatos; leer o escribir de otro proceso, intercambiar
de un descriptor de archivo abierto, un proceso de otro, y previene
información sobre un canal establecido.
etcétera. que un proceso ejecutándose en
espacio no privilegiado
tenga acceso directo a los Protección
Manipulación de dispositivos
dispositivos. Cuando un 6
Solicitar o liberar un dispositivo; leer,
3 proceso requiere de alguna
Consultar o modificar la información
relativa al acceso de objetos en el disco,
escribir o reposicionarlo, y otras varias. acción privilegiada, accede a otros procesos, o la misma sesión de
Muchas de estas llamadas son análogas usuario.
ellas realizando una llamada al
a las de manipulación de archivos, y
varios sistemas operativos las ofrecen sistema.
como una sola.
EXPOSICION
1. Rootkits
2. Sistemas basados en malla o grid
3. El Módulo de Plataforma Confiable (TPM o SecureBoot)
4. Sistemas de arranque modernos en sistemas tipo Unix
5. Planificación en sistemas operativos reales
6. Núcleo prevenible, tiempo real y optimización fina
7. Las clases de planificación en Linux y SCHED_DEADLINE
8. Esquemas de asignación de memoria en una realidad NUMA
9. Mecanismos para mantener la coherencia en caché
10.Sistemas de archivos distribuidos
11.Desduplicación
12.Sistemas operativos mínimos para la nube
13.Detalles de los sistemas de archivos en flash