Está en la página 1de 8

SISTEMAS OPERATIVOS

Definicion: Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicacin y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema. En una definicin informal es un sistema que consiste en ofrecer una distribucin ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos. A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difcil definir qu es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes. Clasificacion de Sistemas Operativos:

Administracin de tareas

Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Administracin de usuarios
Monousuario: Si slo permite ejecutar los programas de un usuario al mismo tiempo.

Multiusuario: Si permite que varios usuarios ejecuten simultneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

Manejo de recursos

Centralizado: Si permite usar los recursos de una sola computadora.

Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos...) de ms de una computadora al mismo tiempo.

Ejemplos de sistemas operativos para PC


Microsoft Windows Mac OS X GNU/Linux Unix Solaris FreeBSD OpenBSD Google Chrome OS Debian Ubuntu Mandriva Sabayon Fedora Linpus linux Haiku (BeOS)

Ejemplos de sistemas operativos para dispositivos mviles


Artculo principal: Sistema operativo mvil.

Android iOS Bada BlackBerry OS Windows Phone Symbian OS HP webOS Firefox OS Ubuntu Phone OS

Que es un Proceso: Un proceso puede informalmente entenderse como un programa en ejecucin. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecucin 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 analoga "Un cientfico computacional con mente culinaria hornea un pastel de cumpleaos para su hija; tiene la receta para un pastel de cumpleaos y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azcar, leche, etctera." Situando cada parte de la analoga se puede decir que la receta representa el programa (el algoritmo), el cientfico computacional es el procesador y los ingredientes son las entradas del programa. El proceso es la actividad que consiste en que el cientfico 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 ejecucin 2 veces. Cundo este ltimo caso sucede, el sistema operativo usa la misma regin de memoria de cdigo, debido a que dicho cdigo no cambiar, a menos que se ejecute una versin distinta del programa. Los procesos son gestionados por el sistema operativo y estn formados por:

Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa. Su memoria de trabajo (memoria crtica), es decir, la memoria que ha reservado y sus contenidos. Otra informacin que permite al sistema operativo su planificacin.

Un proceso se rige en pequeas porciones, conocidas como pginas, y cada proceso tiene su propia tabla de paginacin, fungiendo como una optimizacin del sistema operativo ante los fallo de pgina. Estados de un proceso: Los estados de un proceso obedecen a su participacin y disponibilidad dentro del sistema operativo y surgen de la necesidad de controlar la ejecucin de cada proceso. Los procesadores slo pueden ejecutar un slo proceso a la vez, turnandolos para el uso de ste. Existen procesos apropiativos que bsicamente ocupan todo el tiempo del procesador hasta que ellos deciden dejarlo. Los procesos no apropiativos son aquellos que ocupan por un periodo de tiempo el procesador hasta que una interrupcin o seal 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 ejecucin, bloqueado y listo:

Ejecucin, 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 canalizacin o de un archivo especial (terminal) y no hay entrada disponible, el proceso se bloquea de forma automtica. Las transiciones 2 y 3 son llevadas a cabo por el planificador de procesos, siendo que el proceso no tiene conocimiento de ste. La transicin 2 se da cuando el planificador de procesos decide que el proceso ya estuvo el tiempo suficiente en ejecucin y debe dar paso a la ejecucin de otros procesos (adquieran tiempo del procesador). La transicin 3 se realiza cuando todos los procesos han ocupado tiempo del procesador y debe retomarse el primer proceso. La transicin 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 ejecucin en ese instante, la transicin 3 se activa y el proceso comienza a ejecutarse; tambin podra pasar al estado de "listo" y esperar un momento para iniciar la ejecucin.

PBC La manifestacin de un proceso en un S.O es un bloque de control de proceso (PCB), es decir cada proceso es representado por su PCB. El PCB es una estructura de datos que contiene cierta informacin importante acerca del proceso. Esta informacin es: Estado actual del proceso Id nico para proceso Prioridad del proceso Apuntadores para localizar la memoria del proceso Apuntadores para asignar recursos Area para preservar registros. El PCB es un almacenamiento central de informacin que permite al S.O localizar toda la informacin clave sobre el proceso.

Interrupciones

Interrupciones y excepciones[editar editar fuente]


El SO ocupa una posicin intermedia entre los programas de aplicacin y el hardware. No se limita a utilizar el hardware a peticin de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute cdigo del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

Algn dispositivo de E/S necesita atencin. Se ha producido una situacin de error al intentar ejecutar una instruccin del programa (normalmente de la aplicacin).

En ambos casos, la accin realizada no est ordenada por el programa de aplicacin, es decir, no figura en el programa. Segn los dos casos anteriores tenemos las interrupciones y la excepciones:

Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar que la operacin de la que se estaba ocupando, ya ha terminado. Excepcin: una situacin de error detectada por la CPU mientras ejecutaba una instruccin, que requiere tratamiento por parte del SO.

Tratamiento de las interrupciones[editar editar fuente]


Una interrupcin se trata en todo caso, despus de terminar la ejecucin de la instruccin en curso. El tratamiento depende de cul sea el dispositivo de E/S que ha causado la interrupcin, ante la cual debe poder identificar el dispositivo que la ha causado. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del perifrico. El inconveniente es que el dispositivo debe tener los circuitos electrnicos necesarios para acceder al sistema de interrupciones del computador.

Importancia de las interrupciones[editar editar fuente]


El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicacin, mientras otra permanece a la espera de que concluya una operacin en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se contine ejecutando.

En ciertos intervalos de tiempo puede convenir no aceptar seales de interrupcin. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupcin es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carcter, se codifica en el registro de datos del dispositivo y adems se activa un bit del registro de estado quien crea una interrupcin en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atencin a la interrupcin correspondiente. El teclado almacena el carcter en el vector de memoria intermedia ( tambin llamado buffer) asociada al teclado y despierta el proceso que haba en el estado de espera de la operacin de entrada/salida.

Excepciones[editar editar fuente]


Cuando la CPU intenta ejecutar una instruccin incorrectamente construida, la unidad de control lanza una excepcin para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupcin, la instruccin en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.
Clases de excepciones[editar editar fuente]

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

El cdigo de operacin puede ser incorrecto. Se intenta realizar alguna operacin no definida, como dividir por cero. La instruccin puede no estar permitida en el modo de ejecucin actual. La direccin de algn operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.

Importancia de las excepciones[editar editar fuente]

El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecucin de la CPU y los mecanismos de proteccin de la memoria, que las aplicaciones realicen operaciones que no les estn permitidas. En cualquier caso, el tratamiento especfico de una excepcin lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y ste es el que trata la situacin como convenga. Es bastante frecuente que el tratamiento de una excepcin no retorne al programa que se estaba ejecutando cuando se produjo la excepcin, sino que el SO aborte la ejecucin de ese programa. Este factor depende de la pericia del programador para controlar la excepcin adecuadamente.

Gestin de procesos[editar editar fuente]

Un proceso es simplemente, un programa en ejecucin que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

Crear y destruir procesos Parar y reanudar procesos Ofrecer mecanismos para que los procesos puedan comunicarse y se sincronicen

La gestin de procesos podra ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y despus las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas ms antiguas. HILOS un hilo de ejecucin, hebra o subproceso es la unidad de procesamiento ms pequea que puede ser planificada por un sistema operativo. La creacin de un nuevo hilo es una caracterstica que permite a una aplicacin realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecucin comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situacin de autenticacin, etc. Esta tcnica permite simplificar el diseo de una aplicacin que debe llevar a cabo distintas funciones simultneamente. Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea. Los hilos de ejecucin que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecucin de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar stos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente. Lo que es propio de cada hilo es el contador de programa, la pila de ejecucin y el estado de la CPU (incluyendo el valor de los registros).

Spoolers[editar editar fuente]


Hace aparicin el disco magntico con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del clculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).

También podría gustarte