Está en la página 1de 26

Introducción

En el presente trabajo estaremos dando algunas


pinceladas de varios temas, ya que son temas amplios y
en este trabajo no podríamos abarcar todo acerca de ellos,
como son: los procesos de un ordenador, los sistemas de
archivos, sistemas de información, clasificación de los
procesos, así como también los sistemas operativos, tipos
de sistema operativo. En si la función principal de cada
uno de estos, ya que sin ellos no funcionaría ningún
programa en el sistema operativo.
Concepto de Sistema

Un sistema es un conjunto de elementos que interaccionan entre sí, orientados


a laconsecución de un objetivo común.

Para nuestros propósitos consideramos que un sistema suele estar situado en


un entorno oambiente con el cual interactúa, recibe entradas y produce salidas.
Un sistema puede formarparte de otro sistema más general, sería un
subsistema de ese sistema.

Sistema de información

Se denomina sistema de información al conjunto deelementos que interactúan


entre sí para apoyar lasactividades de una organización.
Todo sistema de información realiza cuatro actividades
básicas: entrada, almacenamiento, procesamiento y salida de información.

Tipos de sistemas de información.


Sistemas transaccionales

Son los primeros que se utilizan en toda organización. Estos sistemas


normalmente son utilizados por organizaciones grandes o pequeñas y se
consideran fundamentales.

Ayudan a ahorrar muchos costos, como mano de obra y tiempo, ya que ayuda
a automatizar las tareas operativas.

Los cálculos que realizan son poco sofisticados y por ende rápidos.
Sistemas de apoyo de las decisiones
Estos normalmente son requeridos luego de que ya están los sistemas
transaccionales en funcionamiento, ya que los utiliza como plataforma para
poder funcionar.

La información que generan es sofisticada, por lo que ayuda a las personas


encargadas  a tomar decisiones que probablemente requerirían de mucho
esfuerzo sin ellos.

Sistemas estratégicos

Son sistemas desarrollados al interior de la organización, por lo que a una


persona que no esté familiarizada le resultaría difícil de comprender su
utilización.
Su función es lograr otorgarle a la organización ventajas que la competencia
no posee, por lo que no suelen ser comercializables.

sistema informático
Un sistema informático como todo sistema, es el conjunto de partes
interrelacionadas, hardware, software y de recursos humanos  (humanware)
que permite almacenar y procesar información. El hardware incluye
computadoras o cualquier tipo de dispositivo electrónico inteligente, que
consisten en procesadores, memoria, sistemas de almacenamiento externo, etc.
El software incluye a los sistemas operativos, firmware y aplicaciones, siendo
especialmente importante los sistemas de gestión de bases de datos. Por último
el soporte humano incluye al personal técnico que crean y mantienen el
sistema (analistas, programadores, operarios, etc.) y a los usuarios que lo
utilizan.

Un sistema de archivos distribuidos o sistema de archivos de red es un sistema


de archivos de computadoras que sirve para compartir archivos, impresoras y
otros recursos como un almacenamiento persistente en una red de
computadoras.
Sistemas de archivos o ficheros
Los sistemas de archivos o ficheros (en inglés: file system), estructuran la
información guardada en un almacenamiento (normalmente un disco duro de
una computadora), que luego será representada ya sea textual o gráficamente
utilizando un gestor de archivos. La mayoría de los sistemas operativos
manejan su propio sistema de archivos.

Introducción a los sistemas operativos

Sin el software, una computadora no es más que una masa metálica sin
utilidad. Con el software, una computadora puede almacenar, procesar y
recuperar información, encontrar errores de ortografía en manuscritos, tener
aventuras e intervenir en muchas otras valiosas actividades para ganar el
sustento. El software para computadoras puede clasificarse en general en dos
clases: los programas de sistema, que controlan la operación de la
computadora en sí y los programas de aplicación, los cuales resuelven
problemas para sus usuarios. El programa fundamental de todos los programas
de sistema es el sistema operativo (SO), que controla todos los recursos de la
computadora y proporciona la base sobre la cual pueden escribirse los
programas de aplicación

¿Qué es un sistema operativo?


Un sistema operativo es el encargado de brindar al usuario una forma
amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al
procesador central para que este realice las tareas necesarias y especificas para
completar una orden.

El sistema operativo, es el instrumento indispensable para hacer de la


computadora un objeto útil. Bajo este nombre se agrupan todos aquellos
programas que permiten a los usuarios la utilización de este enredo de cables y
circuitos, que de otra manera serian difíciles de controlar. Un sistema
operativo se define como un conjunto de procedimientos manuales y
automáticos, que permiten a un grupo de usuarios compartir una instalación de
computadora eficazmente.

Tipos de sistemas operativos

Interfaz de Línea de Comandos.

La forma de interfaz entre el sistema operativo y el usuario en la que este


escribe los comandos utilizando un lenguaje de comandos especial. Los
sistemas con interfaces de líneas de comandos se consideran más difíciles de
aprender y utilizar que los de las interfaces gráficas. Sin embargo, los sistemas
basados en comandos son por lo general programables, lo que les otorga una
flexibilidad que no tienen los sistemas basados en gráficos carentes de una
interfaz de programación.

Interfaz Gráfica del Usuario.

Es el tipo de visualización que permite al usuario elegir comandos, iniciar


programas y ver listas de archivos y otras opciones utilizando las
representaciones visuales (iconos) y las listas de elementos del menú. Las
selecciones pueden activarse bien a través del teclado o con el mouse.

Los sistemas operativos más conocidos son los siguientes:


DOS: El famoso DOS, que quiere decir Disk Operating System (sistema
operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS.
MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el
mismo SO que el PC-DOS.

La razón de su continua popularidad se debe al aplastante volumen de


software disponible y a la base instalada de computadoras con procesador
Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado
que DOS y las aplicaciones DOS representaron la mayoría del mercado de
software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad
para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba
computadoras que corrieran DOS tan bien como las computadoras IBM lo
hacían.

Aún con los nuevos sistemas operativos que han salido al mercado, todavía el
DOS es un sólido contendiente en la guerra de los SO.

Windows NT: Esta versión de Windows se especializa en las redes y


servidores. Con este SO se puede interactuar de forma eficaz entre dos o más
computadoras.

OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es


muy buena. El problema que presenta este sistema operativo es que no se le ha
dado el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no
se han creado muchas aplicaciones que aprovechen las características del SO,
ya que la mayoría del mercado de software ha sido monopolizado por
Windows.

Mac OS: Las computadoras Macintosh no serían tan populares como lo son si


no tuvieran el Mac OS como sistema operativo de planta. Este sistema
operativo es tan amigable para el usuario que cualquier persona puede
aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para
organizar archivos y usarlos de manera eficaz. Este fue creado por Apple
Computer, Inc.

UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de
AT&T en 1969 y es ahora usado como una de las bases para la supercarretera
de la información. Unix es un SO multiusuario y multitarea, que corre en
diferentes computadoras, desde supercomputadoras, Mainframes,
Minicomputadoras, computadoras personales y estaciones de trabajo. Esto
quiere decir que muchos usuarios pueden estar usando una misma
computadora por medio de terminales o usar muchas de ellas.
Sistema operativo Linux
Multitarea: El ordenador puede estar haciendo varias cosas a la vez, y no
tendrás que esperar a que acabe una para hacer otra, la multitarea está
controlada por el sistema operativo no por las aplicaciones, por lo que a
diferencia de otros sistemas operativos nunca se quedara parado por culpa de
una mala aplicación que consuma todos los recursos del ordenador. Con
el sistema operativo Linux si podrás bajar correo de Internet, formatear un
disco, imprimir 100 hojas y jugar al Quake a la vez, y sin problemas.

Multiusuario: Si has manejado antes un ordenador, seguramente usarías MAC


OS o Windows. En estos sistemas operativos tú eres el
único que lo usas, en Linux, puedehaber varias personas usando el
ordenador, compartiendo el microprocesador, así puedes ponerle un par de
pantallas y teclados y estar otra persona navegando por Internet,
escribiendo una carta, jugando en su pantalla, mientras tu estas
en otra haciendo otra cosa completamente diferente, y estarán ambos en el
mismo ordenador. Linux garantiza la privacidad y la seguridad de los datos
entre usuarios.

Funciones de los Sistemas Operativos.


 Interpreta los comandos que permiten al usuario comunicarse con el
ordenador.
 Coordina y manipula el hardware de la computadora, como la memoria,
las impresoras, las unidades de disco, el teclado o el mouse.
 Organiza los archivos en diversos dispositivos de almacenamiento, como
discos flexibles, discos duros, discos compactos o cintas magnéticas.
 Gestiona los errores de hardware y la pérdida de datos.
 Servir de base para la creación del software logrando que equipos de
marcas distintas funcionen de manera análoga, salvando las diferencias
existentes entre ambos.
Clasificación de los Sistemas Operativos.
Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de
diferentes maneras, dependiendo del uso o de la aplicación que se les daba.
Orientación de los sistemas operativos

Sistemas Operativos por lotes.


Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con
poca o ninguna interacción entre los usuarios y los programas en ejecución. Se
reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando
la espera de dos o más trabajos como sucede en el procesamiento en serie.
Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos
alrededor de 1956 para aumentar la capacidad de procesamiento de los
programas.
Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE,
del DC6600, el cual está orientado a procesamiento científico pesado, y el
EXEC II para el UNIVAC 1107, orientado a procesamiento académico.
Algunas otras características con que cuentan los Sistemas Operativos por
lotes son:
 Requiere que el programa, datos y órdenes al sistema sean remitidos todos
juntos en forma de lote.
 Permiten poca o ninguna interacción usuario/programa en ejecución.
 Mayor potencial de utilización de recursos que procesamiento serial
simple en sistemas multiusuario.
 No conveniente para desarrollo de programas por bajo tiempo de retorno y
depuración fuera de línea.
 Conveniente para programas de largos tiempos de ejecución (ej., análisis
estadísticos, nóminas de personal, etc.).
 Se encuentra en muchos computadores personales combinados con
procesamiento serial.
 Planificación del procesador sencilla, típicamente procesados en orden de
llegada.
 Planificación de memoria sencilla, generalmente se divide en dos: parte
residente del S.O. y programas transitorios.
 No requieren gestión crítica de dispositivos en el tiempo.
 Suelen proporcionar gestión sencilla de manejo de archivos: se requiere
poca protección y ningún control de concurrencia para el acceso.
Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene
importancia el usuario, sino los procesos. Por lo general, están subutilizados
sus recursos con la finalidad de prestar atención a los procesos en el momento
que lo requieran. Se utilizan en entornos donde son procesados un gran
número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones
muy específicas como control de tráfico aéreo, bolsas de valores, control de
refinerías, control de laminadores. También en el ramo automovilístico y de la
electrónica de consumo, las aplicaciones de tiempo real están creciendo muy
rápidamente. Otros campos de aplicación de los Sistemas Operativos de
tiempo real son los siguientes:
 Control de trenes.
 Telecomunicaciones.
 Sistemas de fabricación integrada.
 Producción y distribución de energía eléctrica.
 Control de edificios.
 Sistemas multimedia.
Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks,
Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan
Con las siguientes características:
 Se dan en entornos en donde deben ser aceptados y procesados gran
cantidad de sucesos, la mayoría externos al sistema computacional, en
breve tiempo o dentro de ciertos plazos.
 Se utilizan en control industrial, conmutación telefónica, control de
vuelo, simulaciones en tiempo real., aplicaciones militares, etc.
 Objetivo es proporcionar rápidos tiempos de respuesta.
 Procesa ráfagas de miles de interrupciones por segundo sin perder un
solo suceso.
 Proceso se activa tras ocurrencia de suceso, mediante interrupción.
 Proceso de mayor prioridad expropia recursos.
 Por tanto generalmente se utiliza planificación expropiativa basada en
prioridades.
 Gestión de memoria menos exigente que tiempo compartido,
usualmente procesos son residentes permanentes en memoria.
 Población de procesos estática en gran medida.
 Poco movimiento de programas entre almacenamiento secundario y
memoria.
 Gestión de archivos se orienta más a velocidad de acceso que a
utilización eficiente del recurso.
PROCESOS
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".

Un programa informático es un conjunto de instrucciones que una vez


ejecutadas realizarán una o varias tareas en una computadora [

Cada proceso tiene su contador de programa, registros y variables, aislados


de otros procesos, incluso siendo el mismo programa en ejecución 2 veces.
Cuándo 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.

Los procesos son gestionados por el sistema operativo y están formados


por:

 Las instrucciones de un programa destinadas a ser ejecutadas por el


microprocesador
 Su estado de ejecución 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 crítica), es decir, la memoria que ha
reservado y sus contenidos.
 Otra información que permite al sistema operativo su planificación

Un proceso se rige en pequeñas porciones, conocidas como páginas, y cada


proceso tiene su propia tabla de paginación, fungiendo como una optimización
del sistema operativo ante los fallo de página.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo,


donde un proceso consta de uno o más hilos, la memoria de trabajo
(compartida por todos los hilos) y la información de planificación. Cada hilo
consta de instrucciones y estado de ejecución.

Los procesos son creados y eliminados por el sistema operativo, así como
también éste se debe hacer cargo de la comunicación entre procesos, pero lo
hace a petición de otros procesos (interrupción o tiempo de reloj). El
mecanismo por el cual un proceso crea otro proceso se denomina bifurcación
(fork). El proceso de arranque de GNU/Linux inicia con un sólo proceso
(init) y después comienza a crear los hilos necesarios para tener el sistema
listo para su uso. Los nuevos procesos pueden ser independientes y no
compartir el espacio de memoria con el proceso que los ha creado o ser
creados en el mismo espacio de memoria.

En los sistemas operativos multihilo es posible crear tanto hilos como


procesos. La diferencia estriba en que un proceso solamente puede crear hilos
para sí mismo y en que dichos hilos comparten toda la memoria reservada
para el proceso.

Los procesos pueden ser cooperativos o independientes. Dos o más


procesos pueden cooperar mediante señales de forma que uno obliga a
detenerse a los otros hasta que reciban una señal para continuar.

 Se usa una variable de tipo semáforo para sincronizar los procesos.


 Si un proceso está esperando una señal, se suspende hasta que la señal
se envíe.
 Se mantiene una cola de procesos en espera en el semáforo.
 La forma de elegir los procesos de la cola en espera es mediante una
política first in first out.

La sincronización explícita entre procesos es un caso particular del estado


"bloqueado". En este caso, el suceso que permite desbloquear un proceso no
es una operación de entrada/salida, sino una señal generada a propósito por el
programador desde otro proceso.
Hay cuatro eventos principales que provocan la creación de procesos:

 El arranque del sistema.


 La ejecución, desde un proceso, de una llamada al sistema para la
creación de otro proceso.
 Una petición de usuario para crear un proceso.
 El inicio de un trabajo por lotes.

Los procesos pueden contener uno o más hilos, haciendo más eficiente las
tareas, asimismo la complejidad de los algoritmos de sincronización, ya que
podría ocurrir la condición de carrera muy a menudo, inclusive los
indeseados interbloqueos.

Creación de un proceso
Básicamente hasta el día de hoy existen sólo 4 formas de crear un proceso:

 Arranque del sistema.


 En la ejecución, desde un proceso, de una llamada al sistema para la
creación del proceso.
 Una petición deliberada del usuario para crear un proceso.
 El inicio de un trabajo por lotes.

La forma de creación de procesos en Unix es a través de una llamada al


sistema fork la cual creará un proceso hijo en total semejanza al padre, hasta
que el recién proceso decida cambiar su imagen en memoria, incluso obtener
sus propios descriptores de archivos abiertos.
Terminación de un proceso
El ciclo de vida de un proceso es sencillo, consta de la creación, la ejecución
de instrucciones y la terminación. Cabe señalar que un proceso en el
transcurso de su ciclo puede estar en diferentes estados.

 Salida normal.
 Salida por error.
 Error fatal.
 Eliminado por otro proceso.

Salida normal, ésta se presenta cuando el proceso termina de forma


voluntaria, por ejemplo, cuando se cierra en navegador web o el procesador
de textos.

Salida por error, ésta se presenta cuando el proceso tiene que salir debido a
insuficiencia de datos, por ejemplo, cuando solicita un archivo que no existe.

Error fatal, éste sucede por un error en el programa, como las divisiones entre
0 o requerimiento de memoria inaccesible.

Eliminado por otro proceso, éste es sumamente útil cuando un proceso se


queda colgado, es decir, sin terminar, pero tampoco responde. En Unix un
ejemplo es cuando se utiliza el comando kill para terminar procesos
abruptamente

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 sólo
proceso a la vez, turnándolos para el uso de éste. Existen procesos
apropiativos que básicamente 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 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.

Núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es un software


que constituye la parte más importante del sistema operativo. Es el principal
responsable de facilitar a los distintos programas acceso seguro al hardware
de la computadora o en forma básica, es el encargado de gestionar recursos, a
través de servicios de llamada al sistema. Como hay muchos programas y el
acceso al hardware es limitado, también se encarga de decidir qué programa
podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo
que se conoce como multiplexado. Acceder al hardware directamente puede
ser realmente complejo, por lo que los núcleos suelen implementar una serie
de abstracciones del hardware. Esto permite esconder la complejidad, y
proporciona una interfaz limpia

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

Los procesos son gestionados por los sistemas operativos y están formados


por:

 Las intrusiones de un programa destinadas a ser ejecutadas por


el microprocesador
 Su estado de ejecución 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 crítica), es decir, la memoria que ha
reservado y sus contenidos.
 Otra información que permite al sistema operativo su planificación

Gestión de memoria en DOS


Además de la gestión estándar de memoria, la barrera de los 640 KB de MS-
DOS y los sistemas compatibles dieron lugar al desarrollo de programas
conocidos como gestores de memoria cuando las memorias principales de los
PC comenzaron a ser mayores que 640 KB a finales de los años 1980 (véase
memoria convencional). Estos desplazan porciones del sistema operativo fuera
de su localización tradicional para incrementar la cantidad de memoria
convencional o semiconvencional disponible para otras aplicaciones. El
EMM386 es un ejemplo, el cual fue parte de la instalación estándar de las
últimas versiones de DOS, así como el QEMM. Estos permitieron el uso de
memoria más allá de la barrera de los 640 KB, donde la memoria solía estar
reservada a la memoria de acceso aleatorio, y memorias superiores.

Gestión De Procesos
El sistema realiza varias actividades simultáneamente que compiten por la
utilización de determinados recursos, entre los que se destaca la CPU, estas
actividades es conocida como procesos.

Los procesos son entidades activas, ya que compiten por los recursos de la
máquina.

Estado Y Transición De Los Procesos


ESTADOS

NUEVO: el proceso recién fue creado y todavía no es admitido por el SO. En


general los procesos que se encuentran en este estado, todavía no son cargados
a la memoria.
LISTO: el proceso está listo para ser ejecutado, solo está esperando que el
planificador de corto plazo así lo disponga.

EN EJECUCION: se encuentra el proceso que tiene el control del


procesador. Dado que en un instante de terminado solo un proceso puede
encontrarse en este estado.

EN ESPERA: el proceso no se puede ejecutar hasta que no se produzca cierto


suceso, como la finalización de una operación de E/S solicitada por una
llamada al SO.

TERMINADO: el proceso fue expulsado del grupo de procesos ejecutables,


ya sea porque termino o por algún fallo, como un error de protección,
aritmético, etc.

Transiciones De Estado De Los Procesos


A continuación se dan ejemplos de eventos que pueden provocar transiciones
de estado en un proceso en este modelo de tres estados (ver figura 2.1). La
mayoría de estos eventos se discutirán con profundidad a lo largo del curso:

De ejecución á Bloqueado: al iniciar una operación de E/S, al realizar una


operación WAIT sobre un semáforo a cero (en el tema de procesos
concurrentes se estudiarán los semáforos).

De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido,


cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose
continuamente (agota su cuanto) el sistema operativo decide que otro proceso
ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.

De Listo á en ejecución: cuando lo requiere el planificador de la CPU


(veremos el planificador de la CPU en el tema de planificación de procesos).

De Bloqueado á Listo: se dispone del recurso por el que se había bloqueado


el proceso. Por ejemplo, termina la operación de E/S, o se produce una
operación SIGNAL sobre el semáforo en que se bloqueó el proceso, no
habiendo otros procesos bloqueados en el semáforo.
Comunicación entre procesos
La comunicación entre procesos (comúnmente IPC, del inglés Inter-Process
Communication) es una función básica de los sistemas operativos. Los
procesos pueden comunicarse entre sí a través de compartir espacios de
memoria, ya sean variables compartidas o buffers, o a través de las
herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo
que permite a los procesos comunicarse y sincronizarse entre sí, normalmente
a través de un sistema de bajo nivel de paso de mensajes que ofrece la red
subyacente.

Es una función básica de los sistemas operativos. Los procesos pueden


comunicarse entre sí a través de compartir espacios de memoria, ya sean
variables compartidas o buffers, o a través de las herramientas provistas por
las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos
comunicarse y sincronizarse entre sí, normalmente a través de un sistema de
bajo nivel de paso de mensajes que ofrece la red subyacente.

La comunicación se establece siguiendo una serie de reglas (protocolos de


comunicación). Los protocolos desarrollados para internet son los
mayormente usados: IP (capa de red), protocolo de control de transmisión
(capa de transporte) y protocolo de transferencia de archivos, protocolo de
transferencia de hipertexto (capa de aplicación).

Los procesos pueden estar ejecutándose en una o más computadoras


conectadas a una red. Las técnicas de IPC están divididas dentro de métodos
para: paso de mensajes, sincronización, memoria compartida y llamadas de
procedimientos remotos (RPC). El método de IPC usado puede variar
dependiendo del ancho de banda y latencia (el tiempo desde el pedido de
información y el comienzo del envío de la misma) de la comunicación entre
procesos, y del tipo de datos que están siendo comunicados.

Tipos de comunicación
La comunicación puede ser:

 Síncrona o asíncrona
 Persistente (persistent) o momentánea (transient)
 Directa o indirecta
 Simétrica o asimétrica
 Con uso de buffers explícito o automático
 Envío por copia del mensaje o por referencia
 Mensajes de tamaño fijo o variable

Síncrona
Quien envía permanece bloqueado esperando a que llegue una respuesta
del receptor antes de realizar cualquier otro ejercicio.

Asíncrona
Quien envía continúa con su ejecución inmediatamente después de
enviar el mensaje al receptor.

Persistente
El receptor no tiene que estar operativo al mismo tiempo que se realiza
la comunicación, el mensaje se almacena tanto tiempo como sea
necesario para poder ser entregado (Ej.: e-Mail).

Momentánea (transient)
El mensaje se descarta si el receptor no está operativo al tiempo que se
realiza la comunicación. Por lo tanto no será entregado.

Directa
Las primitivas enviar y recibir explicitan el nombre del proceso con el
que se comunican. Ejemplo:enviar (mensaje, A) envía un mensaje al
proceso A

Es decir se debe especificar cual va a ser el proceso fuente y cual va a


ser el proceso Destino.
Las operaciones básicas Send y Receive se definen de la siguiente
manera: Send (P, mensaje); envía un mensaje al proceso P (P es el
proceso destino). Receive (Q, mensaje); espera la recepción de un
mensaje por parte del proceso Q (Q es el proceso fuente).

Indirecta
La comunicación Indirecta: Es aquella donde la comunicación está
basada en una herramienta o instrumento ya que el emisor y el receptor
están a distancia.

Simétrica
Todos los procesos pueden enviar o recibir. También llamada
bidireccional para el caso de dos procesos.

Un proceso puede enviar, los demás procesos solo reciben. También


llamada unidireccional. Suele usarse para hospedar servidores en
Internet.

Uso de buffers automático


El transmisor se bloquea hasta que el receptor recibe el mensaje
(capacidad cero).

PLANIFICACION DE PROCESOS
La Planificación hace referencia a un conjunto políticas y mecanismos
incorporados al sistema operativo que gobiernan el orden en que deben ser
ejecutados los trabajos que deben cumplimentarse por el sistema operativo.
El Objetivo de la planificación es optimizar el rendimiento del sistema.
Nombraremos tres grandes grupos relacionado con la filosofía del sistema:
Planificación en sistemas con un Procesador, Multiprocesador y Tiempo
real; identificando en cada caso sus componentes, sus finalidades y
funciones.
La planificación hace referencia a un conjunto de políticas y mecanismos
incorporados al “SO” que gobiernan el orden en que se ejecutan los
trabajos que deben ser completados por el sistema informático. Un
planificador es un módulo del sistema operativo que selecciona el siguiente
trabajo y el siguiente proceso que tomara el control sobre el procesador
entre las medidas de rendimiento y los criterios de optimización más
habituales que los planificadores utilizan los siguientes criterios.

UTILIZACIÓN DEL PROCESADOR: La utilización del procesador es


la fracción de tiempo durante la cual el procesador se encuentre activo
ejecutando algún proceso, bien de usuario, bien del “SO”. Con esta
interpretación, la utilización del procesador puede ser medida con la
relativa facilidad que se ejecute cuando ningún otro proceso pueda hacerlo.
Una alternativa es considerar únicamente la operación en modo usuario y
por lo cual excluir el tiempo empleado para el “SO”.

Gestión de memoria
Se denomina gestión de memoria al acto de gestionar la memoria de un
dispositivo informático. De forma simplificada se trata de proveer
mecanismos para asignar secciones de memoria a los programas que las
solicitan, y a la vez, liberar las secciones de memoria que ya no se utilizan
para que estén disponibles para otros programas. El proceso de asignación
de memoria a los programas que las solicitan es llamado por algunos
"alocar" (del inglés "allocate" que significa asignar) pero la palabra
"alocar" tiene otro significado para el diccionario de la lengua de la Real
Academia Española. La gestión de la memoria principal de un ordenador es
una tarea de suma importancia para el funcionamiento del mismo.

Los sistemas de memoria virtual separan las direcciones de memoria


utilizadas por un proceso de las direcciones físicas reales, permitiendo la
separación de procesos e incrementando la cantidad efectiva de memoria
de acceso aleatorio utilizando la paginación. La calidad de la gestión de la
memoria es crucial para las prestaciones del sistema.
El recolector de basura es la asignación y liberación automática de los
recursos de memoria para un programa. La implementación suele ser a
nivel del lenguaje de programación en contraposición a la gestión manual
de memoria, que asigna y libera los recursos de memoria de un ordenador
de forma explícita.

LLAMADA AL SISTEMA
Las llamadas al sistema comúnmente usan una instrucción especial de la
CPU que causa que el procesador transfiera el control a un código
privilegiado, previamente especificado por el mismo código. Esto permite
al código privilegiado especificar donde va a ser conectado así como el
estado del procesador.

Cuando una llamada al sistema es invocada, la ejecución del programa que


invoca es interrumpida y sus datos son guardados, normalmente en su PCB
(Bloque de Control de Proceso del inglés Process Control Block), para
poder continuar ejecutándose luego. El procesador entonces comienza a
ejecutar las instrucciones de código de alto nivel de privilegio, para realizar
la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y
continúa su ejecución. El retorno al proceso demandante no
obligatoriamente es inmediato, depende del tiempo de ejecución de la
llamada al sistema y del algoritmo de planificación de CPU.

Características
Los sistemas de gestión de memoria de sistemas operativos multitarea
normalmente tratan con las siguientes tareas.

Reasignación
En los sistemas con memoria virtual, los programas en la memoria debe ser
capaz de residir en diferentes partes de la memoria en diferentes
momentos. Esto se debe a que cuando el programa se cambió de nuevo en
la memoria después de ser intercambiado por un tiempo que no siempre se
puede colocar en el mismo lugar. La unidad de gestión de memoria virtual
también debe hacer frente a la concurrencia. gestión de memoria en el
sistema operativo por lo tanto debe ser capaz de trasladar los programas en
la memoria y manejar referencias de la memoria y las direcciones en el
código del programa para que siempre apuntan a la ubicación correcta en la
memoria.

Protección de memoria.
Los procesos no deberían poder referenciar la memoria de otros procesos
sin permiso, para evitarlo existe la protección de memoria, que evita que
código malicioso o erróneo de un programa interfiera con la operación de
otros programas en ejecución.

Memoria compartida
Aunque la memoria utilizada por diferentes procesos suele estar protegida,
algunos procesos puede que sí tengan que compartir información y, para
ello, han de acceder la misma sección de memoria. La memoria compartida
es una de las técnicas más rápidas para posibilitar la comunicación entre
procesos.

Organización lógica
Los programas a menudo están organizados en modulos, algunos de los
cuales pueden ser compartidos por diferentes programas, algunos son de
sólo-lectura y otros contienen datos que pueden se pueden modificar. La
gestión de memoria es responsable de manejar esta organización lógica,
que se contrapone al espacio de direcciones físicas lineales. Una forma de
lograrlo es mediante la segmentación de memoria.

Organización física
La memoria suele dividirse en un almacenamiento primario de alta
velocidad y uno secundario de menor velocidad. La gestión de memoria del
sistema operativo se ocupa de trasladar la información entre estos dos
niveles de memoria.
Gestión de memoria en DOS
Además de la gestión estándar de memoria, la barrera de los 640 KB de
MS-DOS y los sistemas compatibles dieron lugar al desarrollo de
programas conocidos como gestores de memoria cuando las memorias
principales de los PC comenzaron a ser mayores que 640 KB a finales de
los años 1980 (véase memoria convencional). Estos desplazan porciones
del sistema operativo fuera de su localización tradicional para incrementar
la cantidad de memoria convencional o semiconvencional disponible para
otras aplicaciones. El EMM386 es un ejemplo, el cual fue parte de la
instalación estándar de las últimas versiones de DOS, así como el QEMM.
Estos permitieron el uso de memoria más allá de la barrera de los 640 KB,
donde la memoria solía estar reservada a la memoria de acceso aleatorio, y
memorias superiores.

LLAMADAS AL SISTEMA PARA LA GESTION DE


PROCESOS
En informática, llamada al sistema (en inglés system call) es el mecanismo
usado por una aplicación para solicitar un servicio al sistema operativo.

Las llamadas al sistema comúnmente usan una instrucción especial de la CPU


que causa que el procesador transfiera el control a un código privilegiado,
previamente especificado por el mismo código. Esto permite al código
privilegiado especificar donde va a ser conectado así como el estado del
procesador.

Cuando una llamada al sistema es invocada, la ejecución del programa que


invoca es interrumpida y sus datos son guardados, normalmente en su PCB
(Bloque de Control de Proceso del inglés Process Control Block), para poder
continuar ejecutándose luego. El procesador entonces comienza a ejecutar las
instrucciones de código de alto nivel de privilegio, para realizar la tarea
requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su
ejecución. El retorno al proceso demandante no obligatoriamente es
inmediato, depende del tiempo de ejecución de la llamada al sistema y del
algoritmo de planificación de CPU.
Conclusión

Luego de haber investigado y analizado se puede ver que se han desarrollado


varios tipos de sistemas operativos con diferentes interfaces y categorías.
Tambiénhemos podido observar que todos los sistemas operativos han sufrido
cambios por parte de los programadores, y siguen evolucionando.
Los sistemas operativos empleados normalmente son UNIX, Macintosh OS,
MS-DOS, OS/2, y Windows NT. tareas y múltiples usuarios. Otros
desarrollado inicialmente por Microsoft e IBM, Windows NT ,desarrollados
por Microsoft. A parte de los sistema operativo vamos hablar de los proceso
y la función de cada unode estos programa los procesos puede 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”. También vamos hablar de la comunicación de los procesos ya que
es una función básica de los sistemas operativos. Los procesos pueden
comunicarse entre sí a través procesos, y a vacaremos la terminación de los
proceso y creación de los procesos entre otros.

Esperando que este trabajo llene parte de las expectativas es perada sin más se
despide el grupo numero dos

También podría gustarte