Está en la página 1de 28

SISTEMAS OPERATIVOS

DEPARTAMENTO DE MATEMÁTICAS
Ciencias de la computación
Semestre 2 de 2014
Mtra. Ma. Teresa Chew Lee
Semana 5 Capítulo 6
15 al 19 de septiembre
SO multiusuario LINUX

• Su diseño se basa en UNIX, SO anterior que se


desarrolló para atender múltiples usuarios desde
terminales remotas conectadas a un sistema
centralizado de cómputo.
• Creaba un ambiente de gran computadora para el
desarrollo en una minicomputadora mucho
menos costosa.

SISTEMAS OPERATIVOS semana 6


2
Semestre 2 de 2014 UNISON
UNIX
• En 1969 Ken Thompson y Dennis Ritchie, con un
pequeño grupo de programadores, crearon UNIX.
• Las primeras versiones estaban escritas en
ensamblador.
• La tercera versión, se escribió en C, lenguaje
creado por Ritchie para escribir SO.
– lenguaje simple de bajo nivel que permitía al usuario
ignorar detalles del hw, pero le permitía escribir
programas que aprovecharan características especiales
del hw.

SISTEMAS OPERATIVOS semana 6


3
Semestre 2 de 2014 UNISON
UNIX
• Era un SO simple, consistente, pequeño y flexible.
• Propiedad de AT&T, quien proporcionó
gratuitamente la versión 6 a las universidades, y les
cobraba $100 por la versión 7, pero a gobierno y
empresas les cobraba $21,000, lo que era barato
comparado con los costos de las computadoras de
cientos de miles o millones de dólares.
• Varias compañías desarrollaron SO similares a UNIX,
para no pagar derechos a AT&T.

SISTEMAS OPERATIVOS semana 6


4
Semestre 2 de 2014 UNISON
UNIX  LINUX
• Linus Torvalds, estudiante de ciencias de la
computación en la Universidad de Helsinki, Finlandia,
tomó MINIX, un sistema limitado semejante a UNIX
desarrollado por Andrew Tanenbaum con fines
educativos, reescribió MINIX usando una PC basada en
Intel 386, usando lenguaje C en MINIX creando LINUX.
• Reescribió el código MINIX, añadiendo características
que le faltban, usando interfaces y utilerías UNIX.
• Linux es un núcleo de SO, basado en UNIX, construido y
usando mucho del software GNU.
• Linux y GNU son software “Open source”.
SISTEMAS OPERATIVOS semana 6
5
Semestre 2 de 2014 UNISON
LINUX
• Para usar Linux, al inicio se requería se experto en
Unix, pero no todos los usuarios se interesaban en
volverse expertos en crear SO desde cero.
• Algunas empresas crearon entonces “Distribuciones
de Linux”, que incluían versiones compiladas del
núcleo Linux con bibliotecas y utilerías GNU.
– Estas distribuciones se convirtieron en instaladores de Linux
para diferentes equipos, lo que actualmente es muy útil
porque ahorra tiempo y evita la posibilidad de omitir algún
detalle para instalar Linux.

SISTEMAS OPERATIVOS semana 6


6
Semestre 2 de 2014 UNISON
LINUX
Para identificar las versiones de Linux, el sistema es el
siguiente:
• La primera versión fue la 0.
• se compone de dos partes, un entero por ejemplo 2, un
punto y otro número (decimal)
• Cuando el decimal es impar, se trata de una versión para
desarrollo ( versión de experto) por ejemplo 2.7
• Cuando el decimal es par, es una versión para producción (o
versión de usuario) por ejemplo 2.6.
• Se agrega a la derecha otro punto y un número para
distinguir niveles de parche en la versión. 2.7.1.

SISTEMAS OPERATIVOS semana 6


7
Semestre 2 de 2014 UNISON
Organización de LINUX
• Usa un núcleo monolítico (todo el núcleo está cargado
en un programa único que contiene todos los
módulos del SO).
• Ventajas:
– Velocidad de procesamiento.
– Acceso directo a funciones, objetos y estructuras de datos
en el núcleo.

SISTEMAS OPERATIVOS semana 6


8
Semestre 2 de 2014 UNISON
Organización de LINUX
• Desventajas:
– Todo el código se ejecuta en modo supervisor, cualquier
error puede provocar problemas drásticos.
– Es más difícil de transportar a nuevas arquitecturas.
– Su código fuente puede volverse muy complicado.
– Agregar soporte para nuevos dispositivos es más
complicado, ya que el sistema debe detenerse y volver a
empezar, lo que no es atractivo para sistemas multiusuario
o para servidores que ofrecen muchos servicios en línea.

SISTEMAS OPERATIVOS semana 6


9
Semestre 2 de 2014 UNISON
Arquitectura de LINUX

SISTEMAS OPERATIVOS semana 6


10
Semestre 2 de 2014 UNISON
Micronúcleo
• El código en el núcleo se reduce para sólo incluir lo
absolutamente indispensable para controlar el sistema que
requiere trabajar en modo privilegiado, como gestión de
procesos, gestión de memoria y comunicación entre procesos.
• Como todo, esta organización tiene sus ventajas y sus
desventajas.
– El núcleo puede hacerse más robusto y transportable a otras
plataformas.
– Se ejecuta más lento y requiere mucho más interrupciones e
intercambio de contexto para funcionar.

SISTEMAS OPERATIVOS semana 6


11
Semestre 2 de 2014 UNISON
Arquitectura micronúcleo

SISTEMAS OPERATIVOS semana 6


12
Semestre 2 de 2014 UNISON
Módulos dinámicamente cargados
• En la versión 2.0 de Linux, se introdujeron este tipo de
módulos DLM.
• Con esto, el núcleo sólo requiere la funcionalidad mínima y
se amplía con módulos que se van cargando o descargando
según se necesiten, una vez que el núcleo está en
ejecución.
– Sistema de archivos
– Controladores de dispositivos específicos
– Controladores SCSI de alta gama (disco, cinta, CD-Rom)
– Controladores de redes.
– Controladores de impresoras en línea
– Controladores en serie (tty)
SISTEMAS OPERATIVOS semana 6
13
Semestre 2 de 2014 UNISON
Módulos dinámicamente cargados
• Al cargar un módulo, éste llama una función del
SO para registrarse a sí mismo en el núcleo, la cual
depende del tipo de módulo a cargar.

SISTEMAS OPERATIVOS semana 6


14
Semestre 2 de 2014 UNISON
Módulos dinámicamente cargados
• Lo interesante del manejo de estos módulos, es
que Linux permanece como open source, para ser
modificado por los usuarios, aunque incluya
módulos de otros desarrolladores que sean de
paga.
• Para que los módulos sean admitidos por el
núcleo y se puedan encontrar con él, se carga una
tabla de símbolos (ksym) como parte del núcleo.

SISTEMAS OPERATIVOS semana 6


15
Semestre 2 de 2014 UNISON
Manipuladores de interrupciones
• Los interruptores de hw son mecanismos por los cuales se
notifica al SO de cualquier evento asíncrono, por ejemplo
la llegada de un paquete de datos a un adaptador de red.
• El SO responde deteniendo lo que está haciendo para
atender la interrupción.
• El manejador de interrupciones de Linux, se basó en la
organización mitad superior – mitad inferior.
– La ms contenía los eventos que debían atenderse de inmediato.
– La mi contenía aquellos que podían esperar para ser atendidos.

SISTEMAS OPERATIVOS semana 6


16
Semestre 2 de 2014 UNISON
Manipuladores de interrupciones
• En versiones posteriores de Linux, la mi se rediseñó y
fue llamada tasklet.
• Las tasklets, a diferencia de las mi anteriores, pueden
ejecutarse en más de un procesador en un entorno de
múltiples CPUs, mientras las mi sólo corrían en un
CPU.

SISTEMAS OPERATIVOS semana 6


17
Semestre 2 de 2014 UNISON
Sistema de archivos en Linux
• En el sistema de archivos de Linux, aparecen muchas
cosas que no son archivos.
• Por ejemplo, los directorios proc y dev, no son en
realidad directorios; proc representa los programas en
ejecución y dev los dispositivos de hw o virtuales del
sistema.
• Cuando un usuario se registra en el sistema con Linux,
el SO hace que el directorio de trabajo en curso sea el
directorio indicado en home para ese usuario.

SISTEMAS OPERATIVOS semana 6


18
Semestre 2 de 2014 UNISON
Sistema de archivos en Linux

SISTEMAS OPERATIVOS semana 6


19
Semestre 2 de 2014 UNISON
Entorno del sistema multiusuario
• Cuando sólo hay un usuario para una computadora, las
cuestiones de seguridad no son relevantes, en todo
caso basta con poner una contraseña al equipo o
emplear utilerías para proteger los datos.
• Cuando hay varios usuarios, que pueden acceder a los
mismos archivos o compartirlos, se requiere que el SO
realice otras funciones de seguridad, para proteger los
archivos de un usuario, de los demás.
• La versión servidor de Linux, permite que varios
usuarios tengan acceso remoto a archivos y otros
recursos.
SISTEMAS OPERATIVOS semana 6
20
Semestre 2 de 2014 UNISON
Permisos para archivos
• El acceso a archivos lo lleva el SO asignando uno de
tres grupos:
1. El creador del arhivo es el propietario.
2. Sysadmin designa nombre de grupo y asigna nombres de
usuario a los miembros del mismo, para acceder a un
archivo.
3. Todos los que no son de los dos grupos anteriores.
• Hay tres posibles tipos de acceso a los
archivos:
– Escritura, lectura y ejecución.

SISTEMAS OPERATIVOS semana 6


21
Semestre 2 de 2014 UNISON
Permisos para archivos
• El propietario del archivo, a través de la utilería
chmod (cambio de modo), puede establecer los
permisos para un archivo (lectura, escritura o
ejecución) que tendrá el grupo (propietario, grupo o
todo el mundo).
-rwxr-x- -x gil develop spellcheck
grupo

grupo
Permisos
propietario

propietario
Permisos

Permisos todos
los demás

Archivo
ejecutable

SISTEMAS OPERATIVOS semana 6


22
Semestre 2 de 2014 UNISON
Bloques de control de archivos

SISTEMAS OPERATIVOS semana 6


23
Semestre 2 de 2014 UNISON
Procesos e hilos de ejecución

• Para manejar hilos (en Linux hilos y procesos es lo


mismo), se hace una llamada al sistema
denominada clone.
• Clone especifica un conjunto de banderas que le
indican al SO cuales segmentos en memoria (de
los procesos) han de compartirse entre un
proceso padre y su proceso hijo.

SISTEMAS OPERATIVOS semana 6


24
Semestre 2 de 2014 UNISON
Procesos e hilos de ejecución

SISTEMAS OPERATIVOS semana 6


25
Semestre 2 de 2014 UNISON
Multitarea apropiativa

• Linux es un sistema multitarea apropiativo.


– Cuando el SO inicia la ejecución de un proceso,
inicia un contador de tiempo, de modo que si
el proceso se toma demasiado tiempo sin
hacer interrupciones y el contador expira, el
SO se apropia de la CPU y manda al proceso a
la cola de listos .

SISTEMAS OPERATIVOS semana 6


26
Semestre 2 de 2014 UNISON
Multiprocesamiento simétrico

SISTEMAS OPERATIVOS semana 6


27
Semestre 2 de 2014 UNISON
Multiprocesamiento simétrico

• Multiprocesamiento asimétrico:
– El SO corre en un solo procesador, los demás
procesadores son para aplicaciones.
• Multiprocesamiento simétrico (SMP):
– El SO es tratado como cualquier otro proceso y
se ejecuta en varias CPU al mismo tiempo.

SISTEMAS OPERATIVOS semana 6


28
Semestre 2 de 2014 UNISON

También podría gustarte