martes, 27 de abril de 2010

musik


















Llamadas

al sistema operativo


Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

  • Las llamadas correspondientes deben tener el mismo formato.
  • Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.













ESCUCHA

SISTEMA OPERATIVO

SISTEMAS OPERATIVOS

Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para manejar un computador.1 Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.
Uno de los más prominentes ejemplos de sistema operativo, es el núcleo Linux,2 el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux.
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional.3 4 Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores 5 se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.6 (Véase AmigaOS, beOS o MacOS como los pioneros7 de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters8 por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D con programas como Imagine9 o Scala multimedia, entre muchos otros.)10
Uno de los propósitos de un sistema operativo como programa estación principal, consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)
Parte de la infraestructura de la World Wide Web está compuesta por el Sistema Operativo de Internet, creado por Cisco Systems para gestionar equipos de interconexión como los conmutadores y los enrutadores.11





MUSIQUITA

Sistemas reales y sistemas conceptuales

Un sistema conceptual o sistema ideal es un conjunto organizado de definiciones, nombres, símbolos y otros instrumentos de pensamiento o comunicación. Ejemplos de sistemas conceptuales son las matemáticas, la lógica formal, la nomenclatura binomial o la notación musical.
Un sistema es un conjunto de elementos relacionados intimamente entre sí para alcanzar un objetivo.
Un sistema real es una entidad material formada por partes organizadas (o sus "componentes") que interactúan entre sí de manera que las propiedades del conjunto, sin contradecirlas, no pueden deducirse por completo de las propiedades de las partes. Tales propiedades se denominan propiedades emergentes.
Los sistemas reales intercambian con su entorno energía, información y, en la mayor parte de los casos, también materia. Una célula, un ser vivo, la Biosfera o la Tierra entera son ejemplos de sistemas naturales. El concepto se aplica también a sistemas humanos o sociales, como una sociedad entera, la administración de un estado, un ejército o una empresa. O a una lengua, que es un sistema conceptual complejo en cuya aparición y evolución participan la biología y la cultura.
Encontrar lo común a entidades muy diferentes. El esfuerzo por encontrar leyes generales del comportamiento de los sistemas reales es el que funda la Teoría de sistemas y, más en general, aquella tendencia de la investigación a la que se alude como pensamiento sistémico o Sistémica, en cuyo marco se encuentran disciplinas y teorías como la Cibernética, la Teoría de la información, la Teoría de juegos, la Teoría del caos y otras.





MUSICA

SISTEMAS

SISTEMAS



Un sistema (del latín systema, proveniente del griego σύστημα) es un conjunto de funciones, virtualmente referenciada sobre ejes, bien sean estos reales o abstractos. También suele definirse como un conjunto de elementos dinámicamente relacionados formando una actividad para alcanzar un objetivo operando sobre datos, energía y/o materia para proveer información..















martes, 20 de abril de 2010

sistemas

Una de las etapas de la evolución de los sistemas operativos fue la multiprogramación o multitarea, esto que trajo consigo que se tuviera en cuenta ungrupo de consideraciones a la hora de concebir los mismos. Así fueron surgiendo distintas estructuras en el diseño, cada una con sus características particulares.

Protección

En los primeros sistemas de cómputo que se utilizaron no fue necesario tener en cuenta la problemática de la protección debido a la forma en que se operaban, es decir se ejecutaba sólo un programa y éste estaba en posesión de todos los recursos existentes (en caso de error, solo se afectaba él).

Al desarrollarse los sistemas operativos aún cuando se mantuviera un único programa en memoria (monoprogramación), se comenzaba a compartir recursos. En este caso, el programa y el sistema operativo comparten la memoria. Si ocurriera un funcionamiento erróneo del programa y él sobrescribe el área de memoria del sistema operativo, resulta evidente que existirá un "crash" de éste.

Otro ejemplo simple se puede notar en el caso del procesamiento en lote. Suponga que un programa cae en un lazo infinito de lectura de tarjetas. Es evidente que tomará todas las que les pertenecían y las que le siguen.

El compartir recursos aumenta la utilización eficiente de estos, pero a la vez incrementa las dificultades. Un error en un programa puede afectar a otros trabajos.

En los sistemas operativos que instrumentan la multiprogramación, pueden ocurrir muchas otras situaciones no tan evidentes como las indicadas, por esto éste se debe proteger y a la vez brindar protección a todos los programas que se ejecutan. Todo recurso compartido debe ser protegido, pero al menos deben disponer de esta característica las entradas y salidas, la memoria y la CPU.

La protección de entrada–salida se logra al no permitir que los programas actúen directamente sobre los dispositivos, sino a través de llamadas a los manejadores de dispositivos que forman parte del sistema de operación. De esta forma se puede chequear si la solicitud es correcta o no y evitar que algo vaya mal.

Para evitar que un programa opere directamente con la entrada–salida, las instrucciones correspondientes se declaran como privilegiadas (esto tiene que estar instrumentado en el hardware) y por ello sólo podrán ser utilizadas por parte del sistema operativo.

Lo antes indicado quiere decir que el hardware deberá brindar dualidad en el modo en que los programas se ejecutan. El primero es el modo "kernel" (omonitor, supervisor, sistema, protegido), y el segundo es el modo usuario. El SO correrá en modo protegido (con derecho a usar instrucciones privilegiadas) y todos los demás en modo usuario.

Por supuesto que en la CPU existirá un "bit" que en todo momento indicará el modo en que se está ejecutando. Este se pondrá a 1 ó 0 cada vez que se produzca un cambio entre el SO y otro programa. Es de suponer que las instrucciones que permiten variar este "bit" son privilegiadas.

Da la impresión que con los aspectos antes indicados ya se tiene garantizada la protección de las entradas salidas, pero antes de dar tal afirmación se hace necesario estar seguro que ningún programa usuario pueda ejecutar en modo supervisor. ¿Qué pasaría si a un programa usuario se le permite realizar direccionamientos al área de memoria del sistema operativo y modificar un vector de interrupción? Al ocurrir la interrupción, el hardware pasará la ejecución al modo privilegiado (ya que va a operar el sistema operativo), pero como se cambió el vector de interrupción, nos encontramos que el programa usuario se hace dueño del sistema de cómputo con total impunidad.

Para evitar esta situación y otras similares se impone disponer de un mecanismo de protección de memoria. Es decir, evitar que un programa usuario pueda acceder al área de trabajo del Sistema Operativo. En los sistemas multiprogramados también se tiene que impedir tal acción en el área de otro programa.

La solución a esta problemática requiere que el hardware brinde su ayuda. En un ambiente de monoprogramación es suficiente con la existencia de unregistro tope o registro límite que separe el área de trabajo del sistema operativo de la correspondiente al programa usuario.

En este caso, generalmente el sistema operativo se ubica en la parte baja de la memoria y a continuación comenzaría el área del programa usuario. Cada vez que dicho programa realiza un acceso a memoria, el hardware chequea que la dirección referida no sea menor que la contenida en el registro a los efectos de permitirlo. Si se detecta el intento de penetrar en el área no autorizada ocurrirá una trampa invocándose al SO para que decida la situación (generalmente se elimina al que provoca "la ofensa").

El SO conserva la posibilidad de acceder cualquier posición de memoria (al correr en modo privilegiado el hardware no lo controla). Por supuesto la carga del registro indicado solo se puede hacer en modo "kernel".







sistemas

sistemas


Introducción

Una de las etapas de la evolución de los sistemas operativos fue la multiprogramación o multitarea, esto que trajo consigo que se tuviera en cuenta ungrupo de consideraciones a la hora de concebir los mismos. Así fueron surgiendo distintas estructuras en el diseño, cada una con sus características particulares.

Protección

En los primeros sistemas de cómputo que se utilizaron no fue necesario tener en cuenta la problemática de la protección debido a la forma en que se operaban, es decir se ejecutaba sólo un programa y éste estaba en posesión de todos los recursos existentes (en caso de error, solo se afectaba él).

Al desarrollarse los sistemas operativos aún cuando se mantuviera un único programa en memoria (monoprogramación), se comenzaba a compartir recursos. En este caso, el programa y el sistema operativo comparten la memoria. Si ocurriera un funcionamiento erróneo del programa y él sobrescribe el área de memoria del sistema operativo, resulta evidente que existirá un "crash" de éste.

Otro ejemplo simple se puede notar en el caso del procesamiento en lote. Suponga que un programa cae en un lazo infinito de lectura de tarjetas. Es evidente que tomará todas las que les pertenecían y las que le siguen.

El compartir recursos aumenta la utilización eficiente de estos, pero a la vez incrementa las dificultades. Un error en un programa puede afectar a otros trabajos.

En los sistemas operativos que instrumentan la multiprogramación, pueden ocurrir muchas otras situaciones no tan evidentes como las indicadas, por esto éste se debe proteger y a la vez brindar protección a todos los programas que se ejecutan. Todo recurso compartido debe ser protegido, pero al menos deben disponer de esta característica las entradas y salidas, la memoria y la CPU.

La protección de entrada–salida se logra al no permitir que los programas actúen directamente sobre los dispositivos, sino a través de llamadas a los manejadores de dispositivos que forman parte del sistema de operación. De esta forma se puede chequear si la solicitud es correcta o no y evitar que algo vaya mal.

Para evitar que un programa opere directamente con la entrada–salida, las instrucciones correspondientes se declaran como privilegiadas (esto tiene que estar instrumentado en el hardware) y por ello sólo podrán ser utilizadas por parte del sistema operativo.

Lo antes indicado quiere decir que el hardware deberá brindar dualidad en el modo en que los programas se ejecutan. El primero es el modo "kernel" (omonitor, supervisor, sistema, protegido), y el segundo es el modo usuario. El SO correrá en modo protegido (con derecho a usar instrucciones privilegiadas) y todos los demás en modo usuario.

Por supuesto que en la CPU existirá un "bit" que en todo momento indicará el modo en que se está ejecutando. Este se pondrá a 1 ó 0 cada vez que se produzca un cambio entre el SO y otro programa. Es de suponer que las instrucciones que permiten variar este "bit" son privilegiadas.

Da la impresión que con los aspectos antes indicados ya se tiene garantizada la protección de las entradas salidas, pero antes de dar tal afirmación se hace necesario estar seguro que ningún programa usuario pueda ejecutar en modo supervisor. ¿Qué pasaría si a un programa usuario se le permite realizar direccionamientos al área de memoria del sistema operativo y modificar un vector de interrupción? Al ocurrir la interrupción, el hardware pasará la ejecución al modo privilegiado (ya que va a operar el sistema operativo), pero como se cambió el vector de interrupción, nos encontramos que el programa usuario se hace dueño del sistema de cómputo con total impunidad.

Para evitar esta situación y otras similares se impone disponer de un mecanismo de protección de memoria. Es decir, evitar que un programa usuario pueda acceder al área de trabajo del Sistema Operativo. En los sistemas multiprogramados también se tiene que impedir tal acción en el área de otro programa.

La solución a esta problemática requiere que el hardware brinde su ayuda. En un ambiente de monoprogramación es suficiente con la existencia de unregistro tope o registro límite que separe el área de trabajo del sistema operativo de la correspondiente al programa usuario.

En este caso, generalmente el sistema operativo se ubica en la parte baja de la memoria y a continuación comenzaría el área del programa usuario. Cada vez que dicho programa realiza un acceso a memoria, el hardware chequea que la dirección referida no sea menor que la contenida en el registro a los efectos de permitirlo. Si se detecta el intento de penetrar en el área no autorizada ocurrirá una trampa invocándose al SO para que decida la situación (generalmente se elimina al que provoca "la ofensa").

El SO conserva la posibilidad de acceder cualquier posición de memoria (al correr en modo privilegiado el hardware no lo controla). Por supuesto la carga del registro indicado solo se puede hacer en modo "kernel".