Vous êtes sur la page 1sur 8

UNIDAD I FUNDAMENTOS TEORICOS DE LOS SISTEMAS OPERATIVOS

1.1 DEFINICIÓN DE SISTEMAS OPERATIVOS


programa que administra el hardware de una computadora. Da las bases para los programas de aplicación siendo
un puente entre usuario y hardware

1.2 GENERACIONES DE SISTEMAS OPERATIVOS

Generación Cero
No existe el concepto de SO, los programas son introducidos manualmente por medio de switch.
El proceso toma el control de todos los recursos del equipo de cómputo.

Generación Uno
Tarjetas perforadas
Primera versión de SO. Controlador de dispositivos. Se le conoce como Monitor residente.
Concepto de archivo

Generación dos
Lenguajes Ensamblador y fortran
Primer SO, Tal cual lo conocemos.
Procesamiento en Lotes (batch)
Multiprogramación
Concepto de ingeniería de software

Generación tres
Concepto de memoria virtual
Concepto de spool
Concepto de tiempo compartido y tiempo real
Concepto de multiprocesamiento
Lenguajes C, Pascal, Prolog.

Generación cuatro
Independencia de dispositivos
Sistema operativos distribuidos
Sistemas operativos en tiempo real
Computadoras personales PC
Redes
Concepto de seguridad
SO’s con interfaz gráfica
Concepto de maquina virtual
Concepto de sistemas operativos abiertos
Concepto de procesamiento en paralelo

Generación cinco
Internet

Generación seis
SO´s móviles
Concepto de servidores virtuales
POO
SO´s multiplataforma
Concepto de máquina virtual y lenguajes. Desacuerdo ante las 6 generaciones. Aprueban 3 o 4. Dan más
importancia a identificar avances tecnológicos y tendencias.
Otro enfoque de la generación de los sistemas operativos.
Han estado siempre ligados a la arquitectura de los ordenadores.

Cuatro generaciones en los sistemas operativos según ordenadores:

Primera generación (1945-1955). Órdenes y datos a las máquinas se realizaba directamente, sin software.

Segunda generación (1955-1965). Sistemas de procesamiento por lotes. Aparece el concepto de archivo. El primer
sistema operativo es el fabricado para la máquina IBM 701.

Tercera generación (1965-1980). Destaca el sistema 360 de IBM, instalado en grandes máquinas llamadas
mainframes. Conceptos de multiprogramación, tiempo compartido y multiprocesador. Aparece UNIX.

Cuarta generación (desde 1981). MS-DOS, Mac OS y Windows.

1.3 CLASIFICACIÓN DE SISTEMAS OPERATIVOS

Sistemas monousuario y sistemas multiusuario. Un usuario: MS-DOS, DR-DOS, e IBM.DOS. Multiusuario: UNIX,
Linux, Novell NetWare, Windows 2000, Windows XP, Vista, Mac OS y otros.

Sistemas monotarea y sistemas multitarea. Solo un programa ocupa el tiempo de respuesta del microprocesador.

Sistemas monoproceso y sistemas multiproceso. Capaz de manejar un solo procesador de la computadora. Los
sistemas multiproceso trabajan con más de un procesador distribuyendo la carga de trabajo.

Sistemas de red y sistemas monopuesto. Diseñado para un servidor de red. Autentifica usuarios en la red,
alojamiento de archivos y programas compartidos.

Sistemas de software libre y sistemas de software propietario. En el software libre permiten su libre distribución
e instalación. Pero, el software propietario no puede modificarse ni distribuirse gratis.

Sistemas de 16, 32 o 64 bits. SO’s diseñados para trabajar en microprocesadores de 16, 32 o 64 bits.

1.4 SISTEMAS OPERATIVOS COMO MÁQUINA EXTENDIDA Y COMO ADMINISTRADOR DE RECURSOS.


El SO como máquina extendida: Simplifica al programador los detalles del funcionamiento de los dispositivos
conectados al sistema. Ofrece una "interfaz" utilizando los recursos del sistema, sin tener que profundizar demasiado
en detalles. Se conoce como Llamadas al Sistema o API (Aplication Programmer Interface).

Tenemos dos participantes en el sistema: los procesos y los recursos.


Un proceso es un programa en ejecución.
Un recurso puede ser real o virtual, físico o lógico.
 Los procesos compiten por el uso de recursos escasos.
 Criterio de gestión de recursos.
Optimizar el rendimiento del sistema.
Reparto justo, para evitar acaparamiento e inanición de procesos perjudicados.
Garantizar la seguridad e integridad de la información.

1.4 DEFINICIÓN DE PROCESO


Informalmente: programa en ejecución.
Formalmente: Ejecución de una secuencia de instrucciones, un estado actual, …etc.

Analogía Tanenbaum:
"Un científico computacional con mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta para
un pastel de cumpleaños y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azúcar,
leche, etcétera."
La receta representa el programa (el algoritmo), el científico computacional es el procesador y los ingredientes son
las entradas del programa. El proceso es la actividad que consiste en que el científico computacional vaya leyendo
la receta, obteniendo los ingredientes y horneando el pastel. Cada proceso tiene su contador de programa, registros
y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecución 2 veces. Cuándo este último
caso sucede, el sistema operativo usa la misma región de memoria de código, debido a que dicho código no
cambiará, a menos que se ejecute una versión distinta del programa.

1.6 PROCESOS CONCURRENTES


1.6.1 PROCESAMIENTO EN PARALELO
• Es la ejecución de diferentes procesos en dos o más procesadores al mismo tiempo, estos procesos juntos
resuelven un problema completamente.
• Un proceso debe entenderse como un fragmento de código en ejecución que convive con otros fragmentos.
Su principal beneficio, la escalabilidad.

1.6.2 SEMAFOROS
Variable especial protegida que restringe el acceso a recursos compartidos en un entorno de multiprocesamiento.

Operaciones
Los semáforos sólo pueden ser manipulados usando las siguientes operaciones

(código con espera activa):


Inicia(Semáforo s, Entero v)
{
s = v;
}
En el que se iniciará la variable semáforo s a un valor entero v.
P(Semáforo s)
{
if(s>0)
s = s-1;
else
wait();
}
La cual mantendrá en espera activa al regido por el semáforo si este tiene un valor inferior
o igual al nulo. V(Semáforo s)
{
if(!procesos_bloqueados)
s = s+1;
else
signal();
}
1.6.3 SEMAFORO DE OCUPADOESPERA (BUSY – WAITING).
Usos
permiten el acceso a diferentes partes de programas donde se manipulan variables o recursos que deben ser
accedidos de forma especial. Según el valor con que son inicializados se permiten a más o menos procesos utilizar
el recurso de forma simultánea.

Ejemplo de uso
Los semáforos pueden ser usados para diferentes propósitos, entre ellos:
• Implementar cierres de exclusión mutua o locks
• Barreras
• Permitir a un máximo de N threads acceder a un recurso, inicializando el semáforo en N
• Notificación. Inicializando el semáforo en 0 puede usarse para comunicación entre
threads sobre la disponibilidad de un recurso

1.6.4 MONITORES.
Sincronizan dos o más procesos o hilos de ejecución que usan recursos compartidos.

Componentes
1) inicialización, 2) datos privados, 3) procedimientos del monitor y 4) cola de entrada:

Exclusión mutua en un monitor


Los monitores están pensados para ser usados en entornos multiproceso o multihilo, y por lo tanto muchos procesos
o threads pueden llamar a la vez a un procedimiento del monitor. Los monitores garantizan que, en cualquier
momento, a lo sumo un thread puede estar ejecutando dentro de un monitor. El monitor hace cumplir la exclusión
mutua implícitamente, de modo que sólo un procedimiento esté siendo ejecutado a la vez.

1.6.5 INTERBLOQUEO
Un deathlock es un proceso que obtiene un semáforo, otro proceso obtiene el semáforo y ambos se quedan a la
espera de que el otro proceso libere el semáforo.

1.7 ADMINISTRACIÓN DEL PROCESADOR


1.7.1 PLANIFICACIÓN DE TRABAJOS
* Planificación de alto nivel o Planificación de trabajos:
o Determina a qué trabajos se les va a permitir competir por los recursos del sistema, lo cual se denomina
Planificación de admisión.
* Planificación de nivel intermedio:
o Determina a qué procesos se les puede permitir competir por la cpu.
o Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa "suspensiones" y "activaciones"
("reanudaciones") de procesos.
o Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.
* Planificación de bajo nivel:
o Determina a qué proceso listo se le asigna la cpu cuando esta queda disponible y
asigna la cpu al mismo, es decir que "despacha" la cpu al proceso.
o La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por
segundo y reside siempre en el almacenamiento primario.

1.7.2 MULTIPROCESO
¿Qué es un sistema multiprocesador?
Se trata de una máquina que posea más de un procesador central. A estas computadoras se les llama Multi-core.
Es implementación de multitareas en hardware.

I.I MULTIPROCESO
Uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado.

1.8 ADMINISTRACIÓN DE LA MEMORIA


1.8.1 ALMACENAMIENTO REAL
“Memoria principal ”, “memoria primaria” o “memoria real” uno de los factores más importantes en el diseño SO’s.
Memoria=almacenamiento.
Los programas y datos deben estar en el almacenamiento principal para:
Poderlos ejecutar.
Referenciarlos directamente.
“almacenamiento secundario” o “almacenamiento auxiliar” = unidades externas.
“Ley de Parkinson parafraseada”: Los programas se desarrollan para ocupar toda la memoria disponible para ellos.
“administrador de la memoria”:
Lleva un registro de las partes de memoria que se están utilizando y de aquellas
que no.
Asigna espacio en memoria a los procesos cuando estos la necesitan.
Libera espacio de memoria asignada a procesos que han terminado.

1.8.2 ORGANIZACIÓN, JERARQUÍA Y ESTRATEGIA DE ALMACENAMIENTO.


Organización del Almacenamiento
Consideraciones
¿ se coloca un solo programa de usuario o varios ?.
Si se encuentran varios programas de usuario:
o ¿ se concede a cada uno la misma cantidad de espacio o se divide el
almacenamiento en porciones o “particiones” de diferente tamaño ?.
o ¿ se utilizará un esquema rígido de número y tamaño de particiones o un
esquema dinámico y adaptable ?.
o ¿ se requerirá que los trabajos de los usuarios sean diseñados para
funcionar en una partición específica o se permitirá que se ejecuten en
cualquiera donde quepan ?.
o ¿ se requerirá o no que cada trabajo sea colocado en un bloque contiguo
de memoria ?.

Administración del Almacenamiento


Consideraciones:
¿ cuándo se consigue un nuevo programa para colocar en la memoria ?:
o ¿ cuando el sistema lo pide específicamente o se intenta anticiparse a las
peticiones ?.
¿ dónde se colocará el programa que se ejecutará a continuación ?:
o ¿ se prioriza el tiempo de carga o la optimización en el uso del
almacenamiento ?.
¿ con qué criterio se desplazarán programas ?.

Jerarquía de Almacenamiento

Estrategias de Administración del Almacenamiento


Optimización de recurso de almacenamiento.
Se dividen en:
Estrategias de búsqueda:
o Estrategias de búsqueda por demanda.
o Estrategias de búsqueda anticipada.
Estrategias de colocación.
Estrategias de reposición.

1.8.3 MULTIPROGRAMACIÓN
Multiprogramación de Partición Fija
Un trabajo en espera de e / s cederá la cpu a otro trabajo que esté listo para efectuar cómputos.
Existe paralelismo entre el procesamiento y la e / s.
Se incrementa la utilización de la cpu y la capacidad global de ejecución del sistema.
Es necesario que varios trabajos residan a la vez en la memoria principal.

1.9 ALMACENAMIENTO VIRTUAL


1.9.1 PAGINACIÓN
“Almacenamiento virtual ” = capacidad de direccionar un espacio de almacenamiento mucho mayor que el disponible
en el almacenamiento primario.
Los métodos más comunes de implementación:
Técnicas de “paginación”.
Técnicas de “segmentación”.
Una combinación de ambas técnicas.

La evolución en las organizaciones de almacenamiento puede resumirse como sigue:


Real:
o Sistemas dedicados a un solo usuario.
Real:
o Sistemas de multiprogramación en memoria real:
Multiprogramación en partición fija:
Absoluta.
Relocalizable (reubicable).
Multiprogramación en partición variable.
Virtual:
o Multiprogramación en almacenamiento virtual:
Paginación pura.
Segmentación pura.
Combinación paginación / segmentación.
1.9.2 SEGMENTACIÓN
Es un esquema de manejo de memoria de división lógica; por segmentos. Cada segmento tiene información lógica
del programa: subrutina, arreglo, etc.

Los bloques.
No necesitan ser de igual tamaño.
Los bloques separados no necesitan ser adyacentes.
Deben estar compuestos deposiciones contiguas de almacenamiento.
Sin Embargo
Se complica la protección de bloques de memoria de un proceso de usuario.
Es más difícil limitar el rango de acceso de cualquier programa.

Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin
afectar por ello al resto del programa.
Estructuras de datos de largo variable: donde cada estructura tiene su propio tamaño y este puede variar. (Stack)
Protección: se puede proteger los módulos del segmento contra accesos no autorizados.
Compartición: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean
propietarios de los mismos.
Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a
ejecutar un programa. Los enlaces se establecerán solo cuando sea necesario.

1.10 ADMINISTRADOR DEL ALMACENAMIENTO SECUNDARIO


Está formado por el software que permite acceder y realizar las peraciones básicas en un ordenador personal o
sistema informático en general.

Objetivos del diseño: eficiencia y generalidad.

La eficiencia es importante porque las operaciones de entrada salida constituyen un cuello de botella en los sistemas
informáticos.

El segundo objetivo es la generalidad. En interés de la simplicidad y exención de errores, será deseable gestionar
todos los dispositivos de una manera uniforme.

1.10.1 PLANIFICACIÓN DE DISCOS

Tiempo de acceso
El tiempo de acceso tiene dos componentes principales:
_ SEEK TIME es el tiempo que tarda el brazo del disco en mover las cabezas al cilindro que contiene el sector
deseado
_ El ANCHO DE BANDA del disco es el número total de bytes transferidos, dividido entre el tiempo total transcurrido
entre la primera solicitud de servicio y la finalización de la última transferencia.

Cada vez que un proceso necesita E/S de o al disco, emite una llamada al SO. La solicitud especifica varios elementos
de información:
_ Si esta operación es de entrada o de salida
_ La dirección en disco para la transferencia
_ La dirección en memoria para la transferencia
_ El número de bytes por transferir

Políticas de planificación de discos: primero en llegar-primero en ser atendido.

Otros criterios para evaluar las políticas de planificación:


_ Capacidad de ejecución
_ Media del tiempo de respuesta
_ Varianza de los tiempos de respuesta
Objetivo: reducir los tiempos de acceso en la lectura o escritura de datos.
1.10.2 PARTICIONES
Particiones, franjas o minidiscos para dividir el espacio y usarlo de diversas maneras.

1.10.3 SISTEMAS DE ARCHIVOS


Aspecto más visible de un sistema operativo.
Compuesto por: una colección de archivos, que almacena datos relacionados, y una estructura de directorios, que
organiza y da información de los archivos.

Concepto de archivo.
Conjunto de propiedades de una unidad lógica de almacenamiento.

Atributos de archivos.
Nombre.
Identificador.
Tipo.
Ubicación.
Tamaño.
Protección: Información de control de acceso.
Fecha, hora e identificación del usuario.

Operaciones con los archivos.


Llamadas al sistema para crear, escribir, leer, reposicionar, borrar y truncar archivos.

Estructura de directorios.
Es como una tabla de símbolos que traduce los nombres de archivos a sus entradas de directorios.

Operaciones con directorios.


Búsqueda de un archivo.
Crear un archivo.
Borrar un archivo
Listar un directorio
Renombrar un archivo
Recorrer el sistema de archivos

Directorio de un único nivel.


Archivos contenidos en un mismo directorio.

Directorio en dos niveles.


En esta estructura cada usuario tiene su propio directorio de archivos(UFD). Cada uno de
los UFD tiene una estructura similar, pero solo incluye archivos de un único usuario.

Directorio con estructura de árbol.


Permite crear arbitrariamente la magnitud de directorios posibles según decida el usuario.

1.10.4 EL MBR
Primer sector ("sector cero") de un dispositivo de almacenamiento de datos

1.10.5 GESTORES DE ARRANQUE LILO Y GRUB LILO


Acrónimo del inglés LInux LOader, o cargador de Linux, gestor de arranque:
es lo que primero se arranca cuando se inicia el ordenador. Permite disponer de diferentes sistemas operativos, y
diferentes versiones de los mismos, en un único discoduro.

GRUB.
Acrónimo del inglés GRand Unified Bootloader, se trata de un gestor de arranque múltiple que se usa comúnmente
para iniciar dos o más sistemas operativos albergados en un mismo ordenador o disco duro.

Actualmente, soporta los siguientes sistemas de archivos:


- ext2 / ext3 usado por los sistemas UNIX y su variante GNU/Linux
- ReiserFS
- XFS de SGI
- UFS
- VFAT, como FAT16 y FAT32 usados pro Windows 9.x
- NTFS usado por los sistemas Windows NT/2000/XP/VISTA
- JFS de IBM

1.10.6 LA MEMORIA SWAP


Es lo que se conoce como memoria virtual. La diferencia entre la memoria real y la virtual es que está última utiliza
espacio en el disco duro en lugar de un módulo de memoria.

Vous aimerez peut-être aussi