Академический Документы
Профессиональный Документы
Культура Документы
1.1. N de usuarios:
- Monousuario: solo 1 usuario puede usar los recursos del sistema simultneamente
- Multiusuario: varios usuarios pueden usar los recursos del sistema simultneamente.
Por tanto, aunque haya ms de un usuario dado de alta en el sistema, si no pueden
trabajar de forma simultnea, el SO no es multiusuario.
1.3. N de procesadores :
- Monoprocesador: el SO es capaz de gestionar solo 1 procesador, de manera que si
tuviese ms sera intil. En estos SO los procesos irn alternando su ocupacin en la
CPU.
- Multiprocesador: el SO es capaz de gestionar varios procesadores, de modo que puede
usarlos simultneamente para distribuir su carga de trabajo. Estos sistema trabajan de
dos formas:
Asimtrica: el SO reparte las tareas, que est realizando, entre los
procesadores. Determinados procesos los ejecutar siempre un
procesador, y el otro procesador slo se utilizar para realizar procesos
de usuario. En este caso, es posible que un proceso est siempre
trabajando y el otro, en ocasiones, sin actividad.
Simtrica: los procesos son enviados indistintamente a cualquiera de
los procesadores disponibles.
N de N de N Tiempo de
Sistema Operativo
usuarios procesos procesadores respuesta
MS-DOS Mono Mono Mono Real
Windows 9x, Me Mono Pseudo Mono Compartido
multitarea
Windows NT Workstation, Mono Multi Multi Compartido
2000 Professional,
XP/Vista/7/8/10
UNIX, Linux, Multi Multi Multi Compartido
Windows NT Server,
Windows 2000 Server,
2003 Server y 2008 Server
Nota: Los SO pseudo multitarea son SO capaces de cargar en memoria ms de un
proceso y aparentemente ejecutar ms de uno al mismo tiempo. Sin embargo, estos SO no
son capaces de utilizar ms de 1 procesador por lo que, en realidad, solo se ejecuta un
proceso en cada momento (el procesador ejecuta secuencialmente cada uno de los
procesos iniciados).
2. Funciones del SO
El fin fundamental de un S.O. es coordinar la utilizacin que se hace del hardware dependiendo
de los programas o aplicaciones que se estn utilizando. Los programas que se utilizan los
decide, en la mayora de los casos, el usuario, pero en otras muchas ocasiones son programas
propios del SO los que tienen que estar funcionando para poder hacer que los programas de
usuario cumplan su objetivo.
En general, hardware, software y usuario se estructuran, en cuanto a la utilizacin de un
ordenador o sistema informtico, de forma jerrquica. Este tipo de estructura es la que permite
que el usuario interacte con el hardware, funcin esencial, por no decir nica, de cualquier
Sistema Operativo.
A continuacin se muestran las funciones principales que realiza todo sistema operativo:
- Gestin de procesos: control de la ejecucin de los programas. Para ello, acepta los
trabajos, administra la manera en que se realizan, les asigna los recursos y los conserva
hasta su finalizacin.
- Gestin de entrada / salida: administracin de perifricos, coordinando y manipulando los
dispositivos conectados al ordenador.
- Gestin de permisos de usuarios: adjudica los permisos de acceso a los usuarios y evita
que las acciones de uno afecten el trabajo que est realizando otro.
- Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el
mismo recurso.
- Gestin de ficheros: administra la informacin almacenada en los dispositivos de
almacenamiento en forma de ficheros.
- Control de errores. Gestiona los errores de hardware y la prdida de datos.
- Administracin de memoria. Asigna memoria a los procesos y gestiona su uso.
- Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el
software y la informacin almacenada en los sistemas.
Procesos activos en una sesin iniciada con Windows 7 [CTRL + SHIFT + ESC].
Durante la ejecucin de un proceso, este compite con el resto de los procesos que se estn
ejecutando de forma concurrente en el sistema, por el uso de los recursos hardware y a veces
por los recursos software. El reparto de los recursos del sistema entre los distintos procesos y
su ejecucin concurrente se conoce como multiprogramacin.
Durante su existencia, los procesos pasan por distintos estados cuyas transiciones estn
controladas por el sistema operativo.
Cuantas ms instrucciones sea capaz de ejecutar un procesador, mayor velocidad
obtendremos en el sistema, debido, especialmente, a que los procesos estarn esperando
menos tiempo a que la CPU o el procesador les asigne los recursos que necesitan.
A los procesos, dependiendo especialmente del sistema operativo utilizado, se les denomina
flujos de control, tareas, threads o hilos, dependiendo del contexto.
Un proceso, desde el punto de vista de su ejecucin, puede estar en uno de los siguientes
estados:
- Estado LISTO, PREPARADO o EJECUTABLE. Cuando se encuentre en memoria
principal, sin operaciones de E/S pendientes, y listo o preparado para entrar (o continuar)
en ejecucin, en el instante que el SO le asigne CPU. Es decir, el proceso se encuentra
preparado para ser ejecutado. Est esperando turno para poder utilizar su intervalo de
tiempo y poner en funcionamiento sus instrucciones accediendo a los recursos del
sistema.
- Estado de EJECUCIN o ACTIVO. Corresponde al proceso que en ese momento est
siendo atendido por la CPU. Un proceso activo sale del estado de ejecucin, en un
sistema de tiempo compartido, cuando:
1. Se le acaba su tiempo de ejecucin, pasando entonces al estado de LISTO.
2. Se inicia una operacin de Entrada/Salida en cuyo caso pasa a la situacin de
BLOQUEADO. Del estado de bloqueado pasa al de LISTO cuando acaba la operacin
de E/S.
- Estado de BLOQUEADO o Retenido en Cola. Son los que se encuentran en estado de
espera de ejecucin en un archivo cola de espera. El proceso est retenido, es decir,
est bloqueado debido a causas mltiples. Una de estas causas puede ser que dos
procesos utilicen el mismo fichero de datos. Otra puede ser que dos procesos necesiten
utilizar la misma unidad de CD-ROM para cargar determinados datos, etc.
Cada proceso tiene un identificador que lo discrimina de los dems. Cada proceso tiene un
nmero asignado por el sistema operativo que sirve precisamente para identificar el proceso,
lanzarlo a ejecucin, detenerlo, cancelarlo, reanudarlo, etc. Este identificador de proceso se
nombra con la abreviatura PID (Process IDentification).
Por otro lado, en cada sistema operativo, los procesos los lanzan normalmente otros procesos.
Es decir, que cada proceso que se lanza a ejecucin depende, en la mayora de los casos, de
otro proceso denominado proceso padre. As, al nuevo proceso lanzado se le denomina
proceso hijo.
Una vez que un programa se ha lanzado y se ha convertido en proceso, puede atravesar varias
fases o estados hasta que finaliza o termina. Cuando un proceso se lanza, nunca se ejecuta
directamente, sino que se coloca en la cola de procesos en un estado denominado preparado.
Cuando la CPU le asigna su tiempo, el proceso pasa de preparado a ejecucin. Estos dos
estados se alternarn en caso de que se est ejecutando ms de un proceso en el sistema.
Los cambios de estado en los que se puede encontrar un proceso se denominan transiciones.
Los diferentes estados tienen una relacin directa con lo que se denomina prioridades, que son
aquellas que el administrador del sistema, o el propio sistema, asignan a cada proceso. De ello
depender que un proceso se ejecute en ms o menos tiempo.
El S.O guarda en la tabla de procesos por cada proceso una estructura de datos llamada
Bloque de Control de Proceso (PCB) que almacena la siguiente informacin:
- Identificacin de proceso (del proceso en s (PID), del proceso padre(PPID) y de
usuario)
- Informacin de estado del proceso: preparado, en ejecucin, bloqueado
- Prioridad del proceso
- Direccin de memoria donde se ha cargado el proceso
- Otros (recursos utilizados, valores de los registros del procesador, propietario,
permisos)
Los cambios de contexto pueden suponer una sobrecarga si se utilizan con mucha frecuencia.
En general, suelen producirse cuando un proceso finaliza, es expulsado o se suspende.
Polticas principales para la planificacin:
- Planificacin no apropiativa: (algoritmos no expulsivos)
Los procesos se ejecutan hasta que terminan o se bloquean.
Sencillo de implementar.
Rendimiento pobre en general.
- Planificacin apropiativa: (algoritmos expulsivos)
Los procesos pueden ser expulsados de la CPU.
Mayor coste de implementacin. Necesitan soporte hardware adicional (relojes)
Mejora el servicio y evita monopolizacin de la CPU.
- SJF (Shortest Job First): primero el que menos tiempo total de CPU requiere. Se
escoge el proceso de la cola de preparados con una prxima racha de CPU ms corta y
se ejecuta hasta que se termine o se suspenda. Si hay varios procesos con rachas de
CPU iguales, se puede aplicar FIFO. Algoritmo no expulsivo.
Ventajas:
o Optimiza el tiempo de espera
o Favorece los procesos orientados a E/S
Desventajas:
o Es costoso averiguar cunto dura la siguiente racha de CPU
o Inanicin de los procesos con rachas de CPU largas.
- SRTF (Shortest Remainig Time First): primero al que menos tiempo de CPU le queda
para acabar. Versin apropiativa de SJF (como el SJF, solo que se puede echar a los
procesos)
- Planificacin por prioridades:primero el que tiene ms prioridad. Cada proceso tiene
asignada una prioridad. El planificador selecciona el proceso con prioridad ms alta (a
igual prioridad se selecciona con FCFS). Las prioridades pueden ser dinmicas (cambian
con el tiempo) o estticas (se mantienen).
Inconvenientes:
o Riesgo de inanicin de procesos con prioridad baja. Una
solucin sera aumentar la prioridad con el incremento del
tiempo de espera.
- Planificacin circular (Round Robin): se asigna a todos el mismo tiempo, por turnos. A
cada proceso se le asigna una cantidad de tiempo de CPU llamada quantum. Si el
proceso tiene un intervalo de CPU mayor que el quantum es expulsado de la CPU. La
cola de preparados se gestiona con una poltica FIFO.
Si el valor de quantum es grande el algoritmo degenera en FCFS. Si es pequeo se
generar una sobrecarga debido a cambios de contexto. Es equitativo
Ej. (Quantum = 2):
1.7.1. Reubicacin
Un proceso debe poder ejecutarse en diferentes ubicaciones de la memoria fsica, lo que
implica que las referencias a memoria que existen en el cdigo del programa tienen que ser
concretadas en posiciones de memoria fsica.
Adems, si un proceso enva informacin de memoria principal a memoria secundaria, cuando
vuelva a cargarse en memoria principal, debe poder hacerlo en otro lugar de la memoria
diferente al que estaba inicialmente.
Las tareas de gestin de la memoria son muy complejas, por lo que estas tareas se llevan a
cabo combinando una parte software (el gestor de memoria del SO) con una parte hardware: la
MMU (Unidad de Manejo de Memoria). La MMU es un componente hardware (normalmente
integrado en la CPU), responsable de manejar las peticiones de acceso a memoria que solicita
la CPU.
Concretamente, la MMU es la responsable de transformar las direcciones lgicas o virtuales
que emite la CPU a direcciones fsicas que recibe la memoria y proteger la memoria, entre
otras funciones.
Por tanto, al igual que un computador dispone de una memoria fsica, podemos considerar que
cada proceso tiene su memoria lgica o virtual.
El software de E/S se organiza en niveles. Los del nivel inferior ocultan las particularidades del
hardware a los del nivel superior que presentan una interfaz simple y uniforme al usuario.
Driver
2.1.6. Drivers
En general, las unidades de E/S constan de:
- Dispositivos de E/S: es el componente mecnico del dispositivo.
- Controlador: es el componente electrnico. Sus principales funciones son:
Comunicacin con el perifrico, intercambio de rdenes, informacin del estado.
Deteccin de errores.
Comunicacin con el procesador, descodificadores de rdenes, datos, informacin
de estado, reconocimiento de direccin.
El controlador se gestiona por medio de un componente software denominado driver, que
se instala en el SO. Para llevar a cabo una tarea de E/S el SO se comunica con el
controlador por medio del driver.
Estructura de un disco:
El tiempo de leer o escribir un sector del disco est determinado principalmente por estos
factores:
- Mover los cabezales sobre el cilindro solicitado => tiempo de bsqueda
- Esperar a que el sector pase ante la cabeza => tiempo de latencia
- Leer o escribir el sector => tiempo de transmisin
El ms costoso es el tiempo de bsqueda (tiempo que tarda el disco en mover los cabezales
sobre el cilindro solicitado), por lo que las peticiones a disco deben ser planificadas de modo
que se siga un orden que minimice el recorrido del cabezal (siguiendo algoritmos como el
FCFS, SSTF, SCAN). Esto tiene que ser logrado por el manejador del dispositivo (driver).
Los principales algoritmos de planificacin de acceso al disco existentes son los siguientes:
- FCFS (primero en llegar primero en ser servido): Planificacin por orden de llegada.
Ejemplo: Posicin cabezal: cilindro 53
Cola (n de cilindro): 98, 183, 37, 122, 14, 124, 65, 67
Para que un sistema informtico pueda ser considerado como un sistema transaccional, debe
cumplir las propiedades ACID:
- Atomicidad: Si una operacin consiste en una serie de pasos, todos ellos ocurren o
ninguno, es decir, las transacciones son completas.
- Consistencia: Integridad. Es la propiedad que asegura que slo se empieza aquello que
se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las
reglas y directrices de Integridad del sistema. Cualquier transaccin llevar el sistema de
un estado vlido a otro tambin vlido. De esta manera podemos garantizar que la
informacin que se presenta al usuario ser siempre la misma.
- Aislamiento (isolation): es la propiedad que asegura que una operacin no puede
afectar a otras. Esto asegura que la realizacin de dos transacciones sobre la misma
informacin sean independientes y no generen ningn tipo de error. Esta propiedad
define cmo y cundo los cambios producidos por una operacin se hacen visibles para
las dems operaciones concurrentes.
- Durabilidad: Persistencia. Es la propiedad que asegura que una vez realizada la
operacin, sta persistir y no se podr deshacer aunque falle el sistema y que de esta
forma los datos sobrevivan de alguna manera.
2.1.9. Particiones
Una particin de un disco duro es una divisin lgica del mismo, en la cual se alojan y
organizan los archivos mediante un sistema de archivos. Formalmente se denomina particin al
conjunto de cilindros contiguos de un disco que forman una unidad lgica independiente.
Para instalar un SO en un disco duro, o emplearlo para guardar datos, previamente hay que
particionarlo (crear particiones) e instalar un sistema de archivos.
Existen numerosas herramientas para crear particiones: el administrador de discos de Windows
o de Linux, Fdisk, Diskpart, Partition Magic, Acronis, ...
En Windows, las particiones reconocidas son identificadas con una letra seguida por dos
puntos (por ejemplo, C:), aunque tambin pueden ser montadas en directorios (por ejemplo
C:\Users). Prcticamente todo tipo de discos magnticosy memorias flash (como pendrives)
pueden particionarse. En sistemas UNIX y UNIX-like, las particiones de datos son montadas en
un mismo y nico rbol jerrquico, en el cual se montan a travs de una carpeta, proceso que
slo el superusuario (root) puede realizar.
2.1.9.1. Discos MBR (Master Boot Record)
Antes de hacer particiones, el disco se puede representar como un conjunto lineal de Sectores,
formado por conjuntos de 512 Bytes. El sector MRB sera el sector 1 del cilindro 0 y del cabezal
0. Tambin se llama registro de arranque maestro o sector de arranque. En su interior se
guardan:
Los parmetros fsicos del disco duro
Una estructura de datos llamada tabla de particiones
Un pequeo cdigo ejecutable que se encarga de leer la tabla de
particiones y detectar la particin activa (donde est el SO que debe
arrancar).
1 La EFI es una especificacin desarrollada por Intel, dirigida a sustituir a la antigua interface do estndar IBM PC
BIOS (empleada hasta ahora). El objetivo de esta Interface es establecer la forma en la que un software especfico
como un Sistema Operativo o una aplicacin de arranque debe acceder a los recursos do sistema
Mientras que los sistemas con MBR se inician con el cdigo de arranque maestro (que contiene
un binario ejecutable que identifica la particin activa e inicia el proceso de arranque), la GPT
se basa en las capacidades extendidas de EFI para estos procesos.
El esquema GPT sigue teniendo una entrada de MRB al inicio del disco (MBR heredado), que
proporciona proteccin y compatibilidad, y la GPT propiamente dicha comienza con la cabecera
de la tabla de Particiones.
El principal propsito de este MBR heredado es evitar que utilidades de disco basadas en MBR
no reconozcan o estropeen los discos basados en GPT. En estos MBR se indica que el disco
tiene una sola particin que comprende toda la unidad GPT.
En lugar de utilizar direcciones fsicas del disco como MRB (modelo, cilindro, cabeza, sector),
GPT direccionamiento lgico, denominado LBA (Logical Block Addressing).
- La informacin de MBR heredado est almacenada en el LBA 0.
- La cabecera GPT est en el LBA 1. En la cabecera se definen los bloques de disco que
pueden ser utilizados por el usuario, y el nmero y tamao de las entradas de particin
que conforman la tabla de particiones. Contiene tambin el GUID (globally unique
identifier) el disco, y las posiciones donde se almacenan la cabecera GPT y la GPT
secundarias. Contiene tambin una suma de verificacin que permite a los procesos EFI
comprobar durante el arranque que tanto la cabecera GPT como la propia GPT son
correctas.
- La tabla de particiones en s se ubicar en los bloques sucesivos. En la tabla de
particiones se registran: el GUID (identificador nico global) tanto del disco duro como de
la particin, los bloques LBA de inicio y final (que delimitan la particin del disco), los
nombres de las particiones y atributos relevantes de stas.
En los SOs Windows de 64-bits, se reservan 32 sectores (16.384 bytes) para la GPT, dejando
el bloque LBA 34 como el primero utilizable del disco.
Otra de las ventajas de GPT es que proporciona redundancia, ya que tanto la cabecera GPT
como la tabla de particiones estn escritas tanto al principio como al final del disco.
3.1.2. iOS
- SO creado por Apple
- No permite que se instale en ningn dispositivo que no sea de Apple.
3.1.3. Windows Phone
- SO mvil compacto desarrollado por Microsoft, se basa en el ncleo del
sistema operativo Windows CE y cuenta con un conjunto de aplicaciones
bsicas
- Actualmente va por la versin de Windows 10.
- Est diseado para ser similar a las versiones de escritorio de Windows
estticamente y existe una gran oferta de software de terceros disponible
para Windows Phone, la cual se puede adquirir a travs de la tienda en lnea
de Windows Store para mviles.
3.1.4. Symbian
- SO creado por varias empresas de telefona mvil (Nokia, Sony Ericsson, Samsung,
LG)
- El objetivo de Symbian fue crear un sistema operativo para terminales mviles que
pudiera competir con el de Palm o el Smartphone de Microsoft.
- El declive de Nokia arrastr consigo a su SO. En octubre de 2011 se confirma de forma
oficial que Symbian tendr soporte hasta el ao 2016, al no poder competir con la
versin de smartphones con sistemas operativos de ltima generacin como Android,
iOS o Windows Phone.
3.1.6. Linux
- Tipo de ncleo: Monoltico. Se basa en el SO Unix. ltima
versin estable Kernel: 3.6.1
- Software libre y cdigo abierto
- Distribuciones de Linux actuales: Mint, Ubuntu, Fedora,
Debian, Mageia, OpenSUSE
- Multiusuario y multitarea.
- Uso en Espaa en octubre de 2012: 2,03%
Es un SO de libre distribucin, por lo que se puede instalar y
actualizar de forma gratuita. Adems, tambin es de cdigo
abierto, por lo que podemos utilizar su cdigo fuente para
introducir modificaciones o mejoras.
Con el paso de los aos ha ido introduciendo notables mejoras
en los interfaces grficos de usuario. Adems, cuenta con muchas distribuciones y gestores de
ventanas para el entorno grfico, por lo que el usuario puede elegir la distribucin que ms le
convenga para sus necesidades o la que ms le guste, donde se puede elegir qu gestor de
ventanas se quiere utilizar.
Asimismo, Linux ha mejorado bastante en cuanto al reconcomiendo del hardware sobre el que
se instala y en cuanto a mejoras y novedades en el software que se puede instalar.
3.1.7. Mac OS X
- Tipo de ncleo: hbrido. XNU basado en Mach y BSD de Unix
- Licencia: Propietaria / Apple CLUF
- Cdigo cerrado con componentes en cdigo
abierto (como Darwin y WebKit)
- ltima versin: Mac OS X Mountain Lion
- Multitarea y multiusuario
- Uso en Espaa en octubre de 2012: 6,61%
OS X es un sistema operativo desarrollado y
comercializado por Apple que ha sido incluido en su
gama de computadoras Macintosh desde 2002. Est
basado en BSD. Desde la versin Mac OS X 10.5
Leopard para procesadores Intel, el sistema tiene la
certificacin UNIX (esto permite certificar que puede
hacer funcionar ciertos software, como por ejemplo
Oracle).
Los nombres de las versiones de Mac OS X tienen
nombre de grandes felinos, por ejemplo: Mac OS X v10.7
es denominado Lion.
Porcentajes de uso de SOs de escritorio en julio de 2016 (http://gs.statcounter.com/#desktop-os-ww-monthly-201607-
201607-bar)