INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
SO - Conceptos
Es un software que actúa de interfaz entre los dispositivos de hardware y los programas utilizados por el usuario para gestionar un computador. Es el responsable de coordinar las actividades y llevar a cabo el intercambio de los recursos, actuando como plataforma de ejecución para las aplicaciones en el computador.
Provee de un ambiente adecuado de trabajo.
Hace uso eficiente del Hardware.
Provee de una equitativa distribución de los recursos
Funciones:
Gobierna el sistema.
Asigna los recursos.
Administra y controlar la ejecución de los programas.
Clasificación de los SO (I)
Número de usuarios que puede soportar
Propósito para el que fueron diseñados
Monousuarios Multiusuario
De propósito General
De propósito específico
De tiempo real
De tolerancia a fallos
Clasificación de los SO (II)
Modo de trabajo
Hardware del ordenador
off-line (batch) on-line
(interactivo)
Número de procesadores
Situación de la memoria principal
Centralizado Distribuido
Monoprocesador
Multiprocesador
SO como administrador de recursos
Procesos: Programas en ejecución que compiten por el uso de un recurso.
Recursos: Reales, virtuales, físicos o lógicos.
El Sistema Operativo monitorea:
Estado en el que se encuentran los recursos.
Quién, cuándo y durante cuánto tiempo tiene el control.
Asociar y desasociar recursos.
Secuencia lógica de Arranque del SO (I)
Revisa el buen funcionamiento de los elementos básicos en el computador, memoria, unidades de disco, monitor, puertos y teclado; si todo esta correcto, inicia la carga del SO.
Según la secuencia de arranque declarada en la configuración básica de la computadora (BIOS setup), inicia una búsqueda del sistema operativo (el disco duro u otra unidad especifica, conocido como boot drive), una vez ubicado, lo cargará en la memoria RAM.
1. Auto verificación, memoria ROM.
2. Programa cargador del S.O.
Secuencia lógica de Arranque del SO (II)
Comprobación del sistema (archivos y módulos del SO)
Se establecen estructuras internas del SO: tabla de procesos, tabla de memoria y tabla de E/S.
Se carga la parte del S.O. que va a estar siempre en memoria, conocido como sistema operativo residente.
Se lanzan los procesos auxiliares y demonios (impresión, red, etc.)
Se crea un proceso de inicio o login por cada terminal o sesión de usuario 3. Fase de iniciación del S.O.
Evolución de los SO (I)
(1945 – 1955)
Hardware: Tubos de vacío y paneles de control.
Sistema Operativo: no existe.
(1955 – 1965)
Hardware: Transistores (tarjetas perforadas).
Sistema Operativo:
I. SO de trabajo único: sólo se dedica a “preparar”
el sistema para la llegada de trabajos.
II. SO por lotes (batch): automatiza la secuencia de operaciones involucradas en la ejecución de un programa usando ordenes que lee, interpreta y ejecuta el monitor de lotes.
Evolución de los SO (II)
(1965 – 1980)
Hardware: Circuitos integrados.
Sistema Operativo:
I. SO de multiprogramación: más de un programa residente en memoria principal al mismo tiempo.
II. SO de multiprocesamiento: más de un procesador.
III. SO multiusuario o multiacceso: permite a varios usuarios acceder a un mismo ordenador mediante terminales interactivos (inicios de sistemas operativos de redes).
IV. SO de tiempo compartido:
multiprogramación, multiusuario e interactivo. El usuario tiene la impresión de que es el único que trabaja con la máquina.
(1980 – actualidad)
Hardware: Microprocesador (computador personal).
Sistema Operativo:
I. SO de red: el usuario es consciente de la existencia de varias máquinas e indica de forma explícita con cuál desea trabajar.
II. SO distribuido: el usuario no es consciente de las máquinas conectadas entre sí (transparencia).
Evolución de los SO (III)
Sugerido: Película Piratas de Sillicon Valley (1999)
Evolución de los SO: Windows
Evolución de los SO: Windows
Evolución de los SO: Mac (I)
6 Versiones
6.1 Beta pública: «Kodiak»
6.2 Versión 10.0: «Cheetah»
6.3 Versión 10.1: «Puma»
6.4 Versión 10.2: «Jaguar»
6.5 Versión 10.3: «Panther»
6.6 Versión 10.4: «Tiger»
6.7 Versión 10.5: «Leopard»
6.8 Versión 10.6: «Snow Leopard»
6.9 Versión 10.7: «Lion»
6.10 Versión 10.8: «Mountain Lion»
6.11 Versión 10.9: «Mavericks»
6.12 Versión 10.10: «Yosemite»
Evolución de los SO: Mac (III-Hw)
Componentes de un SO
En forma genérica, un sistema operativo está formado por tres capas:
Núcleo
Servicios
Intérprete de mandatos o shell
Kernel o Núcleo
Es llamada “la esencia del SO”. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware del computador.
Funciones:
La comunicación entre los programas que solicitan recursos y el hardware.
Gestión de los distintos programas informáticos (tareas) de una máquina.
Gestión del hardware (memoria, procesador, periféricos, almacenamiento, etc.)
Núcleos híbridos Son muy parecidos a los micronúcleos puros, excepto que incluyen código adicional en el espacio de núcleo para
que se ejecute más rápidamente.
TIPOS
Núcleos monolíticos Facilitan abstracciones del hardware potentes y
variadas.
Micronúcleos Proporcionan un pequeño conjunto de abstracciones simples
del hardware.
Servicios
Gestión de procesos:Encargada de la creación, planificación y destrucción de procesos.
Gestión de memoria:Componente encargado de saber qué partes de memoria están libres y ocupadas, así como de la asignación y liberación de memoria según la necesiten los procesos.
Gestión de la E/S:Se ocupa de facilitar el manejo de los dispositivos periféricos.
Gestión de archivos y directorios: Se encarga del manejo de archivos y directorios y de la administración del almacenamiento secundario.
Comunicación y sincronización en procesos:Encargada de ofrecer mecanismos para que los procesos puedan comunicase y sincronizarse.
Seguridad y protección: Este componente debe encargarse de garantizar la información de los usuarios y de definir lo que pueden hacer cada uno de ellos con los recursos del sistema.
Shell de Comandos
Es el programa que atiende a los comandos tecleados en el terminal y los traduce a instrucciones en la sintaxis interna del sistema. Es un programa independiente que proporciona comunicación directa entre el usuario y el sistema operativo.
El shell de comandos de los sistemas operativos de servidor Windows utiliza el intérprete de comandos Cmd.exe, que carga aplicaciones y dirige el flujo de información entre ellas, para traducir los datos de entrada del usuario a un formato que el sistema operativo reconozca.
SHELL DE WINDOWS SHELL DE LINUX
Algunos de los Shell de Linux más utilizados son:
Bash: Es el shell utilizado por defecto. Se invoca con bash.
Bourne Shell: Es el interprete de comandos básico. Se invoca con la orden sh.
C-Shell: Su programación es prácticamente lenguaje C. Se invoca con la orden csh.