Instituto Tecnológico Superior de
Valladolid Yucatán
“Ingeniería en Sistemas Computacionales”
INTEGRANTES DEL EQUIPÓ:
Freddy Alexis Iuit Ek-22070060
Alvin Jassiel Maglah Ek-22070109
Betulio Emiliano Hoyos Chimal-22070059
José Luis De La Cruz Can Cahum-22070018
NOMBRE DEL DOCENTE:
l.S.C. Genny Yesenia Cetina Marrufo
Evidencia 2_Investigación
GRUPO: C
GRADO: 4TO
Concepto de Sistema Operativo
Los sistemas operativos son los programas
encargados de administrar y gestionar de
manera eficiente todos los recursos de un
ordenador y otros dispositivos. También se les
conoce como software de sistema, y su función
comienza nada más encender el dispositivo en
el que están instalados. Comienza entonces su
tarea de gestionar el funcionamiento del
hardware del equipo. También, de poner en
marcha las herramientas y funciones que hacen
que un ordenador pueda comunicarse e interactuar con quien lo está utilizando, y
viceversa.
En la actualidad, además de en los ordenadores, hay sistemas operativos en
cualquier dispositivo en el que haya un procesador instalado: smartphones,
tablets, reproductores multimedia, e incluso coches y televisores. Pero,
básicamente, la función de casi todos es la misma: ofrecer a sus usuarios una
interfaz para interactuar con el equipo. También se encarga de administrar sus
recursos, archivos y tareas, así como de realizar diversas tareas de soporte. Entre
ellas, la actualización de las versiones de programas y del propio sistema
operativo, la gestión de su seguridad y el control de los periféricos que puedan
conectarse al dispositivo.
De cara al usuario, un sistema operativo tiene la misión de permitirle ejecutar
programas compatibles, crear y acceder a sus ficheros y, en definitiva, de realizar
las tareas para las que el equipo se diseñó y desarrolló.
Por otro lado, los sistemas operativos se encargan de ejecutar procesos, donde un
proceso es la carga de cualquiera de los programas y aplicaciones que queramos
utilizar en la memoria del dispositivo. Esto es crucial, puesto que, si un programa
no está cargado en su memoria, simplemente no funciona. Hay dos tipos de
procesos: de primer plano y de segundo.
Los de primer plano precisan que el usuario del dispositivo interactúe con ellos.
Son los relacionados con navegadores, programas de edición de texto, o de
retoque de imagen, entre otros. En cuanto a los de segundo plano, son los que no
necesitan intervención del usuario, y que en muchos casos no cuentan con una
interfaz para ello. Es el caso del sistema de detección de malware de un antivirus
Características de los Sistemas Operativos
Un sistema operativo se define como el sistema de software que controla el
hardware de los recursos de ese mismo software y de los ordenadores o
computadoras. De forma adicional, ofrece servicios comunes destinados a los
programas de computación.
Dentro de las principales características que los sistemas operativos ofrecen
están: el manejo de recursos, la administración del trabajo, recuperación de
errores, control de operaciones del sistema y administración de la memoria. Esto
puede cambiar de acuerdo al fabricante.
Los sistemas operativos usualmente son únicos tomando en cuenta el hardware
con el que funcionan y su fabricante. Pero con la sofisticación de los hardware
actuales se necesitan sistemas operativos que vayan acorde a estándares
específicos.
Mecanismos asociados
Cuando se trata de programas multiuso, el sistema operativo debe ofrecer lo
siguiente:
Mecanismo de autenticación para comprobar la identidad de todo usuario.
Mecanismo de administración que ponga límites a la cantidad de recursos
que cada usuario tiene permitido.
Mecanismo de protección contra errores de programas de usuarios que
puedan bloquear la ejecución de otras aplicaciones en el sistema, que sean
maliciosas o que interrumpan y espíen las actividades de otros.
Gestión de Recursos
Manejar los recursos en un sistema de ordenadores es de suma importancia para
el sistema operativo. Un programa no puede usar un dispositivo cuando el
hardware no se encuentra disponible.
El software operacional revisa la ejecución de cada uno de los programas y tiene a
su cargo el monitoreo de los tipos de dispositivos que se están usando. Para
conseguir esto se realiza una tabla en la que se combinan los programas con los
dispositivos que se usan y que serán utilizados en el futuro.
El sistema operativo supervisa la tabla para denegar o aprobar el uso de algún
determinado dispositivo.
Gestión de Trabajo
Una importante responsabilidad que todo programa operativo tiene es la
planificación de tareas para que el sistema de computadora las maneje. El sistema
operativo elabora la orden en la que los programas se procesan y especifica la
secuencia en la que se ejecutarán los trabajos particulares.
El término “en cola” suele ser usado para describir el conjunto de trabajos que se
realizarán. El sistema operativo hace una comparación de los diversos factores
para la creación de esta cola de trabajo. Algunos de ellos incluyen:
Los recursos del sistema que se están utilizando.
Los trabajos que actualmente son procesados.
Prioridad de trabajos al compararse con los demás.
Los recursos que serán empleados por los siguientes programas.
Cualquier otra necesidad especial que el sistema deba solucionar.
El programa operacional debe tener la capacidad de observar estos factores y
mantener el orden en el que los trabajos se procesan.
Control de operaciones input/output
En un sistema, la distribución de los recursos guarda una relación directa con la
operación que tiene un software sobre el manejo de control input/output.
Frecuentemente se necesita acceder a un dispositivo en específico antes de que
comiencen las operaciones input/output, por lo que el sistema operativo debe
tener coordinación de estas operaciones y de los dispositivos en las que
trabajarán.
Se desarrolla un diccionario de programas que atraviesan los dispositivos y la
ejecución que deben emplear para completar a estas operaciones, haciendo uso
de los trabajos y de los informes de control que los dispositivos específicos
pueden necesitar.
Con esto es posible que los usuarios lean los datos de sitios específicos o puedan
imprimir la información en las oficinas elegidas. Un beneficio de esta instalación es
que la información que se lee en una locación puede distribuirse a través del
sistema computarizado.
Sistemas Multitareas
Casi todos los sistemas operativos actuales tienen la opción de multitareas con la
cual un ordenador puede realizar y cumplir diversas funciones al mismo tiempo.
También se les llama sistemas operativos multiprogramados.
Tienen un núcleo
La parte más importante de un sistema operativo corresponde a su núcleo. En los
tiempos actuales los más populares son los núcleos monolíticos.
Estos ofrecen una manera para que los diferentes procesos del ordenador puedan
hacer envíos de mensajes entre ellos mientras que simultáneamente manejan el
RAM, donde se guarda la información del programa. Casi todos los núcleos
también tienen controladores de dispositivo o drivers con los que manejan discos
duros, monitores, etcétera.
Ofrecen conexión
Es probable que la característica con la que los sistemas operativos se definen
mejor es la conexión que existe entre el software, el hardware y la interfaz de
usuario. Todo ordenador necesita de un sistema operativo para ser usado.
Funciones de los Sistemas Operativos
Algunas de las funciones básicas de este software son:
Gestionar procesos o recursos para que los programas puedan ejecutarse
de manera correcta.
Administrar los puertos de entrada y salida, por ejemplo: micrófonos,
altavoces, impresoras o el monitor.
Garantizar la seguridad del ordenador, impidiendo el acceso a ciertos
archivos o programas para el correcto funcionamiento del equipo.
Administrar la memoria principal del dispositivo, de modo que, aunque
varios programas se pongan en marcha, cada uno cuente con una entrada
de memoria independiente.
Detectar errores, mantener la operatividad y controlar dispositivos, de
manera que se eviten las interrupciones.
Clasificación de los Sistemas Operativos
Sistemas operativos monousuarios.
Soportan un solo usuario a la vez, independientemente de la cantidad de
procesadores o tareas que la computadora pueda manejar simultáneamente. Son
comunes en computadoras personales.
Sistemas operativos multiusuarios.
Permiten dar servicio a más de un usuario simultáneamente, ya sea a través de
terminales conectadas localmente o sesiones remotas en una red. El número de
procesadores o procesos no afecta su capacidad para atender múltiples usuarios.
Sistemas operativos monotareas.
Solo permiten que cada usuario realice una tarea a la vez, aunque admiten
múltiples usuarios simultáneamente. Esto significa que cada usuario puede estar
realizando una única actividad en un momento dado.
Sistemas operativos multitareas.
Permiten que un usuario realice varias tareas al mismo tiempo. Por ejemplo, editar
código mientras se compila un programa y se revisa el correo electrónico. Suelen
tener interfaces gráficas que facilitan el cambio entre tareas, mejorando la
productividad.
Sistemas operativos uniproceso.
Capaces de manejar solo un procesador, lo que los hace inútiles en computadoras
con múltiples procesadores. Ejemplos incluyen DOS y MacOS.
Sistemas operativos multiproceso.
Pueden utilizar más de un procesador para distribuir la carga de trabajo. Pueden
trabajar de manera simétrica, distribuyendo tareas equitativamente entre
procesadores, o asimétrica, donde un procesador maestro asigna tareas a
procesadores esclavos.
Cómo se determinan las estructuras de los diferentes sistemas operativos
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, 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
• 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.
Servicios del Sistema Operativo
El sistema brindará un entorno de ejecución de programas donde se dispondrá de
un conjunto de servicios. Los servicios principales serán:
• Ejecución de programas (el SO deberá ser capaz de cargar un programa a
memoria y ejecutarlo. El programa deberá poder finalizar, de forma normal o
anormal)
• Operaciones de E/S (el SO deberá proveer un mecanismo de acceso ya que por
eficiencia y protección los usuarios no accederán directamente al dispositivo)
• Manipulación del Sistema de archivos (se deberá tener acceso al sistema de
archivos y poder, como mínimo, leer, escribir, borrar y crear)
• Comunicación entre procesos (los procesos deberán poder comunicarse, ya
sea que estén en el mismo computador o el diferentes)
• Manipulación de errores (el sistema deberá tomar decisiones adecuadas ante
eventuales errores que ocurran, como fallo de un dispositivo de memoria, fallo en
un programa, etc.)
Estructura del Sistema
La estructura interna de los sistemas operativos puede ser muy diferentes, ya que
se debe tener en cuenta las metas de los usuarios (fácil uso, confiable, rápido,
etc.) y las del sistema (fácil de diseñar,
implementar y mantener, eficiente, etc.). Veremos
3 posibles diseños del sistema.
• Sistema Monolítico
Estos sistemas no tienen una estructura definida,
sino que son escritos como una colección de
procedimientos donde cualquier procedimiento
puede invocar a otro.
Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de
capas). Es importante tener en cuenta que ningún sistema es puramente de un
tipo.
• Sistema en capas
El diseño se organiza en una jerarquía de capas, donde los servicios que brinda
una capa son consumidos solamente por la capa superior. La capa 0 es del
Hardware y la N es la de los procesos de Usuario.
Estos sistemas tienen como ventaja que son modulares y la verificación se puede
hacer a cada capa por separado (son más mantenibles). Sin embargo, el diseño
es muy costoso y es menos eficiente que el sistema monolítico ya que pierde
tiempo pasando por cada capa.
Sistema con micronúcleo
La idea consiste en tener un núcleo que brinde los servicios mínimos de manejo
de procesos, memoria y que provea la comunicación entre procesos. Todos los
restantes servicios se construyen como procesos separados del micronúcleo, que
ejecutan en modo usuario.
Estos sistemas tienen como ventaja un diseño simple y funcional, que aumenta la
portabilidad y la escalabilidad. Para agregar un nuevo servicio no es necesario
modificar el núcleo, y es más seguro ya que los servicios corren en modo usuario.
Cómo ha sido su evolución y su impacto hasta la actualidad
La evolución de los sistemas operativos ha sido fascinante y ha jugado un papel
crucial en el desarrollo de la tecnología moderna. A lo largo de los años, los
sistemas operativos han evolucionado para adaptarse a las crecientes demandas
de los usuarios y a los avances tecnológicos.
1.Sistema operativo de línea de comandos: Los primeros sistemas operativos eran
basados en texto y se ejecutaban a través de líneas de comandos.
2.Sistema operativo de interfaz gráfica de usuario (GUI): Con la llegada de las
computadoras personales, los sistemas operativos comenzaron a utilizar
interfaces gráficas de usuario.
3.Sistemas operativos multitarea: Los sistemas operativos multitarea permiten la
ejecución de múltiples programas al mismo tiempo, lo que mejora la eficiencia y la
productividad.
4.Sistemas operativos de red: Con el crecimiento de las redes de computadoras,
los sistemas operativos evolucionaron para permitir la comunicación entre
computadoras conectadas en red.
5.Sistemas operativos de 32 bits y 64 bits: Los sistemas operativos evolucionaron
para aprovechar las capacidades de procesamiento de las CPUs de 32 bits y,
posteriormente, de las CPUs de 64 bits.
6.Sistemas operativos móviles: Con la popularización de los dispositivos móviles,
surgieron sistemas operativos específicamente diseñados para smartphones y
tablets. Estos sistemas operativos móviles, como Android e iOS, se adaptaron a
las necesidades de los usuarios móviles
1950s: Primeros sistemas operativos, como el IBM 701 y el MIT Compatible Time-
Sharing System (CTSS).
1960s: Sistemas operativos de tiempo compartido y lenguajes de programación de
alto nivel, como MULTICS y Unix.
1970s: Sistemas operativos para microcomputadoras, como CP/M y Apple DOS, y
surgimiento de la interfaz gráfica de usuario (GUI).
1980s: Auge de los sistemas operativos personales, como MS-DOS, Windows y
Mac OS.
1990s: Desarrollo de sistemas operativos de código abierto, como Linux, y de
sistemas operativos para dispositivos móviles, como Palm OS.
2000s: Lanzamiento de sistemas operativos móviles populares, como Android e
iOS, y crecimiento del mercado de aplicaciones.