
Aula 1.1 - Funcionamento dos Sistemas Operacionais
Prof. Marcel Rios | Informática
entoncessistemalosestáunaejecuciónaquíporprogramasdelprocesoprocesos
I «non mi piace» sono una stima del progetto Return YouTube Dislike, dato che YouTube non li pubblica più. returnyoutubedislike.com
Hola a todos, ¿cómo están? Bienvenidos a un contenido más del área de informática. Por aquí estamos hablando sobre sistemas operativos y en nuestra clase de hoy hablaremos sobre el funcionamiento de los SO. Vamos a comprender qué es un proceso, cuáles son los cambios de estado de un proceso y también la clasificación de los sistemas operativos en relación a ser multiusuario, multitarea y sus dos
técnicas principales: multiprogramación y multiprocesamiento . ¡Todo esto en la clase de hoy y al final resolveremos algunas preguntas de examen para ver si entendimos bien el contenido, está bien! Vamos a comenzar hablando de esta breve evolución histórica de la computación. No es nuestra intención profundizar en esto, porque esta evolución computacional la mencionamos, detallamos en la asignatura de arquitectura de
computadoras, que está más enfocada en ello. Entonces, solo traeremos aquí los principales temas de cada una de las generaciones con la tecnología que marcó a cada una. Primera generación de 1945 a 1955, marcada por válvulas de vacío y paneles de conexión. Segunda generación de 1955 a 1965, marcada por transistores y procesamiento por lotes. Tercera generación, marcada de 1965 a 1980, ¿ verdad? Aquí tenemos la tecnología de
circuitos integrados, que comenzó a crear circuitos más pequeños, miniaturizados y la multiprogramación. Cuarta generación de 1980 en adelante. Y ahí tenemos las computadoras personales, las estaciones de trabajo, donde de hecho comenzamos a implementar la computación doméstica, ¿sabes? Entonces, estas son las principales tecnologías que marcaron cada una de esas generaciones. Sobre los procesos, un concepto fundamental en sistemas
operativos es comprender qué es un proceso o también tarea, ¿sabes? Entonces, un proceso es básicamente un programa que está en ejecución. Este programa en ejecución requiere la atención de la computadora. En otras palabras, todo proceso compite por recursos. Pide la atención del CPU, que es la unidad central de procesamiento de la máquina, y también interactúa con otros procesos . Es importante entender que el proceso
siempre está solicitando recursos de la máquina e interactuando con otros procesos. Ahora les mostraremos cuáles son los cambios en el estado de estos procesos. El proceso pasa por algunos estados. Hemos enumerado tres aquí. Está en ejecución, ¿verdad? Al ejecutar, está utilizando el CPU para realizar sus instrucciones. El segundo estado es bloqueado o en espera, que se queda aguardando la ocurrencia de un evento externo para luego retomar sus
acciones; y luego activo o listo, esperando solo el CPU para ejecutar. Está ahí simplemente a la espera. Él ya tuvo un retorno; si se quedó bloqueado, recibió una respuesta del evento externo que estaba esperando, pasó al estado de listo y ahí se queda esperando para entrar nuevamente al estado de ejecución. ¿Cómo podemos entender entonces esta transición? Lo mostraremos ahora en la siguiente diapositiva. Pero antes de
eso, hay un pequeño texto aquí en rojo, ¿verdad? El SO gestiona estos procesos a través de system calls, es decir, llamadas al sistema. Entonces, la llamada al sistema es la ocurrencia de un proceso, de una tarea que se desea realizar. Por lo tanto, el sistema operativo gestiona todos los procesos a través de llamadas al sistema. En un momento detallaremos más sobre este tema. Vamos a visualizar entonces este cambio de
estado entre los procesos. Entonces puede estar en estado de listo, ejecución y espera. Lo pusimos así para que quede más claro. Y un proceso que está en estado de listo acaba de entrar en la fila; cuando es atendido por la CPU, entra en ejecución. Entonces, este cambio de listo a ejecución ocurre cuando el proceso es creado, ¿no? Es colocado en una lista de procesos en estado de listo. Entonces es elegido por el sistema para
ser ejecutado. Por lo que pasa de ese estado de listo a ejecución. Una vez que está en ejecución, puede volver a estar listo cuando finaliza, o bien puede ir al estado de espera, que es justamente este de aquí. Entonces el proceso pasa a espera cuando aguarda la conclusión de un evento solicitado, un evento externo, se queda aquí esperando. O también, como vimos, está en ejecución y queda listo, ¿ verdad? El proceso pasa de ejecución a
listo por eventos generados por el sistema, concluyó y terminó aquí, ¿ está bien? Y de espera puede quedar listo; el proceso pasa a listo cuando la operación solicitada es atendida o el recurso esperado es concedido, vuelve a la fila de listo y puede entrar en ejecución, y después de ejecución puede volver a listo y así sucesivamente. Entonces tenemos aquí una ilustración de cómo pueden ocurrir estos cambios de estado. Y ahí
tenemos dos definiciones importantes: la primera es el Shell, el intérprete de comandos, un proceso que crea una interfaz de comunicación entre el usuario y el sistema operativo, pudiendo ser a través de líneas de comandos, lo que llamamos CLI, mediante una terminal donde el usuario ingresa comandos, allí también se le llama Shell, o también mediante una interfaz gráfica, ¿verdad? La interfaz gráfica donde el usuario interactúa a
través de ventanas. Son esas dos formas de interacción del usuario. Ambas, ¿verdad? Ahí ocurre la interpretación de comandos de solicitudes del usuario hacia el sistema operativo. Ahora aquí, la llamada al sistema que mencionamos, ofrece esa interfaz de comunicación entre el SO y los programas. Entonces, es bueno que anoten la finalidad de cada uno de ellos. Aquí está la interfaz del SO con los programas que
solicitan tareas, como vimos hace poco. Y esas tareas, esos procesos, pasan por diversos estados. Entonces, las llamadas al sistema son funciones que pueden vincularse con aplicaciones proveyendo servicios, como lectura del reloj, operaciones de entrada y salida, comunicación entre procesos y así sucesivamente. ¿Está bien?¿Quedó bien claro? Tomen nota de estas dos definiciones que también aparecen mucho en los exámenes, ¿eh? Sistema
multiusuario y multitarea. Vamos ahora hacia la recta final, ¿verdad? Un SO multiusuario permite el acceso simultáneo a la computadora, ¿verdad? donde cada usuario tiene su propia cuenta y entorno de trabajo aislado. Entonces, el sistema operativo que permite ese acceso simultáneo a la computadora mediante varias cuentas y cada una de esas cuentas tiene su propio entorno, lo llamamos sistema multiusuario. Cuando hablamos de un
sistema operativo multitarea, es la capacidad del SO de alternar rápidamente entre varios procesos o tareas que están en ejecución. Normalmente tiene solo una CPU y esa CPU se encarga de atender todas ellas. Sí, y ahí se genera esa ilusión de que están ocurriendo simultáneamente, ¿cierto? Entonces, esta es la configuración de un sistema operativo multitarea. Y ahí tenemos que clasificar aquí, para que ustedes
entiendan que el multitarea actúa con una sola CPU. Entonces, tiene solo una CPU e implementa una técnica llamada multiprogramación. Ya vamos a hablar de ella, ¿sí? diferente de cuando se tienen varias CPUs, donde la técnica que se adopta es el multiprocesamiento. Entonces la multitarea implementa esta técnica, la multiprogramación, haciendo que la CPU por sí sola pueda atender varias tareas dando la ilusión de que se ejecutan todas al mismo
tiempo simultáneamente, pero no es así, ¿de acuerdo? A diferencia del multiprocesamiento que veremos, y que detallaré ahora, donde tenemos varias CPUs, ahí sí el trabajo ocurre en paralelo. Vamos a detallar primero la multiprogramación, ¿está bien? Para hablar de multiprogramación, es necesario entender primero los sistemas monoprogramables. Entonces, multiprogramación y aquí es monoprogramación, ¿bien?
Monoprogramación. Eh, antiguamente las primeras computadoras, ¿no?,permitían la ejecución de solo un programa a la vez en la computadora, ¿entienden? Instrucción a instrucción, sin soportar la ejecución simultánea de múltiples programas. Tenías que abrir uno a la vez, uno detrás del otro, no permitía lo que hacemos hoy, que vamos abriendo varias cosas al mismo tiempo. Entonces, este es un sistema monoprogramable. Ahí viene la
multiprogramación, que permite la ejecución de varios programas de forma intercalada, manteniendo varios programas en la memoria. Manteniendo varios programas en la memoria. Y entendemos que esta memoria es la memoria principal. Entonces, la memoria principal se queda ocupada con varios programas al mismo tiempo. Y la CPU va alternando entre los programas que están abiertos para intentar optimizar su tiempo de uso, ¿está bien?
Entonces esta es la definición de multiprogramación. Permite que abras varios programas, pero la atención de cada uno de ellos ocurre por una única CPU de forma alternada, ¿bien? Dando esa ilusión de que todo está ocurriendo simultáneamente, ¿correcto ? Entonces esta es la definición de multiprogramación y el multiprocesamiento está diseñado para aprovechar la presencia de múltiples procesadores. Debería haber puesto
esto en rojo, ¿está bien? Entonces adopta múltiples procesadores en una misma computadora. Permite la ejecución concurrente de varios procesos en diferentes CPUs. Entonces aquí de hecho ocurre la ejecución simultánea de varios procesos en diferentes CPUs. Así que a diferencia de lo que ocurre en la multitarea, que lidia con la ejecución de múltiples procesos en un único procesador, en el multiprocesamiento sí tenemos
múltiples procesadores procesando en paralelo. Entonces, actualmente, la mayoría de los sistemas operativos soportan el multiprocesamiento. Entonces, quedó bien entendido esto, gente. Tenemos aquí la definición de multiprocesamiento y de multiprogramación. La multiprogramación ejecuta varias tareas en una única CPU, en un único procesador. Aquí tenemos varios procesadores trabajando al mismo tiempo
en paralelo, ¿está bien? Y ahí, de hecho, ocurre lo que llamamos ejecución concurrente de varios procesos o también procesamiento paralelo, ¿vale? Son las dos palabras clave aquí del multiprocesamiento. Pregunta de concurso. Vamos allá. Los programas de los usuarios pueden solicitar servicios al núcleo del sistema operativo. Este mecanismo se denomina alternativa A, compilación. Alternativa B, biblioteca del sistema.
Alternativa C, editor de enlaces. Alternativa D, intérprete de comandos. Alternativa E, llamada al sistema. ¿ Qué marcarías ahí? Si quieres pensar un poco, pausa el video. Les traeré la respuesta ahora. Alternativa E, ¿ verdad? Llamada al sistema. Observa aquí. Los programas de usuario pueden solicitar servicios al núcleo del sistema operativo. Esto ocurre a través de system calls, llamadas al sistema. Vamos a otra pregunta. Con
respecto a los fundamentos de los sistemas operativos, evalúa el ítem. Ni siquiera los sistemas operativos más modernos permiten que múltiples programas estén en la memoria principal al mismo tiempo. ¿Cierto o falso?¿Qué marcarías en esta pregunta? Si quieres pensar un poco, pausa el video. Les traeré la respuesta ahora. Falso, ¿verdad? Entonces, los sistemas operativos más modernos sí permiten múltiples
programas, permiten que varios programas estén en la memoria principal al mismo tiempo, ¿vale? Así que esta es falsa porque dice que no lo permite. ¿Qué más? Vamos allá. Ajá . La interfaz entre el sistema operativo y los programas de usuario está definida por un conjunto de instrucciones extendidas proporcionadas por el sistema operativo. Estas instrucciones se denominan D. Alternativa A, proceso. Alternativa B,
llamada al sistema. Alternativa C, símbolo del sistema. Alternativa D, Shell. O alternativa E, vectores de instrucción. ¿Qué marcarías en esta pregunta? Si quieres pensar un poco, pausa el video. Les traeré la respuesta ahora. La alternativa B, llamada al sistema otra vez, ¿eh? Entonces, la interfaz entre el sistema operativo y los programas de usuario es a través de llamadas al sistema, ¿ vale? Recordando que el Shell es una
interfaz de comunicación entre el usuario y el sistema operativo. ¿Está bien? Tomamos nota de eso. Una más. En cuanto a sistemas operativos, evalúa el ítem: en el uso de la técnica denominada multitarea, incluso si el sistema operativo posee solo un procesador, se tiene la ilusión de que varios programas se están ejecutando simultáneamente. ¿Cierto o falso? Esta está fácil, ¿eh? Si quieres pensar un poco, pausa el video. Les
traeré la respuesta ahora. Es correcto , ¿verdad? Entonces, está bien definida la multitarea. A pesar de tener solo un procesador, se tiene la ilusión de que varios programas se están ejecutando simultáneamente. ¿ Todo bien? Entonces, listo, cerramos nuestro contenido de hoy. Espero que les haya gustado. Más información aquí en la descripción del video. Yo me despido por aquí y los veo en la próxima. Hasta entonces. Chao.
Commenti
I commenti non sono ancora stati caricati.