Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Profesora: Alumno:
Carmen Salas José Andrés Martínez Paliche
CI: 28.065.821
INTRODUCCION:
Este trabajo tiene la finalidad de ser una herramienta de orientación, mediante el cual se
pueda tener una idea básica de a que se está refiriendo cuando hablamos sobre sistemas
operativos, estructuras, procesos y más elementos relacionados a este ámbito.
Habiendo expresado eso; En 1950, señalan los expertos que los programas se colocaban
físicamente dentro de los componentes del equipo para que comenzara a funcionar, “Monitor
Residente” Así fue que se le bautizó a este primer sistema operativo, bastante primitivo
(comparado con los actuales), había nacido el primer sistema operativo de toda la historia.
Este mismo funcionaba con tarjetas perforadas, el equipo que lo usó fue el IBM 704.
Un sistema operativo es uno o varios programas (a los cuales nos podemos referir como
componentes) que tienen la capacidad de administrar los componentes físicos del dispositivo,
haciendo posible el control y sincronización de estos mismos.
A pesar de que la palabra “Estructura” nos hace pensar en puentes, rascacielos o también
estaciones espaciales (en el caso de las personas más creativas), realmente es un término
abstracto, el cual está pensado en la aplicación de cualquier ámbito en el cual tener una
organización es fundamental para un excelente funcionamiento de todo.
Estos son los componentes que terminan conformando la estructura un sistema operativo, si
nos vamos a las definiciones de cada uno de estos componentes, tenemos que:
Subsistema de Entrada/Salida.
El sistema tiene el deber de ocultar características de cada dispositivo y además ofrecer
servicios en todos.
Administración De Procesos:
Cuando nos referimos a un proceso, Al menos en el ámbito informático, nos referimos a un
programa en memoria, CPU, Acceso A Dispositivo, diversos recursos más.
Un proceso pues necesita diversos recursos como (memoria, CPU, archivos, dispositivos de
E/S, etc.) para poder lograr realizar su tarea con éxito, a grandes rasgos podemos deducir que
un proceso es una unidad activa y un programa una unidad pasiva.
Esto nos trata de decir que el programa y el proceso están profundamente relacionados, pero
no son lo mismo, ya que de un solo programa podríamos tener varios procesos provenientes
del mismo.
Podemos ver como el programa Steam (Plataforma de Videojuegos) está iniciado y de este
programa en específico provienen diversos procesos.
(Para ver con el sistema operativo Windows los procesos que esta realizando tu computador
en vivo presiona [Ctrl] + [Shift] + [Esc] y te abrirá el administrador de tareas.).
Administración De Memoria:
La memoria es uno de los puntos más simples de explicar, en simples palabras la memoria es
un área de almacenamiento común, en estas áreas se almacenan datos, programas, etc.
Este componente del sistema será el encargado de administrar los lugares libres y los
ocupados, además de ello, algunas de sus responsabilidades también son:
Mantener que partes de la memoria están siendo usadas, y por quien.
Debe de poder decidir cuales son los procesos prioritarios que se deben cargar en
memoria en el momento en que exista el espacio disponible para ello.
Asignar o remover espacios de la memoria según la necesidad.
Con estas características y estas responsabilidades, podemos deducir que nos estamos
refiriendo a la administración de uno de los componentes esenciales de toda computadora, La
memoria RAM.
La memoria RAM es en esencia una memoria temporal que no trabaja de igual manera que los
discos duros, un ejemplo interesante es comparar a la memoria RAM con nuestra memoria
humana de corto plazo, que nos permite guardar y gestionar datos y procesos en situaciones,
datos y procesos en los cuales mucha información se pierde y otra pasa a la memoria de largo
plazo, que en el caso de nuestra alegoría sería el disco duro.
En esta segunda imagen se puede apreciar como el administrador de memoria asigna a cada
proceso del programa (Navegador Microsoft Edge) una cantidad especifica de memoria.
La memoria RAM pues, será utilizada sencillamente para que el procesador (Núcleo o cerebro
de nuestro pc) pueda tener los datos a disposición de forma inmediata, o en otras palabras…
en vivo. Esto no podría ser logrado con los discos duros y SSD ya que la forma en que estos dos
tipos de memoria trabajan es totalmente distinto, y tendríamos un sistema operativo
extremadamente lento.
Nuestro almacenamiento también cuenta con una velocidad de escritura y una de lectura,
siendo los discos de estado sólido (SOLID STATE DRIVE, SSD) los que tienen mejor
rendimiento en todo este ámbito y además de ello, los más caros.
Rendimiento io/s
aleatorio.
6000 io/s Esto se refiere al número de 400 io/S
operaciones internas que es
capaz de realizar el disco
Confiabilidad
0.5% Los discos SSD tienen 10 2 - 5%
veces menos fallos
Solicitud De
20ms 400 – 500 ms
Entrada Y Salida
Se puede apreciar como los SSD terminan siendo una total diferencia frente a los HDD.
Subsistema De Archivos:
Este componente proporciona visual de cada una de las formas de almacenamiento,
implementando el concepto de archivo como una colección de bytes.
Tomemos en cuenta que la meta de un usuario para con un sistema operativo es que este
sea (rápido, seguro, confiable, fácil uso).
Mientras que para el sistema las metas son (fácil de diseñar, implementar y mantener,
eficiente, etc.)
Ya mencionado eso, podemos proceder a ver los posibles diseños de sistemas operativos.
Sistemas Monolíticos:
En los sistemas operativos monolíticos todos los componentes de los que ya hemos hablado
previamente están escritos en un solo código o espacio lógico. Tomando en cuenta esto,
podríamos decir que es el núcleo del sistema operativo.
Una de las divisiones más evidentes que puede hacerse es entre procesos de aplicación o
usuario y los procesos del sistema en sí.
Los sistemas operativos son los más comunes, esto es así ya que su implementación y diseño
son los menos complejos. Una de las desventajas de estos sistemas es que todo el sistema se
ejecuta en el mismo nivel de privilegio que el núcleo (El Sistema Operativo es el núcleo). Esto
causa que sea bastante probable que haya problemas tales como: (Apagado del sistema,
Bloqueo, cuelgue de procesos) si llegase a ocurrir algún fallo dentro del hardware o existe
algún error sin depurar dentro del código del sistema.
A pesar de ser monolítico, también es modular, esto significa básicamente que es posible
quitar o agregar componentes al núcleo incluso en pleno funcionamiento, Si lo reflexionamos,
esto lo hace tener una gran ventaja ya que si alguno de los módulos tiene problemas se puede
reemplazar, arreglar o directamente eliminar sin afectar el resto de las funcionalidades.
Otra de las ventajas de los sistemas monolíticos es su velocidad, como todos los componentes
del sistema comparten el mismo privilegio y direcciones y la separación funcional solo se hace
entre procesos del sistema y los de la aplicación, la demora con la que se ejecutará la llamada
del sistema es mínima.
GNU/Linux
Syllable
Núcleos tipo DOS
DR-DOS
Familia Microsoft Windows 9x (95, 98, 98SE, Me)
El objetivo de la arquitectura por capas o niveles de privilegio, es separar la acción del código
de los procesos del sistema, del núcleo y los procesos del usuario, típicamente y además lo
más ideal es separar en el nivel máximo de privilegios al código base del sistema, seguido en el
siguiente nivel de la gestión de procesos y gestión de memoria, en otro nivel a los procesos de
gestión de entrada y salida, en este nivel se está incluyendo a los drivers.
Sistemas de Micronúcleo:
Este tipo de diseño de sistema operativo tiene la idea principal de separar los programas del
sistema funcionalmente de los programas de la aplicación y de esta manera se asegura la
protección adicional con el hardware.
AIX
BeOS
Mach
MorphOS
QNX
Minix
Hurd
L4
RadiOS
Symbian
VSTa
Unix modernos
Solaris
Linux
Mac OSX
Sistemas cliente-servidor:
El objetivo fundamental del núcleo es garantizar la comunicación entre procesos. Esta filosofía
propició la creación de sistemas operativos distribuidos.
Habiendo dejado claro de forma básica todo lo que es un sistema operativo, podemos hondar
en explicar a qué exactamente llamamos “Proceso”.
¿Qué es un proceso?
Igual que hicimos con la definición de estructura, podemos irnos a la definición fundamental
de lo que llamamos “Proceso”, esto con el objetivo de que nos ayude a entender aún más las
definiciones que vendrán próximamente.
Proceso:
Podríamos llamar Proceso a todo conjunto de fases sucesivas o serie de pasos organizados y
sistematizados cuyo fin es alcanzar un objetivo determinado. Proceso al igual que “estructura”
es un concepto abstracto que nos ayuda a darnos cuenta de que se trata de procesos
predeterminados que definen una forma de accionar para alcanzar el fin o resultado esperado.
Las actividades de un proceso son secuenciales, en la que cada fase es desarrollada por los
responsables de las diversas etapas, aportando valor agregado a la estructura orgánica.
Los programas son una parte pasiva y los procesos una parte activa, esto hace que de un
programa puedan venir varios procesos.
Para esta ocasión se será bastante breve para no caer en redundancias ya que este punto ya
ha sido explicado previamente, La gestión de procesos en un sistema operativo puede ser
comparada con los trabajos dentro de una oficina, en esta se pueden tener una lista de tareas
a realizar, como toda lista de tareas cada una de las tareas debería de tener una prioridad ya
sea alta, baja, media.
Evidentemente deberíamos comenzar haciendo las tareas de alta prioridad primero, cuando
estas se terminen seguimos con las de media prioridad y así sucesivamente. Este ejemplo a
pesar de lo simple que es explica bastante bien básicamente como un sistema operativo
gestiona procesos, a esto podríamos sumarle tareas en segundo plano
¿Pero por qué todos los procesos no pueden tener una prioridad alta?
Hay que tener en cuenta que todo proceso en un computador está tomando recursos de la PC
ya sea (memoria RAM o CPU), recursos que volverán a estar libres una vez termine el proceso,
esto hace que el sistema operativo juegue un papel fundamental, ya que este se encargará de
ver cuales tareas son primordiales y cuales pueden esperar. Esto tiene el objetivo de evitar el
congelamiento del sistema por falta de memoria o capacidad de procesamiento.
Si lo vemos es similar a nuestra lista de tareas en la oficina, no podemos encargarnos de todo a
la vez, pero si podemos gestionar nuestra atención y memoria en cada una de las tareas.
Coordinación de Procesos:
Los sistemas operativos cuentan con mecanismos que permiten a los procesos coordinar su
ejecución para conseguir el objetivo sin que sucedan situaciones no deseadas, ejemplo, que
varios procesos coincidan simultáneamente en el acceso a un cierto tipo de recurso que no se
pueda compartir.
Pesimistas: Este mecanismo permite coordinar la ejecución de dos o más procesos que
acceden al recurso compartido con una frecuencia alta.
Bloqueos mutuos:
Dentro de los sistemas operativos, denominamos “bloqueo mutuo” o (interbloqueo,
deadBlock, traba Mortal, abrazo mortal) es el bloqueo permanente de un conjunto de
procesos o hilos de ejecución, en un sistema concurrente que compiten por recursos del
sistema o bien se comunican entre ellos.
Todos los bloqueos mutuos, inician mediante una necesidad que no pueden satisfacer, por
parte de varios procesos.
Dos niños quieren jugar al arco y a la flecha, un niño toma el arco y otra toma la flecha.
En esta situación podemos notar como ninguno de los niños podrá jugar hasta que alguno
libere lo que ha tomado.
En la siguiente figura podemos ver dos procesos diferentes (A, B), cada uno con uno de los
recursos diferentes asignados (R1, R2), en este ejemplo podemos ver como cada uno de los
procesos necesita o solicita un recurso que está asignado a otro proceso.
CONCLUSION:
Con estos breves conceptos podemos ya percatarnos de cómo funciona básicamente un
sistema operativo y como su estructura y organización es fundamental en él. Actualmente los
sistemas operativos están cambiando a pasos agigantados, en todos los dispositivos
inteligentes, además de ello podemos esperar dentro de pronto la integración de inteligencias
artificiales en los componentes de los sistemas operativos.
Otro ejemplo puede ser Chrome OS, un sistema operativo ultra liviano y relativamente nuevo.