# data[].attributes.body
Podemos ver el sistema operativo como un encargado de asignar los recursos. Dado que puede haber muchas solicitudes de recursos que seguramente no podrán satisfacerse simultáneamente, el sistema operativo debe decidir a cuáles solicitudes se les va asignando recursos para poder operar el sistema de cómputo de una manera eficiente y

justa. Ahora realizamos un cuadro comparativo en donde vemos las diferentes clasificaciones y estructuras de los sistemas operativos vigentes.

# data[].attributes.headline
clasificación y estructura genérica de los sistemas operativos vigentes 

# data[].attributes.subject
clasificación y estructura genérica de los sistemas operativos vigentes 

# data[].attributes.body
1. Monousuarios : Soportan un usuario a la vez sin importar los procesadores que tengan la computadora o los procesos y tareas que el usuario puede realizar al mismo tiempo. Ejemplo: las PC.

2. Multiusuario : Ofrece servicio a mas de un usuario a la vez ya sea por medio de terminales o secciones remotas en un red. No importa la cantidad de procesadores que tenga la maquina ni la cantidad de procesos que se realicen  a la misma vez.

3. Monotareas : Permite una tarea a la vez por usuario. Aunque hallar más de un usuario a la misma vez solo permitirá una tarea por usuario.

4. Multitareas : Permite al usuario realizar varias tareas a la misma vez.

5. Uniproseso : Maneja solamente un procesador de la computadora. Si tuviera más de uno seria inútil. Ejemplo: Dos y MacOS

6. Multiproceso : Puede manejar más de un procesador distribuyendo la carga asimétrica y simétrica.

# data[].attributes.attachment_link.title
ISI485 - Sistemas Operativos - C3P2 - Servicios de los Sistemas Operativos

# data[].attributes.headline
Sistemas Operativos Por La Forma Que Ofrecen Sus Servicios

# data[].attributes.subject
Sistemas Operativos Por La Forma Que Ofrecen Sus Servicios

# data[].attributes.body
1. Sistema Operativo De Red : Interactúan con otras computadoras a través de un medio transmisión que intercambia información, transfiere archivo, ejecutar comandos remotos y otras tareas.

2. Sistemas Operativos Distribuidos : Incluyen los servicios que ofrece los sistemas operativos de red incluyen ó añade recursos (impresoras, unidades de respaldo, memoria, procesos y unidad central de proceso) adicionales en una sola maquina virtual que el usuario accesa de forma transparente.

# data[].attributes.body
1. Estructura Monolítica : La construcción del programa final es a base de módulos compilados separadamente y que se unen a graves de un ligador. Carecen de protecciones  y privilegios al manejar recursos como memoria y disco duro.

2. Estructura Jerárquica : El sistema operativo contiene subpartes y esto organizado en forma de niveles ó capaz.

3. Maquina Virtual : Presenta una interfaz  a cada proceso, mostrando una maquina que parece idéntica a la maquina real subyacente. Se reparan los conceptos que suele estar unidos en el resto del sistema: La multiprogramación y la maquina extendida.

4. Cliente-Servidor (MicroKernel): Es el más reciente y predominante, sirve para toda clase de aplicaciones y el propósito de este es de tipo general cumpliendo así con las mismas actividades de los otros sistemas operativos.

Su núcleo (core) esta designado a establecer comunicación entre los clientes y servidores. Los procesos pueden ser tanto servidores como cliente a su vez el cliente actual como servidor para otro proceso.

# data[].attributes.headline
Estructura General del Sistema Operativo

# data[].attributes.subject
Estructura General del Sistema Operativo

# data[].attributes.body
También llamados sistemas monolíticos. Este tipo de organización es con mucho la más común; bien podría recibir el subtítulo de "el gran embrollo". La estructura consiste en que no existe estructura alguna.

El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados y cada uno de ellos es libre de llamar a cualquier otro, si este último proporciona cierto cálculo útil para el primero. Sin embargo incluso en este tipo de sistemas es posible tener al menos algo de estructura.

El sistema operativo examina entonces los parámetros de la llamada, para determinar cuál de ellas se desea realizar. A continuación, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la n-ésima llamada al sistema.

Esta organización sugiere una organización básica del sistema operativo:

·Un programa principal que llama al procedimiento del servicio solicitado.

·Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.

·Un conjunto de procedimientos utilitarios que ayudan al procedimiento del servicio.

# data[].attributes.body
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.

Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos.

Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos. Se puede pensar también en estos sistemas como si fueran `multicapa’. Multics y Unix caen en esa categoría. [Feld93].

# data[].attributes.body
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida.

El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten.

Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario.

# data[].attributes.body
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.

Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales.

Comunicación entre los clientes y los servidores.

Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.” [Alcal92].

Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX que contempla en su diseño este paradigma.

# data[].attributes.body
Como conclusión gracias al sistema operativo me doy cuenta de que es un programa que gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes.
También me di cuenta de que hay programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que estos permiten que la interacción con el sistema operativo, que también es llamado como núcleo o kernel.

Referencias:

La Red Martínez, D. L. (2004). Sistemas operativos. Santa Fe, Argentina, Argentina: El Cid Editor. Recuperado de https://elibro.net/es/lc/bibliotesci/titulos/77467.

Cura, N. J. (2020). Fundamentos de sistemas operativos. Córdoba, Jorge Sarmiento Editor - Universitas. Recuperado de https://elibro.net/es/lc/bibliotesci/titulos/175153.