Unidad 1. Introducción a los sistemas operativos
1. Definición y concepto
2. Funciones y características
3. Evolución Histórica
4. Clasificación
5. Estructura: niveles o estratos de diseño
6. Núcleo
1.1.
Definición y concepto
¿Qué es un Sistema Operativo?
Un sistema operativo es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes.Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.Un sistema operativo (SO) es aquel programa o software encargado de administrar y gestionar los recursos disponibles de un ordenador a nivel de hardware y proporciona el correcto ambiente para que el usuario pueda ejecutar programas.
Un Sistema Operativo es un programa que actúa como intermediario entre el usuario y la máquina. El propósito de un sistema operativo es proveer un ambiente en que el usuario puede ejecutar sus aplicaciones. Las aplicaciones son todos aquellos programas que el usuario ejecuta para mejorar su productividad o para divertirse.
El primer objetivo de un sistema operativo es que el computador sea cómodo de usar. El segundo objetivo es que la máquina sea usada eficientemente.
ITSLP/ SISTEMAS OPERATIVOS1
ENERO/JUNIO 2020
APUNTES U1
Las componentes de un sistema operativo se observan en la figura . La principal componente del sistema operativo es el núcleo ( kernel). El núcleo se encarga de ejecutar y dar servicios a los procesos.
Un proceso puede ser una aplicación o un utilitario. Las aplicaciones son los programas del usuario que le ayudan a mejorar su productividad. Las aplicaciones no son parte del sistema operativo. Los utilitarios son programas que pertenecen al sistema operativo y que ayudan al usuario a: administrar sus archivos, imprimir programas y resultados, interactuar con la máquina a través de una interfaz gráfica o un intérprete de comandos, etc.
Lo procesos interactúan necesariamente con el núcleo para crear otros procesos, comunicarse entre sí y obtener memoria para sus datos. Usualmente (aunque no necesariamente) los procesos también interactuán con el núcleo para manejar archivos. El usuario nunca interactúa directamente con el núcleo. El usuario interactúa con los procesos.
Por razones de eficiencia y simplicidad de implementación el núcleo es la componente del sistema operativo que está siempre residente en memoria. En cambio las aplicaciones y los utilitarios se cargan cuando se necesitan, y por lo tanto no siempre están residentes en la memoria
En este curso se estudiará en profundidad el diseño del núcleo de los sistemas operativos. Además el curso contempla actividades prácticas en donde se modificarán componentes del pseudo sistema operativo nSyste
1.2.
Funciones y características
Funciones
Las tareas del sistema operativo en un sistema general, se pueden explicar en seis categorías:
Gestión del procesador.
Gestión de memoria.
Gestión del dispositivo.
Gestión del almacenamiento.
Interfaz de aplicación.
Interfaz de usuario.
O bien, entenderlas en 4 grandes bloques: a) Administrador de recursos:
Gestión y asignación de recursos del computador b) Programa de control:
c) Núcleo:
El único programa que ejecuta siempre
(por debajo y anterior a cualquier otro programa) d) Máquina virtual:
Extiende y enmascara la funcionalidad del hardware
Características
• Un Sistema Operativo es un programa que actúa como un intermediario entre el computador y el
usuario.
• Consta de un conjunto de rutinas (algoritmos) para gestionar los recursos del computador, como son:
el Procesador, la memoria, los Dispositivos de E/S y los archivos
• El Sistema Operativo:
– Es un administrador de los recursos del computador. – Controla la ejecución de los programas de los usuarios.
– Controla por ejemplo el acceso concurrente a los recursos.
1.3.
Evolución Histórica
1ª Generación (1945 -1955):
•
Sistema operativo: Al principio es inexistente, hacia el final se
constituye como un conjunto de funciones de uso general.
•
Tecnología: Tubos de vacío.
•
Introducción de trabajo: A través de panel de control.
•
Lenguaje: Lenguaje máquina.
2ª Generación (1955 – 1965):
•
Sistema operativo: Monitor para cargar trabajos, ejecutarlos, ...
(procesamiento en serie). Posteriormente procesamiento por lotes.
•
Tecnología: Transistores.
•
Introducción de trabajo: Tarjetas perforadas.
•
Lenguaje: Cobol, Fortran
ITSLP/ SISTEMAS OPERATIVOS1
ENERO/JUNIO 2020
APUNTES U1
•
Sistema operativo: Multiprogramación, tiempo compartido,
sistemas en tiempo real (OS/360,Multics, UNIX, ...).
•
Tecnología: Circuitos integrados, máquinas multipropósito,
miniordenadores.
•
Introducción de trabajo: Tarjetas perforadas, terminales.
•
Lenguaje: Cobol, Fortran, ...
4ª Generación (1975 – 1990):
•
Sistema operativo: En red, cliente-servidor, seguridad
(criptografía), (MacOS, MS-DOS, Novell, ...)
•
Tecnología: Circuitos integrados, ordenadores personales, redes de
ordenadores.
•
Introducción de trabajo: Terminal
5ª Generación (1990 – actualidad):
•
Sistema Operativo:
Distribuido, modelo cliente – servidor
en la construcción del sistema.
•
Tecnología:
Circuitos integrados a gran escala (VLSI),
ordenadores personales potentes, estaciones de trabajo.
Orientación de la evolución:
•
Aumentar:
Potencia, multipropósito, fiabilidad, nº de
usuarios, comodidad y amigabilidad.
•
Disminuir:
Precio, tamaño, requisitos de instalación,
dificultad de uso, tiempo de respuesta.
1.4.
Clasificación
Sus tipos son 6:
1. Sistemas operativos por su estructura
Estructura monolítica (Ejemplo: MS-DOS, UNIX)
Estructura jerárquica (Ejemplo OS/2 de Deitel en 1994; Capas: Hw, memoria, procesador, etc.)
Máquina Virtual
Cliente/Servidor (ejemplos: Ejemplos: Minix (Tanenbaum, 1998), Mach (Accetta, 1986), Amoeba (Mulender, 1990). Windows NT
istemas operativos por los servicios que ofrecen a) Por el número de usuarios
Monousuario
Multiusuario
b) Por el número de tareas
Monotarea
Multitarea
c) Por el número de procesadores
Uniproceso
Multiproceso
3. Sistemas operativos por la forma en que ofrecen sus servicios
Sistemas Operativos de Red
Sistemas Operativos Distribuidos
Monotarea
: Si solamente puede ejecutar un programa (aparte de los procesos del propio
S.O.) en un momento dado. Una vez que empieza a funcionar un programa, continuará
haciéndolo hasta su finalización o interrupción.
Multitarea
: Si es capaz de ejecutar varios programas al mismo
tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria,
periféricos) de forma alternativa a los programas que los solicitan, de manera que el usuario
percibe que todos funcionan a la vez.
Monousuario
: Si sólo permite ejecutar los programas de un
usuario al mismo tiempo.
Multiusuario
: Si permite que varios usuarios ejecuten simultáneamente sus programas,
accediendo
a
la
vez
a
los
recursos del ordenador. Normalmente estos SS.OO. utilizan
métodos de protección de datos, de manera que un programa no
pueda usar o cambiar los datos de otro usuario.
Uniproceso
Aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si
la computadora tuviese más de uno le sería inútil.
Multiproceso
Se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos
todos para distribuir su carga de trabajo.
ITSLP/ SISTEMAS OPERATIVOS1
ENERO/JUNIO 2020
APUNTES U1
De red:
Se definen como aquellos que tiene la capacidad de interactuar con sistemas
operativos en otras computadoras por medio de un medio de transmisión con el objeto de
intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de
otras actividades.
Distribuido:
Si permite utilizar los recursos (memoria, CPU, disco,
periféricos...) de más de un ordenador al mismo tiempo.
Abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de
respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que
el usuario accede en forma transparente. Es decir, ahora el usuario ya no necesita saber la
ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si
todos ellos fuesen locales a su lugar de trabajo habitual
Ejemplo de sistemas operativos para PC:
Ejemplo de sistemas operativos móviles:
Canaima
Mac OS X Microsoft
Windows GNU/Linux
Solaris
FreeBSD
OpenBSD Google
Chrome OS Debian
Ubuntu
1.5 Estructura: niveles o estratos de diseño
N ú c l e o
S e r v i c i o s
P r o g r a m a s
U s u a r i o s
S h e l l
S i s t e m a
o p e r a t i v o
A P I
H a r d w a r e
Núcleo
Servicios o llamadas al sistema
Shell
1.6 Núcleo
KERNEL
de un S.O. es un conjunto de rutinas cuya misión es la de gestionar el
procesador, la memoria, la entrada/salida y el resto de recursos disponibles. Programa
individual que siempre está cargado en memoria principal y que se está ejecutando
permanentemente en el computador.
Funciones:
- procesamiento de interrupciones
- creación/destrucción de procesos
iOS
Android
Bada BlackBerry OS
Windows Phone
Symbian OS
ITSLP/ SISTEMAS OPERATIVOS1
ENERO/JUNIO 2020
APUNTES U1
- sincronización de procesos
- soporte a actividades de E/S
- soporte a actividades de asignación de memoria
- soporte a actividades de des asignación de memoria
- soporte a actividades con archivos
- soporte llamada/regreso procedimientos
Todas las funciones son transparentes
Servicios o llamadas al sistema
•
Mecanismo que utilizan los programas de aplicación para solicitar que el sistema
operativo haga algo.
•
Ofrece a los programas unos servicios en forma de una interfaz de programación
API.
API : Aplication Programming Interface
El Shell
•
Es la interfaz principal entre el usuario sentado frente a una terminal y el S.O.
•
Código que interpreta las llamadas al sistema agrupadas en programas llamadas
comandos.
Inicio sesion Shell
Terminal
E/S
$
Indicador