Ut 1. Somo
Ut 1. Somo
Ut 1. Somo
Sistema Operativo:
conceptos básicos
Contenidos:
3. Gestión de procesos.
4. Planificación de la CPU.
5. Gestión de memoria.
6. Dispositivos de E/S.
7. Sistemas de archivos.
9. Tipos de licencias.
1
1. Ordenador. Sistemas Informáticos. Programa.
Un ordenador o PC es una herramienta que permite un tratamiento automático de la
información. Donde un tratamiento automático conlleva la:
• Organización
• Tratamiento
• Transmisión
• Almacenamiento de dicha información.
En definitiva los Sistemas Informáticos son una serie de elementos físicos, más
conocidos como hardware, los cuales realizan un proceso determinado de forma
rápida y con gran precisión mediante las órdenes o instrucciones, llamados software o
componentes lógicos, todo ello manejado por una o varias personas.
• Seguridad: El SO debe actuar contra cualquier manipulación del tipo que sea,
tanto accidental como premeditada que haga que la información y que
provoca un funcionamiento no deseado del sistema o incluso puede llegar a
perjudicar a terceros.
• Abstracción: Se intenta ocultar lo más posible los detalles de más bajo nivel,
intentando que los niveles superiores tengan una visión más global y sencilla. Es
decir, proporcionar una visión de máquina virtual extendida.
• Ejecutar programas
• ¿Es fácil encontrar administradores para este SO? ¿La administración es una tarea
“oscura” y exclusiva de personal ultra-especializado?
o Memoria central
o Buses
• Circuito combinado u operacional. Realiza las operaciones con los datos de los
registros de entrada.
Las operaciones básicas que se pueden hacer en una memoria son las de lectura y
escritura, para lo cual tiene asociados dos registros que son:
Esta unidad coordina la comunicación entre los periféricos y la CPU, adecuando las
diferentes características, velocidades, modos de comunicación de los periféricos
para que la CPU sea capaz de trabajar con ellos.
1.3. Firmware
El firmware es un software que viene integrado directamente dentro de un hardware,
es una memoria especial. En definitiva, un conjunto de instrucciones de un programa
informático que se encuentra registrado en una memoria ROM, flash o similar.
8
2.1.1. Nivel de núcleo
En los S.O. Multiproceso se encarga de compartir la CPU entre los distintos procesos
realizando entre otras las siguientes funciones principales:
• Sincronización
9
2.1.3. Nivel supervisor
• protección de acceso
10
3. Gestión de Procesos
Un proceso es un programa en ejecución. No confundir procesos con archivos o
programas (en disco).
11
3.2. Transiciones de los estados de un proceso
Primero se crea el proceso, se carga el programa en memoria y pasa a estar
preparado o listo.
12
4. Planificación de la CPU
Los Sistemas Operativos Multiprocesador son capaces de gestionar
ordenadores con más de un procesador y ejecutar varias tareas al mismo
tiempo.
En algunos casos el Sistema Operativo puede crear una ilusión y parece que
ejecuta varias tareas de forma simultánea pero, en realidad la CPU salta de una a
otra. Es lo que se conoce como sistema operativo multitarea.Por medio de
interrupciones, el sistema va cambiando de proceso activo cada cierto tiempo
aunque no haya finalizado la ejecución.
El S.O. al compartirla CPU entre los distintos procesos tiene que perseguir los siguientes
objetivos:
• Equidad
• Eficiencia
• Rendimiento alto
13
5. Gestión de memoria.
Una de la funciones básicas del S.O. es la de hacer ver al usuario que se ejecutan
varios procesos "al mismo tiempo" y para ello, deberá compartir todos los dispositivos
entre los distintos procesos buscando la máxima eficiencia sin que existan problemas
de coordinación.
Cada proceso en ejecución necesita un área de memoria para ubicar tres tipos de
datos:
Dos procesos pueden tener una zona de trabajo compartida a la que los dos procesos
tengan acceso. En este caso, el gestor de memoria deberá controlar el acceso a esas
zonas compartidas para que los datos escritos y leídos sean correctos y no se
produzcan colisiones y o lecturas erróneas.
Los sistemas actuales combinan varias de estas técnicas para la gestión de memoria.
14
5.1. Bloques fijos. Paginación.
La opción más sencilla de realizar asignaciones es dividir la memoria en partes fijas del
mismo o distinto tamaño.
• Estos segmentos pueden tener distinta longitud y esta puede variar según las
necesidades del programa de forma dinámica.
La idea básica es que el tamaño del programa, los datos y la pila combinados pueden
ser mayores que la memoria disponible para ese proceso. El S.O. guarda aquellas
partes del programa de uso comente en la memoria principal y el resto en disco.
15
No todas las partes de un programa se utilizan al mismo tiempo, por lo que pueden
cargarse en memoria únicamente los datos que se piense que se van a utilizar
inicialmente y, posteriormente, ir cogiendo el resto del disco.
El S.O. decide qué partes del programa puede cargar en memoria, cuándo cargadas
y dónde ubicarlas, corriéndose el riesgo de perder mucho tiempo en accesos al disco
si la elección es errónea.
• permite tener más programas cargados a la vez, esto es, facilita la multitarea.
16
6. Dispositivos de E/S.
Para poder procesar y mostrar la información externa en sus distintas formas, el sistema
informático necesita que haya una comunicación entre las unidades periféricas y los
componentes internos (procesador, memoria, buses).
Sin embargo, además del hardware necesitaremos que alguien (software) coordine las
distintas comunicaciones con los dispositivos y su driver-SW, y ese será nuevamente el
Sistema Operativo (nivel Supervisor).
En resumen, esta parte del SO, tienen como misión gestionar las operacionesde que un
proceso realice sobre un dispositivo externo, ocultándole las peculiaridades del mismo,
gestionando las interrupciones con seguridad y controlando los posibles errores.
17
• Los dispositivos tipo carácter:
Nota: Hay que matizar que las transferencias se tendrán que realizar entre el dispositivo
de entrada/salida y la memoria interna del ordenador ya que para que se procese la
información tiene que estar en la memoria interna.
18
6.3. Drivers (manejadores de dispositivos)
El software de manejo de los dispositivos está organizado en capas. Las capas
inferiores se encargan de ocular las peculiaridades del hardware y las capas superiores
de presentar un interfaz amigable a los usuarios.
19
7. Sistemas de archivos
Entre las funciones de SO también se encuentra la gestión de la información que reside
en el almacenamiento secundario (memoria externa) como es el caso de los discos
duros.
Para manejar esa información los datos se organizan en colecciones de datos llamadas
archivos o ficheros. Un archivo puede contener un documento de un procesador de
textos, un programa ejecutable, un conjunto de órdenes al propio SO, etc.
Para facilitar la organización e identificación de los archivos, así como la protección y uso
compartido en entornos multiusuario, se recurre a estructuras jerárquicas(forma de árbol)
compuestas por directorios y archivos.
20
Es la forma de almacenar información y poderla recuperar después, haciendo
transparente al usuario el funcionamiento real de los dispositivos de almacenamiento.
El archivo se identifica por su nombre, cuya longitud y caracteres que admite dependen
del sistema de archivos.
La otra característica de los archivos son sus atributos. Varían de un sistema de archivos a
otro. El sistema operativo podrá aportar más o menos información al usuario, así como
llevar a cabo las funciones relativas a protección y uso compartido (permisos).
El árbol es de raíz única, de modo que cada fichero tiene un único nombre de ruta de
acceso. El nombre de ruta de acceso o trayectoriaes la concatenación de los nombres
de directorio y subdirectorios desde el directorio raíz hasta el nombre del fichero.
Se define directorio hijo de un directorio como el directorio que tiene por padre al
primero. Undirectorio puede contener múltiples directorios hijos, y cada directorio (a
excepción del raíz) eshijo de algún otro.
Se define directorio actual como aquel en el que trabaja el usuario por defecto. Suele
serreferenciado por los sistemas operativos con un punto (.).
• Ruta absoluta, la que hemos definido, por la cual se nombra a cada fichero con
respecto al directorio raíz. Ejemplo →C:\Documentos\Jose\Privado\Carta.txt.
• Ruta relativa, se nombra al fichero con respecto al directorio actual. Para esta labor se
utilizan referencias al directorio padre y al actual.Ejemplo→..\Privado\Carta.txt
21
7.2.1. Unidades lógicas en Windows
En Windows las unidades lógicas se representan con una letra seguida de dos puntos (ej.
D:).
Ej. C:\Users\usuario\Resultado.txt
Toda la estructura de archivos nace de un único directorio raíz que se identifica con el
carácter / (punto de montaje de la partición de sistema cuando instalamos Linux).
Ej. /home/yxz/Mail
22
7.3. Sistemas de archivos (SGA)
El SO debe gestionar el espacio asignado. Esto incluye el control de bloques asignados a
archivos y bloques libres. Ampliar un archivo consume bloques libres y el borrado de
parches o archivos completos produce bloques libres para asignar.
La estrategia para hacer este trabajo debe tener en cuenta varios factores:
b) Uso eficiente del disco (parte usada para datos reales respecto a datos para el
SGA).
Para hacer este trabajo, el SO tendrá que mantener una serie de datos adicionales
(además de la información de los propios archivos) que depende de cada Sistema de
archivos.
Es muy importante conocer los sistemas de archivos que soporta cada SO, además cada
sistema tendrá unas determinadas características respecto a:
Se caracteriza por mantener una tabla de asignación de archivos (FAT) que incluye un
registro por bloque o cluster del disco. En el registro se indica si el bloque está libre u
ocupado y en este caso, contiene la dirección del siguiente bloque.
Cuando se crea un archivo se crea una entrada la FAT y se le indica el número del primer
bloque o cluster que contiene los datos.
23
➢ Admite atributos de lectura, oculto, sistema, modificado.
➢ Utiliza la convención de nombres de archivo 8.3 (8 nombre, 3 extensión). El nombre
debe empezar con una letra o un número y puede contener cualquier carácter
excepto los siguientes: . ” / \ [ ] : ; | = ,
➢ Hay ciertos nombres reservados: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2,
LPT3, PRN, NUL
➢ No distingue entre mayúsculas y minúsculas.
➢ Recomendable para unidades o particiones de menos de 200 MB. Al aumentar el
tamaño del volumen baja el rendimiento.
➢ Tamaño máximo de archivo hasta 2GB.
➢ Tamaño máximo de partición o volumen hasta 2GB.
➢ Si desde Windows eliminas un archivo puedes recuperarlo si reinicias en modo MS-
DOS.
➢ Accesible desde MSDOS, Windows 95, 98, NT, 2000, XP, Vista, Server 2003 y 2008.
24
➢ Accesible desde Windows XP/Vista/7, Server 2003 y 2008 y desde la plataforma Linux
(Ubuntu).
➢ Incluye control de transacciones.
➢ Permite gestión de dominios (relacionado con atributos y permisos) en red.
➢ La implementación del SGA se basa en que toda la información está también en
archivos. La Master File Table(MFT= tabla maestra de archivos). Es la base de datos
(compuesta por varios archivos) que incluye todos los datos de los archivos y carpetas
de la partición (nombre, ubicación, atributos,…).
➢ Produce menor nivel de fragmentación que FAT32.
➢ NTFS permite definir el tamaño del clúster, a partir de 512 bytes (tamaño de un sector)
de forma independiente al tamaño de la partición (clúster predeterminado 4KB).
25
7.3.7. Otros sistemas de archivos
26
8. Clasificación de los Sistemas Operativos.
Según la perspectiva con la que se observen los sistemas operativos, pueden realizarse
múltiples clasificaciones. Entre ellas se pueden incluir las siguientes:
• Monolítica
Estructura interna • Por capas
• Máquina Virtual
• Monoprocesador
Número de procesadores • Multiprocesador
• Propietarios
Disponibilidad • Libres
• Sistemas Centralizados
Forma de ofrecer los • Sistemas de Red
servicios • Sistemas Distribuidos
27 ISO-T1.A1
8.1. Estructura interna
8.1.1. Monolítica
Estos sistemas tienen la ventaja de ser muy rápidos en su ejecución (solo hay que
ejecutar un programa) pero cuentan con el inconveniente de carecer de la
flexibilidad suficiente para soportar diferentes ambientes de trabajo o tipos de
aplicaciones y son difíciles de modificar. Es por esto que estos sistemas operativos
suelen ser hechos a medida, para solucionar un problema en concreto y no para
trabajar de forma generalista.
Se dividió el sistema operativo en pequeñas partes, de tal manera que cada una de
ellas estuviera perfectamente definida y con un claro interface con el resto de
elementos.
28 ISO-T1.A1
8.1.3. Máquina Virtual
Se trata de un tipo de sistema operativo que presenta una interfaz a cada proceso,
mostrando una máquina que parece idéntica a la máquina real.
El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión
llevar a cabo la multiprogramación, presentando a los niveles superiores tantas
máquinas virtuales como se soliciten. Estas máquinas virtuales, no son máquinas
extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas
se puede ejecutar un sistema operativo diferente, que será el que ofrezca la máquina
extendida al usuario.
Son aquellos que sólo permiten ejecutar uno de los procesos cargados en la memoria
principal. Cuando se finalice por completo ese proceso, el SS.OO dará paso al
siguiente proceso y así sucesivamente.
29 ISO-T1.A1
8.2.2. Multitarea
Es aquel que permite al usuario estar realizando varias labores al mismo tiempo. Es común
encontrar en ellos interfaz gráficas orientadas al uso de menús y el ratón, lo cual permite un
rápido intercambio entre las tareas para el usuario, mejorando su productividad.
Ejemplo: MS-DOS
8.3.2. Multiusuario
Son sistemas operativos que son capaces de dar servicio a más de un usuario a la vez,
ya sea por medio de varios terminales conectados a la ordenadora o por medio de
sesiones remotas en una red de comunicaciones. No importa el número de
procesadores en la máquina ni el número de proceso que cada usuario puede
ejecutar simultáneamente.
Ejemplo: Linux
8.4.2. Multiprocesador
b) Simétricamente, los procesos o parte de ellos (threads, hebras o hilos) son enviados
indistintamente a cualquiera de los procesadores disponibles, teniendo una mejor
distribución y equilibrio en la carga de trabajo.
8.5. Disponibilidad
8.5.1. Propietarios
Son aquellos que son propiedad de la empresa que los desarrolla. La empresa no
vende en realidad el sistema operativo, sino una licencia de uso del mismo. Con lo
cual, no se tiene acceso al código fuente del sistema, o por lo menos, no se tiene
permiso para modificarlo libremente.
8.5.2. Libres
No hay que confundir el hecho de ser libre con el hecho de que sean gratuitos. Todo
depende del tipo de licencia.
31 ISO-T1.A1
8.6.1. Sistemas Centralizados
Son aquellos que utilizan los recursos de una solo ordenador, es decir, su memoria,
CPU, disco y periféricos.
Estos sistemas ofrecen mayor control de seguridad y son fáciles de mantener, por el
contrario su velocidad de respuestas lenta, la interfaz de usuario poco llamativa,
necesita de un mecanismo de respaldo o copia del sistema en caso de «catástrofe» y
su crecimiento depende de los equipos que soporta.
32 ISO-T1.A1
Sistema que mantiene a dos o más equipos unidos a través de algún medio de
comunicación, con el objetivo de compartir recursos hardware y software.
33 ISO-T1.A1
Es un conjunto de equipos informáticos separados físicamente y conectados entre sí
por una red de comunicaciones distribuida; cada máquina posee sus componentes de
hardware y software de modo que el usuario percibe que existe un solo sistema.
El usuario accede a los recursos remotos de la misma forma en que accede a recursos
locales ya que no percibe que existan varios ordenadores, sino que solo es capaz de
ver uno formado por todos.
Las desventajas de estos sistemas son costo, complejidad del SW, soporte local de la
tecnología y mala distribución de los datos.
Procesan gran cantidad de trabajo con muy poca o ninguna interacción entre los
usuarios y los programas de ejecución.
34 ISO-T1.A1
Son aquellos en donde no tiene importancia el usuario, sino los procesos. Se utilizan en
entornos donde son procesados gran número de sucesos o eventos. Construidos para
aplicaciones muy específicas.
9. Tipos de licencias
Los sistemas operativos, como cualquier aplicación informática, pueden clasificarse de
diferentes formas
35 ISO-T1.A1
sido usado por la comunidad como pieza angular en el diseño de sistemas operativos
que operan bajo la licencia de software libre.
A su vez, está licencia puede subdividirse en otras que contienen cláusulas más
específicas. Y se regulan principalmente por algo llamado Copyleft.
Copyleft se puede definir como otra versión del famoso copyright; y está hecho para
regular las licencias de software libre. Normalmente, la función del copyright es evitar
que algún material sea modificado y distribuido por alguien ajeno a la autoría de
dicho producto; sin embargo, esto se contrapone con la filosofía del software libre y es
por ello que nació el copyleft. Así que, esta legislación se encarga de impedir que sea
usado el código fuente sin autorización; y además, define las condiciones bajo las
cuales se puede hacer uso de él.
Al distribuir un software bajo está licencia, estás autorizando a terceros para no solo
modificar tu producto; si no también, para poder licenciar el mismo bajo sus propios
términos. Esto puede provocar, que un software libre hecho a partir de tu obra y que
estaba destinado a apoyar la comunidad; pueda ser privatizado por algún
desarrollador que lo modifique.
A diferencia de la licencia anterior, está obliga a que los programadores que quieran
redistribuir tu código deban seguir los lineamientos y restricciones que les hayas
impuesto, ni más, ni menos. Por ejemplo, si tu código es de acceso, modificación y
distribución libre; los que se deriven de él también deben estar licenciados bajo los
mismos términos y no podrían ser privatizados.
36 ISO-T1.A1
9.1.4. BSD (Distribución del Software Berkeley)
Este tipo de licencia puede considerarse como de las más permisivas en el software
libre; ya que a pesar de imponer restricciones, no se compara en absoluto con los
casos anteriores. Los principales lineamientos de esta licencia son la libertad para
poder comercializar el software libremente, no hay obligación de compartir tu código
fuente, y se garantiza el crédito para los desarrolladores que participaron en su
elaboración.
Se asemeja a la licencia BSD que vimos anteriormente; sin embargo, está es menos
permisiva con las distribuciones y se considera un término medio entre licencias BSD y
las licencias GNU. Sus lineamientos te obligan a entregar al creador original del código
tus modificaciones; y te permite solo licenciar los archivos binarios.
37 ISO-T1.A1
derecho al uso y copia de un software bajo los términos que defina el autor de dicho
programa; y a su vez, no permiten bajo ninguna condición su modificación o venta por
parte de terceros. Un ejemplo de este tipo de licencia, son aplicaciones como
CCleaner, Adobe Flash o Adobe Reader. Estos tipos de licencia pueden tener
variantes especifícas como: Donationware y Postcardware que veremos a
continuación.
Como su nombre lo indica, está licencia invita al usuario para enviar una carta postal
una vez adquirido el producto; pero al igual que con la licencia Donationware, no es
un requisito oblitario de cumplir y/o que condicione al uso del software en cuestión.
• Demo: este tipo de licencia permite al usuario hacer uso del producto por tiempo
indefinido, pero con la mayoría de sus funciones restringidas. Videojuegos, etc.
38 ISO-T1.A1
limitadas frente a la versión “completa” o avanzada. Es algo muy común en el caso de
antivirus con sus versiones lite u otro software que buscan ser de utilidad en equipos
viejos, con un hardware mucho más limitado.
El caso de esta licencia es muy particular, ya que implica que un proyecto ha sido
abandonado por su autor, y este ha decidido liberarlo de todos los derechos de
copyright. Al pasar esto, los productos suelen ser retirados del mercado y tomados por
desarrolladores independientes, quienes se encargan de realizar modificaciones y
compartirlas con la comunidad.
Hay un punto que se debe destacar con dicha licencia, y es que, un programa que se
encuentre descontinuado o carezca de soporte técnico con el paso de los años, no lo
convierte automáticamente en abandonware. Para esto, el autor debe anunciar
públicamente el cambio de licencia en su proyecto, de lo contrario, seguirá protegido
por derechos de autor y será ilegal cualquier modificación hecha al mismo.
39 ISO-T1.A1
Dentro de los sistemas operativos comerciales, propietarios y privativos, nos podemos
encontrar con diversos tipos de licencia de uso:
9.5.1. O.E.M.
Estas licencias son las más económicas, y suelen poseer restricciones especiales,
aparte de venir sin manuales ni caja.
9.5.2. RETAIL
En las licencias de tipo retail, normalmente podemos elegir entre una licencia
completa, o una licencia de actualización, que permite actualizar un sistema anterior
al nuevo, por un coste algo más reducido.
Para una empresa con cientos de ordenadores, es complicado controlar las licencias
individuales de cada una de sus máquinas. Existe la posibilidad de contratar un tipo de
licencia especial con el desarrollador, de modo que, con una única clave de licencia,
40 ISO-T1.A1
podemos utilizar varias máquinas a la vez. Es habitual que existan licencias de 25 usos
concurrentes, 50, etc.
Son las licencias más caras evidentemente, aunque son bastante más económicas
que comprar cada una de las licencias individualmente.
Son unas licencias especiales de Microsoft que permiten su uso únicamente para
actividades educativas y de formación. Cualquier uso de estas licencias en equipos
que desarrollen actividades fuera de este ámbito, es ilegal. Existen también licencias
de este tipo para empresas de desarrollo, academias, etc.
41 ISO-T1.A1