Software:
Es una palabra que proviene del idioma inglés, pero que gracias a la masificación de uso, ha sido aceptada por la Real Academia Española. Según la RAE, el software es un conjunto de programas, instrucciones y reglas informáticas que permiten ejecutar distintas tareas en una computadora. es conciderado la parte logico del computador y permiten controlar el comportamiento del mismo.
Tipos de Software:
Software de Aplicacion:
Aqui se incluyen todos programas que les permiten a los usuarios realizar una o varias tareas especificas, aqui se encuentran los programas que los individuos uzan de manera cotidiana como son los procesadores de texto, hojas de calculo, editores, telecomunicaciones, de calco numerico y simbolicos, video juegos, entre otros.
Software de Programación:
Son aquellas herramientas que un programador utiliza para poder desarrollar programas informáticos. Para esto, el programador se vale de distintos lenguajes de programación, como por ejemplo: Compiladores, programas de diseño asistido por computador, paquetes integrados, editores de texto, enlazadores, depuradores, interpretes entre otros.
Software de Sistemas:
Es el que le permite al usuario interactuar con un sistema operativo asi como tambien controlarlo. Este sistema esta compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware, y al mismo tiempo le otorgan a los usuarios una interfaz. El sistema operativo permite facilitar el uso del computador a sus usuarios ya que es el quien da la posibilidad de asignar y administrar los recursos del sistema. Como ejemplo sobre este tipo de software podemos mencionar: windows, Mac, GNU/Linux, OS. entre otros. Ademas de los sistemas operativos como Software de Sistemas podemos encontrar tambien las herramientas de diagnostico, los servidores, las utilidades, los controladores de dispositivos y las herramientas de corrección y optimización.
Proceso
Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".1
Para entender lo que es un proceso y la diferencia entre un programa y un proceso, A. S. Tanenbaum propone la analogía "Un científico computacional con mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta para un pastel de cumpleaños y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azúcar, leche, etcétera." Situando cada parte de la analogía se puede decir que la receta representa el programa (el algoritmo), el científico computacional es el procesador y los ingredientes son las entradas del programa. El proceso es la actividad que consiste en que el científico computacional vaya leyendo la receta, obteniendo los ingredientes y horneando el pastel.
Cada proceso tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecución 2 veces. Cuando este último caso sucede, el sistema operativo usa la misma región de memoria de código, debido a que dicho código no cambiará, a menos que se ejecute una versión distinta del programa.
Estados de un proceso
Los estados de un proceso obedecen a su participación y disponibilidad dentro del sistema operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los procesadores sólo pueden ejecutar un solo proceso a la vez, turnándolos para el uso de éste. Existen procesos no apropiativos o cooperativos que básicamente ocupan todo el tiempo del procesador hasta que ellos deciden dejarlo. Los procesos apropiativos son aquellos que ocupan por un período de tiempo el procesador hasta que una interrupción o señal llega al procesador para hacer el cambio de proceso, a esto se le conoce como cambio de contexto.
Los posibles estados que puede tener un proceso son ejecución, bloqueado y listo:
- Ejecución, es un proceso que está haciendo uso del procesador.
- Bloqueado, No puede ejecutarse hasta que un evento externo sea llevado a cabo.
- Listo, ha dejado disponible al procesador para que otro proceso pueda ocuparlo.
Las posibles transiciones son 4. La primera se realiza cuando el sistema operativo determina que el proceso no puede continuar justo en ese momento, en algunos sistemas se puede hacer una llamada al sistema "pause" para pasar al estado bloqueado, en Unix cuando el proceso está leyendo datos provenientes de una canalización o de un archivo especial (terminal) y no hay entrada disponible, el proceso se bloquea de forma automática.
Las transiciones 2 y 3 son llevadas a cabo por el planificador de procesos, siendo que el proceso no tiene conocimiento de éste. La transición 2 se da cuando el planificador de procesos decide que el proceso ya estuvo el tiempo suficiente en ejecución y debe dar paso a la ejecución de otros procesos (adquieran tiempo del procesador). La transición 3 se realiza cuando todos los procesos han ocupado tiempo del procesador y debe retomarse el primer proceso.
La transición 4 ocurre cuando se produce un evento externo por el que un proceso estaba en espera, por ejemplos, introducir datos desde la terminal. Si no hay otro proceso en ejecución en ese instante, la transición 3 se activa y el proceso comienza a ejecutarse; también podría pasar al estado de "listo" y esperar un momento para iniciar la ejecución.
Tipos de procesos
Existen dos tipos de procesos, aquellos que se ejecutan en modo kernel y aquellos que se ejecutan en modo usuario. Los primeros son más lentos por las llamadas al sistema que realizan, sin embargo, son más seguros por la integridad que representan. Cuando hablamos de los procesos de usuario, podemos decir que el sistema operativo podría no ser multiproceso, ya que se vale de librerías (como pthread) para hacer un multiplexado y dar la apariencia de trabajar como multiproceso.
Podría pensarse en otra clasificación, como son los procesos en primer plano y procesos en segundo plano. Los primeros interactúan con el usuario, es decir, el usuario proporciona los datos que el proceso utilizará. Los segundos, son creados para tareas bien definidas y no necesitan la intervención del usuario, por ejemplo, se puede tener un proceso en segundo plano para revisar la temperatura el disco duro constantemente, éstos también son conocidos como demonios.
No hay comentarios.:
Publicar un comentario