Ir al contenido principal

Programación de procesos

Para empezar este Blog tenemos que entender algunos conceptos básicos, tales como:
  • En un sistema de un solo procesador, solo puede correr un proceso a la vez, todos los demás que quieran correr al mismo tiempo tendran que esperar hasta que el CPU este libre y se pueda reorganizar.
  • El concepto conocido como "multiprogramming" se refiere al objetivo de tener muchos procesos corriendo al mismo tiempo en un uniprocesador, así que la idea es relativamente simple, ya que podemos pensar en los procesos como personas que esperan a que un camarero les asigne una mesa en un restaurante, de la misma manera los procesos esperan hasta que una otra tarea termine de ser realizada por el CPU.

Así que ahora multiprogramming suena como una buena idea, no? Ya que esto nos puede ahorrar mucho tiempo, siendo una manera mas productiva de realizar las cosas, pero para realizar todo esto necesitamos un scheduler, par que administre las tareas que van a ser realizadas, debemos notar que esto no tiene que ser necesariamente una estructura de FIFO (First In First Out), de manera concpetual podemos pensarlo como una linea de partida de una carrera, todos estan listos para correr y tomar la bandera, pero también existe prioridades en este proceso.

Lo que vemos aqui es un diagrama de lo que es un scheduler, y el como funciona en nuestras computadoras, y el como viaja un proceso a través de su ciclo de vida. Y como la vida misma uno no escoge vivir o morir, asi que las opciones new y terminated son clasificadas como nonpreemptive puesto que no se pueden tomar decisiones en esa parte del proceso, pero todo lo demas es conocido como preemptive puesot que tienen una libertad total de lo que se realizará, lo malo es que la parte preventiva cuesta tiempo y recursos al tener que ingresar a la memoria y compartir datos, y aqui es en donde se pueden generar deadlocks que hagan que todo el sistema deje de funcionar.




Comentarios

Entradas populares de este blog

JavaScript, npm y seguridad

Como habran escuchado en las ultimas semanas hubo un problema de seguridad con npm. Esto debido a que se anuncio que la ultima actualizacion de npm cambia los permisos criticos del sistema de archivos de Linux, lo cual provoca como consecuencia que todo el sistema operativo se pueda romper por completo. Segun las fuentes incluidas al final de este blog, al rededor de 2000 usuarios se vieron afectados por este error de seguridad al actualizar npm, con tansolo 4 horas de su nuevo lanzamiento. Muchos utilizaron la opción de usar "sudo" para instalar esta actualziación, y como todos lo usuarios de LInux sabemos, esta opción "sudo" le permite a la nueva versión tener permisos de administrador en la computadora, cambiando permisos en varios archivos. Ahora uno se preguntaria, porque npm? porque alguien necesitaria actualizar npm? Bueno, para todos aquellos que utilizan JavaScript deben saber sobre node.js, que gracias a este JavaScript se ha unido a varios lenguajes ...

¿Problemas con tus procesadores Intel?

¿Problemas con tus procesadores Intel? Cómo de seguro han escuchado en los ultimos meses se ha dado a conocer un problema bastante grande en el mundo de la computación relacionado con los procesadores de Intel. Esta noticia tomó a muchos por sorpresa, pues el error se concentra en un fall de diseño que le permite a cualquier aplicación entrar al " kernel space ", dando como resultado un agujero de seguridad bastante crítico. Pero para esto explicaremos mas a detalle esta noticia. ¿Qué es un sistema operativo? Un sistema operativo es aquel que actua como intermediario entre el usuario de la computadora y el hardware, buscando optimizar el uso del hardware, diseñado para ser eficiente. Un sistema operativo administra el uso del hardware y coordina su uso a través de las diferentes programas. Supervisa la ejecución de los programas para prevenir errores y administrar las operaciones de control de input/output. ¿Cómo funciona un sistema operativo? En esta imagen po...

Redes iraníes y rusas atacadas usando la vulnerabilidad CVE 2018-0171 de Cisco

El dia 6 de Abril durante la noche se reportó un ataque de seguridad por parte de un grupo de hackers llamado “JHT” hacía varias infraestructuras de redes extranjeras, incluyendo Rusas e Iraníes, utilizando a la instalación inteligente de CISCO bajo el código CVE-2018-0171, gracias a esto los hackers lograron restablecer los enrutadores a su configuración predeterminada, además de mostrar un mensaje a las víctimas. Nos estamos refiriendo a que se sobrescribe el archivo de configuración del enrutador conocido como “startup-config” para reiniciar todo el sistema. Causando interrupciones en las redes afectadas y el archivo de configuración de inicio del enrutador se cambió por un mensaje que decía “No se metan con nuestras elecciones.... -JHT usafreedom_jht@tutanota.com" Según el ministerio de Tecnología de la Información y Comunicación de Irán, se declararon más de 200,000 enrutadores en todo el mundo que se vieron afectados por este ataque, en donde 3500 de ellos eran d...