miércoles, 27 de agosto de 2014

lunes, 25 de agosto de 2014

Estructuras de Sistemas Operativos

Kernel: Definición
Parte fundamental de un sistema operativo, que reside en memoria todo el tiempo y que provee los servicios básicos. Es la parte del sistema operativo que está más cerca de la máquina y puede activar el hardware directamente o unirse a otra capa de software que maneja el hardware.

La tarea del Kernel es ejecutar procesos (Software, aplicaciones o programas) y facilitarles a los mismos la tarea de interacción con el Hardware, mediante la comunicación entre procesos y llamadas al sistema (system calls).

Sistemas monolíticos
En este diseño, que hasta ahora se considera como la organización más común, todo el sistema operativo se ejecuta como un solo programa en modo kernel. El sistema operativo se escribe como una colección de procedimientos, enlazados entre sí en un solo programa binario ejecutable extenso.

Esta organización sugiere una estructura básica para el sistema operativo:

1. Un programa principal que invoca el procedimiento de servicio solicitado.
2. Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.
3. Un conjunto de procedimientos utilitarios que ayudan a los procedimientos de servicio.

Sistemas de capas
Organizar el sistema operativo como una jerarquía de capas, cada una construida encima de la que tiene abajo. El primer sistema construido de esta forma fue el sistema THE, construido en Technische Hogeschool Eindhoven en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema THE era un sistema simple de procesamiento por lotes para una computadora holandesa, la Electrologica X8, que tenía 32K de palabras de 27 bits (los bits eran costosos en aquel entonces).

El sistema tenía seis capas:

El nivel 0 se encargaba de la asignación del procesador, de cambiar entre un proceso y otro cuando ocurrían interrupciones o expiraban los temporizadores. 

La capa 1 se encargaba de la administración de la memoria. 

La capa 2 se encargaba de la comunicación entre cada proceso y la consola del operador (es decir, el usuario). 

La capa 3 se encargaba de administrar los dispositivos de E/S.

La capa 4 era en donde se encontraban los programas de usuario. 

El proceso operador del sistema se encontraba en el nivel 5.

Microkernels
La idea básica detrás del diseño de microkernel es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños y bien definidos, sólo uno de los cuales (el microkernel) se ejecuta en modo kernel y el resto se ejecuta como procesos de usuario ordinarios, sin poder relativamente.


Modelo cliente-servidor
Una ligera variación de la idea del microkernel es diferenciar dos clases de procesos: los servidores, cada uno de los cuales proporciona cierto servicio, y los clientes, que utilizan estos servicios. Este modelo se conoce como cliente-servidor.

Cada vez hay más sistemas que involucran a los usuarios en sus PCs domésticas como clientes y equipos más grandes que operan en algún otro lado como servidores. De hecho, la mayor parte de la Web opera de esta forma. Una PC envía una petición de una página Web al servidor y la página Web se envía de vuelta. Éste es un uso común del modelo cliente-servidor en una red.


Máquinas virtuales
Este sistema, que en un principio se llamó CP/CMS y posteriormente cambió su nombre a VM/370, estaba basado en una astuta observación: un sistema de tiempo compartido proporciona (1) multiprogramación y (2) una máquina extendida con una interfaz más conveniente que el hardware por sí solo. La esencia de VM/370 es separar por completo estas dos funciones.


El corazón del sistema, que se conoce como monitor de máquina virtual, se ejecuta en el hardware solamente y realiza la multiprogramación, proporcionando no una, sino varias máquinas virtuales a la siguiente capa hacia arriba. Como cada máquina virtual es idéntica al verdadero hardware, cada una puede ejecutar cualquier sistema operativo que se ejecute directamente sólo en el hardware. 

miércoles, 20 de agosto de 2014

Administración de Procesos en Linux


Procesos en Linux Ubuntu

Listar y detener procesos por consola

6 formas de matar procesos en Linux Ubuntu

Ubuntu.org

Los Sistemas Operativos más Populares

LOS SISTEMAS OPERATIVOS MÁS POPULARES DE LAS PC

Ø  MS-DOS: el significado de estas letras es el de Microsoft disk Operating System. Microsoft es el nombre de la compañía que diseño este sistema operativo, e IBM la compañía que lo hizo estándar al adoptarlo en sus microordenadores. Este sistema operativo emplea discos flexibles con una organización determinada los nombres de los ficheros en MSDOS, para los que se emplean tanto letras como números, se componen de dos partes: el nombre del fichero y la extensión, estando ambos datos separados por puntos.
Ø  UNIX: es un sistema operativo multiusuario que incorpora multitarea. El sistema operativo UNIX tiene diversas  variantes y se considera potente. Esta escrito en lenguaje C. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos.
Ø  NETWARE DE NOVELL: este sistema se diseño con la finalidad de que lo usarán grandes compañías que deseaban sustituir las enormes maquinas por una red de PCs que resultara más económica y fácil de manejar.
Ø  WINDOWS:

Windows 3.x: Funcionaba sobre DOS. En la versión 3.11 se incluyó el trabajo en redes con grupos de trabajo.
Windows NT 3.1 - 4: Sistema Operativo nuevo con problemas de compatibilidad de hardware. Versiones para servidores y estaciones de trabajo. Fueron las primeras versiones para trabajo cliente –servidor en empresas con gran volumen de equipos y distribución geográfica dispersa.
Windows 95: Comienza a utilizar arquitectura de 32 bits. Incluye Plug&Play. Facilita la conexión a Internet.
Windows 98: Nuevos controladores hardware. Fat32. Soporte para DVD, USB. Integra Internet Explorer. Millenium: Proyecto rápido antes de XP. Proporciona poca estabilidad.
Windows 2000: Evolución de NT mejorando servicios de red y Plug & Play. Versión para servidores y estaciones de trabajo. Fat32, NTFS, DFS, etc.
Windows XP: Unión de Windows NT/2000 y 9x. Versiones Home y Profesional. Núcleo de NT. Interfaz nueva. Multitarea mejorada. Redes inalámbricas.  
Windows 2003 Server: Sucesor de Windows 2000 Server. El más estable de las versiones de servidor. Interfaz estilo XP. Nuevos servicios orientados a seguridad en redes e Internet.
Windows Vista: Versión que aparece en 2007. Las diferentes versiones que se pueden adquirir son tres para el consumidor, Vista Home Basic, Vista Home Premium y Ultimate Edition y dos versiones para las empresas, Vista Business y Vista Enterprise. Tiene la interfaz gráfica totalmente rediseñada, incluyendo gadgets en el escritorio, Internet Explorer 7.
Windows 7 y 8: Versión que aparece en 2009 y 2013. Sistema operativo muy mejorado en toda su funcionalidad.
Otro tipo de Sistemas Operativos, también pertenecientes a la empresa Microsoft y basados en otros dispositivos electrónicos de telecomunicación serían:
§  Windows CE: Sistema operativo para dispositivos móviles (PDA´s).
§  Windows Mobile: Basado en el anterior. Incluido en PDA´s, SmartPhones y Media Center portátil. Última versión 2005.
Ø  Symbian OS: es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA's y Handhelds de PSION. El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de Microsoft y ahora Android de Google Inc., iOS de Apple Inc. y Blackberry OS.
Ø  MCP: Antiguo sistema operativo desarrollado por Burroughs/Unisys, originalmente escrito en ESPOL (Executive Systems Programming Language), que fue a su vez una extensión del Burroughs Extended ALGOL. Luego en los 70 fue pasado a NEWP, una forma más estructurada y más segura de ESPOL. En 1961, MCP fue el primer sistema operativo escrito exclusivamente en lenguaje de alto nivel. También fue el primer sistema operativo en el cual el código fuente pudo ser estudiado y mejorado por sus clientes (gracias a la legibilidad del código de alto nivel). Esto permitía a sus clientes crear sus propias extensiones del sistema operativo; muchas de estas extensiones se incorporaron luego al sistema para que estén disponibles para todos. De todas maneras, el código fuente está registrado (no es libre). MCP fue el primer sistema operativo en poder gestionar múltiples procesadores e introdujo la primera implementación comercial de memoria virtual. Por defecto utiliza una interfaz de texto, y actualmente se encuentra en la versión 11 (abril de 2006).

Microsoft es proveedora del 50 por ciento de las aplicaciones de software que se usan en el mundo, desde las hojas de cálculo hasta bases de datos, pasando por los procesadores de texto.

Tradicionalmente, se han distinguido las siguientes líneas de productos:
  • Sistemas operativos: MS-DOS, Windows.
  • Aplicaciones para la oficina (ofimática): MS Works, MS Office (Word, Excel, Access, Powerpoint, InfoPath, FrontPage, Outlook y Publisher)
  • Compiladores: MS Visual C++, MS Visual Basic
  • Herramientas de desarrollo: .NET
  • Internet: MS Internet Explorer o MS Internet Information Server. MyIE2 es un navegador basado en el motor de Microsoft Internet Explorer pero no es de Microsoft.

Alguna de las tácticas empresariales más frecuentes:
  • Comprar pequeños programas o servicios de otras empresas, e integrarlos en sus productos con otro nombre: MS-DOS, scandisk, defrag, Hotmail...
  • Integrar reproductores o visualizadores propios en el sistema operativo, convirtiendo así los formatos de los que es propietaria: Windows Media Player, Internet Explorer, Windows Messenger.

Principales fuentes de ingresos son: Venta de software y hardware, Servicio técnico y Cursos acreditados.



miércoles, 13 de agosto de 2014

Introducción a los Sistemas Operativos

DEFINICIÓN DE SISTEMA OPERATIVO

  • Un S.O. es un programa que actúa como enlace entre el usuario y el hardware de un computador.
  • El propósito de un S.O. es proporcionar un entorno en el cual el usuario pueda ejecutar programas.
  • Un sistema operativo es un conjunto de programas que gestionan de una manera eficiente un sistema de información para proporcionar al usuario un interface de sencillo manejo.
Podemos decir que:
Un sistema operativo (SO) es un conjunto de programas destinados a permitir la comunicación del usuario con una computadora gestionar sus recursos de manera eficiente. Éste comienza a trabajar cuando se enciende la computadora, y gestiona el hardware de la máquina desde los niveles más básicos.

¿CÓMO FUNCIONA UN SISTEMA OPERATIVO?

Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros están basados en gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en gráficos son más sencillos de utilizar.

FUNCIONES DE LOS SISTEMAS OPERATIVOS

ADMINISTRACION DE TRABAJOS: cuando existen varios programas en espera de ser procesados, el sistema operativo debe decidir el orden de procesamiento de ellos, así como asignar los recursos necesarios para su proceso.

ADMINISTRACION DE RECURSOS: mediante está función el sistema operativo está en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, entre otros aspectos.

CONTROL DE OPERACIONES DE ENTRADA Y SALIDA: mediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en qué momento.

ADMINISTRACION DE LA MEMORIA: supervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en qué momento, además libera la memoria cuando ya no es requerida para el proceso.

RECUPERACION DE ERRORES: el sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida.

CATEGORÍA DE LOS SISTEMAS OPERATIVOS

En función del número de usuarios simultáneos.

§  Monousuario: sólo permite ejecutar los programas de un usuario al mismo tiempo.
§  Multiusuario: permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos del ordenador. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

En función del número de procesos simultáneos.

§  Monoprogramación o Monotarea: puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización o interrupción.
§  Multiprogramación o Multitarea: es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternativa a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. 

En función del número de procesadores en uso simultáneo.

§  Monoproceso: cuando se dispone de un único procesador.
§  Multiproceso: consiste en hacer funcionar varios procesadores en forma paralela para obtener un poder de cálculo mayor que el obtenido al usar un procesador de alta tecnología o al aumentar la disponibilidad del sistema (en el caso de fallas del procesador).

En función de los requerimientos temporales.

§  Los sistemas de tiempo real: se utilizan principalmente en la industria y son sistemas diseñados para funcionar en entornos con limitaciones de tiempo. Un sistema de tiempo real debe tener capacidad para operar en forma fiable según limitaciones de tiempo específicas; Muchos SO de tiempo real son construidos para aplicaciones muy específicas como control de tráfico aéreo, bolsas de valores, control de refinerías y en el ramo automovilístico. Otros campos de aplicación de los Sistemas Operativos de tiempo real son los siguientes: Control de trenes, Telecomunicaciones, Control de edificios. Estos son algunos ejemplos de sistemas operativos de tiempo real: OS-9, RTLinux (RealTime Linux), QNX, VxWorks, entre otros.
§  Centralizado: permite utilizar los recursos de un solo ordenador.
§  Distribuido: permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.
§  Sistemas Fijos: son sistemas operativos diseñados para funcionar en equipos pequeños, como los PDA (asistentes personales digitales) o los dispositivos electrónicos autónomos (sondas espaciales, robots, vehículos con ordenador, etcétera) con autonomía reducida. En consecuencia, una característica esencial de los sistemas fijos es su avanzada administración de energía y su capacidad de funcionar con recursos limitados. Los principales sistemas fijos de "uso general" para PDA son los siguientes: PalmOS, Windows CE / Windows Mobile / Window Smartphone.

Emisora de Radio