Somos estudiantes de la carrera de Ingeniería Informática.
La finalidad de este trabajo, es para hacerles llegar nuestra información recaudada acerca de Los Sistemas Operativos 1, que lo conlleva a sus funciones, sus características, la evolución y su historia, sus clasificaciones y sus estructuras en un desglosamiento seguro. Esperando que les sea de mucha ayuda y utilidad en sus próximos trabajos por realizar.
1. INSTITUTO TECNOLOGICO DEL ISTMO
SEMESTRE ENERO-JUNIO 2020
Integrantes Del Equipo:
* Nadxielii Natalia Castillo Ramírez
* Keren Ruth Ambrocio Lorenzo
* José Guadalupe Terán Antonio
Asignatura:
Sistemas Operativos 1
Carrera:
Ingeniería Informática
Catedrático:
Ing. Toledo Torres Jacinto
4º “S”
2. 1. FUNCIONES DE LOS SISTEMAS OPERATIVOS
1.1 Concepto
Es el software principal o conjunto de programas de un sistema informático que
gestiona los recursos de hardware y provee servicios a los programas de
aplicación de software, ejecutándose en modo privilegiado respecto de los
restantes (aunque puede que parte de él se ejecute en espacio de usuario).
Es un error común muy extendido denominar al conjunto completo de herramientas
sistema operativo, es decir, la inclusión en el mismo término de programas como el
explorador de ficheros, el navegador web y todo tipo de herramientas que permiten
la interacción con el sistema operativo.
1.2 Funciones y características
La función del sistema operativo es la de presentar al usuario con el equivalente de
una máquina ampliada o máquina virtual que sea más fácil de programar que el
hardware implícito.
Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
• Coordina y manipula el hardware de la computadora, como la memoria, las
impresoras, las unidades de disco, el teclado o el mouse.
• Organiza los archivos en diversos dispositivos de almacenamiento, como
discos flexibles, discos duros, discos compactos o cintas magnéticas.
• Gestiona los errores de hardware y la pérdida de datos.
3. • Servir de base para la creación del software logrando que equipos de marcas
distintas funcionen de manera análoga, salvando las diferencias existentes
entre ambos.
• Configura el entorno para el uso del software y los periféricos; dependiendo
del tipo de máquina que se emplea, debe establecerse en forma lógica la
disposición y características del equipo. Como por ejemplo, una
microcomputadora tiene físicamente dos unidades de disco, puede simular el
uso de otras unidades de disco, que pueden ser virtuales utilizando parte de
la memoria principal para tal fin. En caso de estar conectado a una red, el
sistema operativo se convierte en la plataforma de trabajo de los usuarios y es
este quien controla los elementos o recursos que comparten. De igual forma,
provee de protección a la información que almacena.
1.2.1 Funciones De Los Sistemas Operativos.
• Aceptar todos los trabajos y conservarlos hasta su finalización.
• Interpretación de comandos: Interpreta los comandos que permiten al
usuario comunicarse con el ordenador.
• Control de recursos: Coordina y manipula el hardware de la computadora,
como la memoria, las impresoras, las unidades de disco, el teclado o el
Mouse.
• Manejo de dispositivos de E/S: Organiza los archivos en diversos
dispositivos de almacenamiento, como discos flexibles, discos duros, discos
compactos o cintas magnéticas.
• Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.
• Secuencia de tareas: El sistema operativo debe administrar la manera en
que se reparten los procesos. Definir el orden. (Quien va primero y quien
después).
• Protección: Evitar que las acciones de un usuario afecten el trabajo que está
realizando otro usuario.
• Multi-acceso: Un usuario se puede conectar a otra máquina sin tener que
estar cerca de ella.
• Contabilidad de recursos: establece el costo que se le cobra a un usuario
por utilizar determinados recursos.
1.2.2 Características De Los Sistemas Operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes
características:
• Conveniencia.
Un Sistema Operativo hace más conveniente el uso de una computadora.
4. • Eficiencia.
Un Sistema Operativo permite que los recursos de la computadora se usen de la
manera más eficiente posible.
• Habilidad para evolucionar.
Un Sistema Operativo deberá construirse de manera que permita el desarrollo,
prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el
servicio.
• Encargado de administrar el hardware.
El Sistema Operativo se encarga de manejar de una mejor manera los recursos de
la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso
una parte del procesador para poder compartir los recursos.
• Relacionar dispositivos (gestionar a través del kernel).
El Sistema Operativo se debe encargar de comunicar a los dispositivos
periféricos, cuando el usuario así lo requiera.
• Organizar datos para acceso rápido y seguro.
• Manejar las comunicaciones en red.
El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente
a la instalación y uso de las redes de computadoras.
• Procesamiento por bytes de flujo a través del bus de datos.
• Facilitar las entradas y salidas.
Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los
dispositivos de Entrada/Salida de la computadora.
El software de aplicación son programas que se utilizan para diseñar, tal como el
procesador de palabras, lenguajes de programación, hojas de cálculo, etc. El
software de base sirve para interactuar el usuario con la máquina, son un
conjunto de programas que facilitan el ambiente plataforma, y permite el diseño
del mismo.
El Software de base está compuesto por:
• Cargadores.
• Compiladores.
• Ensambladores.
• Macros.
5. 1.3 Evolución De Los Sistemas Operativos
La evolución de la informática nos proporciona sistemas operativos que cada vez
realizan más funciones, facilitando el trabajo a los usuarios.
Pasos evolutivos:
• Proceso en serie
Inicialmente, finales de los 40, el programador interactúa directamente con las
máquinas mediantes conmutadoras, indicadoras luminosas y tal vez una
impresora. No existe el sistema operativo y los usuarios de un ordenador se
turnan para acceder secuencialmente, en serie.
• Proceso por lotes
Se desarrolla un elemento de software denominado monitor que es capaz de
ejecutar tareas, lotes, de manera secuencial. En estos sistemas informáticos los
programadores pasaban a los administradores de sistemas los programas a
ejecutar en cinta (o tarjetas perforadas) y el sistema los ejecutaba
secuencialmente y de manera no interactiva.
• Multiprogramación o multitarea
Con el ánimo de maximizar el uso de la CPU se cargan varios programas de
manera simultánea. Así mientras un proceso está bloqueado por una operación
de entrada/salida, la CPU puede continuar la ejecución de otro proceso.
• Sistemas de tiempo compartido
El sistema reparte la atención de la CPU (o CPUs) entre diferentes procesos,
simulando la ejecución en paralelo de los mismos. Los sistemas de tiempo
compartido permiten que varios usuarios trabajen de manera simultánea y en
modo interactivo. Uno de los primeros sistemas de tiempo compartido fue el
CTSS (Compatible Time-Sharing System) desarrollado en el MIT.
6. 1.4 Historia de los Sistemas Operativos
La informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra
Mundial, en la década de los 40. En esos años no existía siquiera el concepto de
"Sistema Operativo" y los programadores interactuaban directamente con el
hardware de las computadoras trabajando en lenguaje máquina (esto es, en
binario, programando únicamente con 0s y 1s).
- El concepto de Sistema Operativo surge en la década de los 50.
- El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador
IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un
programa cuando el anterior terminaba.
- En los años 60 se produce una revolución en el campo de los Sistemas Operativos.
Aparecen conceptos como sistema multitarea, sistema multiusuario, sistema
multiprocesadores y sistema en tiempo real.
Es en esta década cuando aparece UNIX, la base de la gran mayoría de los
Sistemas Operativos que existen hoy en día.
7. - En los años 70 se produce un boom en cuestión de ordenadores personales,
acercando estos al público general de manera impensable hasta entonces. Esto
hace que se multiplique el desarrollo, creándose el lenguaje de programación C
(diseñado específicamente para reescribir por completo el código UNIX)
Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría
de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que en
los años 80, la prioridad a la hora de diseñar un sistema operativo fuese la
facilidad de uso, surgiendo así las primeras interfaces de usuario.
- En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.
8. - En la década de los 90 hace su aparición Linux, publicándose la primera versión del
núcleo en septiembre de 1991, que posteriormente se uniría al proyecto GNU, un
sistema operativo completamente libre, similar a UNIX, al que le faltaba para
funcionar un núcleo funcional. Hoy en día la mayoría de la gente conoce por Linux
al Sistema Operativo que realmente se llama GNU/Linux
1.5 Clasificación De Los Sistemas Operativos
Existen diversas clasificaciones de los sistemas operativos, la más común es por
lo servicios que ofrecen al usuario final:
• Sistemas Operativos Monousuarios
Los sistemas operativos monousuarios son aquellos que soportan a un usuario
a la vez, sin importar el número de procesadores que tenga la computadora o el
número de procesos o tareas que el usuario pueda ejecutar en un mismo
instante de tiempo. Las computadoras personales típicamente se han
clasificado en este renglón.
• Sistemas Operativos Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un
usuario a la vez, ya sea por medio de varias terminales conectadas a la
computadora 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
procesos que cada usuario puede ejecutar simultáneamente.
• Sistemas Operativos Mono-Tareas
Los sistemas mono tarea son aquellos que sólo permiten una tarea a la vez por
usuario. Puede darse el caso de un sistema multiusuario y mono tarea, en el cual
se admiten varios usuarios al mismo tiempo, pero cada uno de ellos puede estar
haciendo solo una tarea a la vez.
• Sistemas Operativos Multi-Tareas
9. Un sistema operativo multitarea es aquél que le permite al usuario estar
realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el
código fuente de un programa durante su depuración mientras compila otro
programa, a la vez que está recibiendo correo electrónico. Es común encontrar
en ellos interfaces 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.
• Sistemas Operativos Uní-Proceso
Un sistema operativo uní proceso es aquél 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. El ejemplo más típico de este tipo de sistemas es el DOS y
Macos.
• Sistemas Operativos Multiproceso
Un sistema operativo 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. Generalmente estos sistemas trabajan de dos formas: simétrica
o asimétricamente.
1.6 Estructura de los sistemas Operativos
En esta sección veremos los componentes de un sistema operativo, los servicios que
él brinda y sus posibles estructuras.
1.6.1 Componentes de un sistema operativo
• Administración de procesos
• Administración de memoria
• Subsistema de Entrada/Salida
• Administración de Almacenamiento secundario
• Subsistema de archivos
• Sistema de protección
• Administración de Procesos
Para comenzar debemos saber que es un proceso. Un proceso es un programa en
memoria + CPU + acceso a dispositivos + otros recursos. Notemos que un proceso
necesita de ciertos recursos (como CPU, memoria, archivos, dispositivos de E/S,
10. etc.) para realizar su tarea. Podemos ver entonces que un proceso es una entidad
activa, mientras que un programa una entidad pasiva.
Sabiendo entonces que es un proceso, podemos decir entonces que el sistema
operativo es el encargado de su administración. Es el encargado de proveer
servicios para que cada proceso pueda realizar su tarea. Entre los servicios se
encuentran:
• Crear y destruir procesos
• Suspender y reanudar procesos
• Proveer mecanismos para la sincronización y comunicación entre procesos
• Proveer mecanismos para prevenir dead-locks o lograr salir de ellos.
Administración de Memoria
La memoria es un área de almacenamiento común a los procesadores y dispositivos,
donde se almacenan programas, datos, etc. El sistema deberá administrar el lugar
libre y ocupado, y será el encargado de las siguientes tareas:
• Mantener que partes de la memoria están siendo usadas, y por quien.
• Decidir cuales procesos serán cargados a memoria cuando exista espacio de
memoria disponible, pero no suficiente para todos los procesos que
deseamos.
• Asignar y quitar espacio de memoria según sea necesario.
Subsistema de Entrada/Salida
El sistema operativo deberá ocultar las características específicas de cada
dispositivo y ofrecer servicios comunes a todos. Estos servicios serán, entre otros:
• Montaje y desmontaje de dispositivos
• Una interfaz entre el cliente y el sistema operativo para los device drivers.
• Técnicas de cache, buffering y spooling.
• Device drivers específicos
Administración de Almacenamiento secundario
Dado que la memoria RAM es volátil y pequeña para todos los datos y programas
que se precisan guardar, se utilizan discos para guardar la mayoría de la
información. El sistema operativo será el responsable de:
• Administrar el espacio libre
• Asignar la información a un determinado lugar
11. • Algoritmos de planificación de disco (estos algoritmos deciden quien utiliza un
determinado recurso del disco cuando hay competencia por él)
Subsistema de Archivos
Proporciona una vista uniforme de todas las formas de almacenamiento,
implementando el concepto de archivo como una colección de bytes. El Sistema
Operativo deberá proveer métodos para:
• Abrir, cerrar y crear archivos
• Leer y escribir archivos
Sistema de Protección
Antes que nada, tener en cuenta que por protección nos referimos a los mecanismos
por los que se controla el acceso de los procesos a los recursos.
En un sistema multiusuario donde se ejecutan procesos de forma concurrente se
deben tomar medidas que garanticen la ausencia de interferencia entre ellos.
Estas medidas deben incorporar la posibilidad de definir reglas de acceso, entre
otras cosas.