jueves, 29 de junio de 2017

Sistemas Operativos

Sistema Operativo: 

Un sistema operativo es el software principal o conjunto de programas de un sistema informático que gestiona los recursos de hardware y provee servicios a los programas de aplicación de software, ejecutándose en modo privilegiado respecto de los restantes (aunque puede que parte de él se ejecute en espacio de usuario).

 Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que permiten la interacción con el sistema operativo. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde el entorno gráfico de usuario se distribuía por separado, de modo que, también podía reemplazarse por otro, como era el caso de directory Opus o incluso manejarlo arrancando con una línea de comandos y el sistema gráfico. De este modo, comenzaba a funcionar con el propio sistema operativo que llevaba incluido en una ROM, por lo que era cuestión del usuario decidir si necesitaba un entorno gráfico para manejar el sistema operativo o simplemente otra aplicación. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, usado en las llamadas distribuciones Linux, ya que al estar también basadas en Unix, proporcionan un sistema de funcionamiento similar. 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 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. Véase AmigaOS, beOS o Mac OS como los pioneros de dicha modernización, cuando los Amiga fueron bautizados con el sobrenombre de Video Toasters 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.

En ciertos textos, el sistema operativo es llamado indistintamente como núcleo o kernel, pero debe tenerse en cuenta que la diferencia entre kernel y sistema operativo solo es aplicable si el núcleo es monolítico, lo cual fue muy común entre los primeros sistemas. En caso contrario, es incorrecto llamar al sistema operativo núcleo.

Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario 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. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados mediante una interfaz gráfica de usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un enrutador.
 Image result for sistema operativo



Spoolers
Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas 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 cálculo 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).
 
Todo sistema operativo tiene cinco funciones:
  • Administrar los recursos.
  • Otorgar servicio de soporte y utilidad.
  • Suministrar una interfaz al usuario.
  • Administrar tareas y también archivos.
Image result for spoolers



Tipos de sistemas operativos
Los sistemas operativos pueden ser clasificados de la siguiente manera:

A) Según la administración de tareas:
Monotarea: este tipo de sistemas operativos son capaces de manejar un programa o realizar una sola tarea a la vez. Son los más antiguos. Por ejemplo, si el usuario está escaneando, la computadora no responderá a nuevas indicaciones ni comenzará un proceso nuevo.
Multitarea: esta característica es propia de los S.O. más avanzados y permiten ejecutar varios procesos a la vez, desde uno o varios ordenadores, es decir que los pueden utilizar varios usuarios al mismo tiempo. Esto se puede realizar por medio de sesiones remotas una red o bien, a través de terminales conectadas a una computadora.





B) Según la administración de usuarios:

Monousuario: Sólo pueden responder a un usuario por vez. De esta manera, cualquier usuario tiene acceso a los datos del sistema. Existe un único usuario que puede realizar cualquier tipo de operación.

Multiusuario: esta característica es propia de aquellos S.O. en los que varios usuarios pueden acceder a sus servicios y procesamientos al mismo tiempo. De esta manera, satisfacen las necesidades de varios usuarios que estén utilizando los mismos recursos, ya sea memoria, programas, procesador, impresoras, scanners, entre otros.

Lista de sistemas operativos

D.O.S.: Fue el primer sistema desarrollado por Microsoft. Sus siglas corresponden a Sistema Operativo de Disco o Disk Operating System. En sus inicios, DOS ganó rápidamente una alta popularidad en el incipiente mercado de las PCs, allá por los 90. Practicamente todo el software desarrollado para PCs se creaba para funcionar en este S.O.

Windows 3.1: Microsoft vuelve a tomar la iniciativa, y desarrolla un sistema operativo con interfaz gráfica, fácil de usar para el usuario promedio. Así nace Windows, con un sistema de ventanas con archivos identificables gráficamente a través de íconos. El mouse comienza a ser utilizado en la interacción con el sistema, agilizando y facilitando cualquier tipo de tarea.

Windows 95Microsoft da nuevamente un gran salto y lanza una versión muy mejorada del Windows 3.1 allá por 1995 en pleno auge del mercado de las PCs, y lo llama Windows 95. Con los años, Microsoft fue actualizando este sistema, lanzando Windows 98, Windows Me, Windows XP, Windows 7, Windows 8, hasta llegar al recientemente lanzado Windows 10. Para más información, ver: Tipos de Windows.

Windows NT: Microsoft lanza la versión Windows NT (New Technology) orientada a estaciones de trabajo y servidores de red. Se distribuía en dos versiones, Workstation (para ser usado en estaciones de trabajo) y Server (para montarlo en servidores de redes).

OS/2: Este sistema, fabricado por IBM, intentó reemplazar a DOS como sistema operativo de las PCs. Su versión 1.0 fue lanzada con arquitectura de 16 bits en 1987, actualizada luego en su versión 2.0 a la arquitectura de 32 bits, gracias al procesador Intel 80386. No tuvo una buena recibida en el mercado, al no contar con el apoyo de gran parte de los desarrolladores de software, que se volcaron a la creación de programas para Windows.

Mac OS / Mac OS X. El Mac OS (Macintosh Operating System) es un sistema operativo creado por Apple Inc. y destinado exclusivamente a las computadoras Macintosh comercializadas por la misma compañía. Lanzado por primera vez en 1985, fue evolucionando hasta 2002, año en el que se lanza la versión 10 (conocida como Mac OS X), que cambió su arquitectura y pasó a basarse en UNIX. Es un sistema muy amigable para el usuario, se aprende a usar con bastante rapidez.
  

Unix: Desarrollado en 1969 por AT&T, se trata de un SO portable, multitarea y multiusuario, que corre en una variada clase de ordenadores (mainframes, PCs, Workstations, supercomputadoras).


macOS anteriormente denominado OS X e inicialmente Mac OS X, es un entorno operativo basado en Unix, desarrollado, comercializado y vendido por Apple Inc. Está incluido en su gama de computadoras Macintosh desde el año de 2002. OS X es el sucesor del Mac OS 9 (la versión final del Mac OS Classic), el sistema operativo de Apple desde 1984. Está basado en BSD, y se construyó sobre las tecnologías desarrolladas en NeXT entre la segunda mitad de los 80's y finales de 1996, cuando Apple adquirió esta compañía. Técnicamente, no es un sistema operativo, sino que incluye uno (Darwin, cuyo núcleo es XNU). Desde la versión Mac OS X 10.5 Leopard para procesadores Intel, el sistema tiene la certificación UNIX 03.

La primera versión del sistema fue Mac OS X Server 1.0 en 1999, y en cuanto al escritorio, fue Mac OS X v10.0 «Cheetah» (publicada el 24 de marzo de 2001). Para dispositivos móviles Apple produce una versión específica de OS X llamada iOS, que funciona en iPhone, iPod Touch, iPad y Apple TV.
Hasta la versión 10.8, inclusive, los nombres de las versiones de Mac OS X tienen nombre de grandes felinos. Por ejemplo: Mac OS X v10.7 es denominado «Lion». A partir de la versión 10.9, «Mavericks», Apple empezó a utilizar nombres de lugares de California para denominar al sistema operativo. En Mac OS X, la X denota el 10 en número romano y constituye una parte prominente de la identidad de la marca.
Ubuntu es un sistema operativo basado en GNU/Linux y que se distribuye como software libre, el cual incluye su propio entorno de escritorio denominado Unity. Su nombre proviene de la ética homónima, en la que se habla de la existencia de uno mismo como cooperación de los demás.

Está orientado al usuario promedio, con un fuerte enfoque en la facilidad de uso y en mejorar la experiencia del usuario. Está compuesto de múltiple software normalmente distribuido bajo una licencia libre o de código abierto. Estadísticas web sugieren que la cuota de mercado de Ubuntu dentro de las distribuciones Linux es, aproximadamente, del 49 %, y con una tendencia a aumentar como servidor web.

Su patrocinador, Canonical, es una compañía británica propiedad del empresario sudafricano Mark Shuttleworth. Ofrece el sistema de manera gratuita, y se financia por medio de servicios vinculados al sistema operativo y vendiendo soporte técnico. Además, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de la comunidad para mejorar los componentes de su sistema operativo. Extraoficialmente, la comunidad de desarrolladores proporciona soporte para otras derivaciones de Ubuntu, con otros entornos gráficos, como Kubuntu, Xubuntu, Ubuntu MATE, Edubuntu, Ubuntu Studio, Mythbuntu, Ubuntu GNOME y Lubuntu.

Tipos de sistemas operativos móviles


  • iOS
  • Android
  • Symbian
  • Palm OS
  • BlackBerry 10
  • BlackBerry OS
  • Windows Mobile
  • Firefox OS
  • Ubuntu Phone OS

Gestión de procesos

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

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

La gestión de procesos podría 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 después 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 más antiguas.

Gestión de la memoria principal

La memoria es una gran tabla de palabras o bytes que se referencia cada una mediante una dirección única. Este almacén de datos de rápido acceso es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido ante fallos del sistema. El SO es el responsable de:
  • Conocer qué partes de la memoria están siendo utilizadas y por quién.
  • Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
  • Asignar y reclamar espacio de memoria cuando sea necesario.

Gestión del almacenamiento secundario

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:
  • Planificar los discos.
  • Gestionar el espacio libre.
  • Asignar el almacenamiento.
  • Verificar que los datos se guarden en orden


Herramientas del Sistema Operativo:

Los sistemas operativos, como entornos de trabajo de propósito general que son, incluyen un buen numero de variadas utilidades.

En general estas utilidades no son  nada del otro mundo, y simplemente sirven para salir del paso. A medida que las vamos utilizando mas y mas, nos vamos dando cuenta de que, se nos quedan cortas.

Todo sistema operativo cuenta con diferentes herramientas que las podemos clasificar en:

  1. Herramientas de Aplicación
  2. Herramientas de Configuración
  3. Herramientas de Optimización

(En este caso hablaremos sobre las herramientas del Sistema Operativo de Microsoft Windows)

Herramientas de Aplicación: 

Son todos los programas que contiene el sistema operativo de Windows para que el usuario desarrolle sus propias actividades, por ejemplo, redactar cartas (escritos), diseñar dibujos (editar), escuchar música, realizar cálculos, navegar en Internet, etc. 

Resultado de imagen para paint


Resultado de imagen para wordpad










Herramientas de Configuración: 

Aplicaciones o cuadros de información que le permiten al usuario conocer características especificas del sistema (equipo) y cambiar la configuración de algunos de sus dispositivos Hardware (Monitor, Mause, Teclado, etc)

Panel de Control: Una de las tareas importantes del sistema operativo es la de poder configurar los dispositivos del sistema computacional, desde el panel de control permite modificar estas características a los diferentes dispositivos que los conforman.

Resultado de imagen para panel de control 


Herramientas de Optimización: 

Son los programas o aplicaciones que le permiten al usuario mejorar el rendimiento del sistema 


  1. Comprobador de errores ( Scandisk)
  2. Defragmentador del disco
  3. Liberador de espacio en el disco
  4. Restaurador del sistema.

Resultado de imagen para herramientas de optimización en un sistema operativo




Securización de Sistemas 

La Securización de Sistemas tiene como objetivo realizar las actualizaciones, ajustes y cambios en el sistema necesarios para conseguir un alto nivel de seguridad ante ataques externos e internos. Este proceso debería ser obligatorio para cualquier servidor que ofrezca servicios a Internet, dada su predisposición a sufrir ataques.
NORMAS BÁSICAS QUE DEBEMOS SEGUIR PARA ACTUALIZAR NUESTRO SISTEMA OPERATIVO CON ÉXITO

Hay una serie de normas básicas que debemos seguir si queremos evitar problemas y un gasto innecesario al actualizar nuestro sistema operativo. 

Vamos a ver estas normas y en que momento debemos considerarlas: 


Antes de adquirir la actualización: 

Antes de adquirir la actualización debemos hacer una serie de comprobaciones para ver si podemos hacer esta actualización sin problemas. 

Ante todo, lo primero que debemos plantearnos es si realmente necesitamos hacer esta actualización. 

No me refiero a las actualizaciones gratuitas (Service Pack) que ofrece el fabricante del software (en el caso de Windows, Microsoft), que si que suelen ser necesarias, ya que solucionan una serie de problemas detectados en las versiones anteriores o adecuan el SO a las necesidades actuales. 

Me refiero a cambiar una versión de Windows por otra (Windows 98 por Windows XP, Windows XP Home por Windows XP Profesional, Windows XP por Windows Vista...). 

Una vez que vemos que si que necesitamos hacer esta actualización (o que realmente queremos hacerla, a pesar del gasto que supone), hay una serie de factores que debemos tener en cuenta (aunque digan lo contrario, querer no siempre es poder). 

- Debemos asegurarnos de que nuestro hardware soporta el nuevo sistema, comprobando los requerimientos mínimos de este. A este respecto me gusta dejar siempre muy claro que los requerimientos mínimos son solo eso, unos requerimientos mínimos para poder instalar el SO y que este funcione, pero en ningún momento garantizan que este lo haga con la debida rapidez, sobre todo cuando instalamos el software que necesitamos. 

Como dato, tengo comprobado que para un funcionamiento medianamente rápido, la cantidad de memoria RAM necesaria suele ser del doble de la estipulada en los requisitos mínimos del sistema, y eso como mínimo. 

También debemos asegurarnos de que existen drivers de nuestra placa base y de los elementos que la componen (sonido integrado, tarjeta de red, gráfica integrada si la tiene) para el sistema operativo que queremos instalar. 

- Del mismo modo, debemos asegurarnos de que los periféricos que tenemos (impresoras, escáner, webcam, etc.) sean compatibles con el nuevo SO, buscando los drivers incluso antes de actualizar, bajándolos y guardándolos en un CD. 

- En cuanto a nuestro software, tenemos que asegurarnos que va a funcionar correctamente con el nuevo SO, buscando incluso en la Web de los fabricantes si hay versiones compatibles o actualizaciones gratuitas de los mismos. 

Esto es especialmente importante en el caso del software que realmente necesitemos para nuestro trabajo o estudios. 

En el caso de que lo que queramos sea comprar una versión de actualización del sistema operativo (que son más baratas, pero que presentan algunos inconvenientes) o que lo que tengamos pensado hacer es actualizar el SO (no hacer una instalación limpia), debemos asegurarnos muy bien de que el sistema actual y la versión de este que tenemos es actualizable al nuevo. 

A este respecto, el fabricante siempre especifica qué versiones se pueden actualizar y a cuales. 
Por ejemplo, en caso de actualizar Windows XP a Windows Vista hay una serie de normas: 

Windows XP Home - Se puede actualizar a cualquier versión de Windows Vista. 
Windows XP Profesional - Solo se puede actualizar a Windows Vista Bussines o Ultimate, no siendo posible actualizarlo a ninguna versión Home de Windows Vista. 

Al ir a instalar la actualización: 

Bien, ya hemos comprobado todo lo anterior y comprado nuestro nuevo SO. 

Antes de actualizar nuestro ordenador (hablamos de actualizar, no de hacer una instalación limpia) debemos llevar a cabo una serie de operaciones para minimizar los riesgos que corremos y parta intentar que esta actualización se lleve a cabo con completo éxito. 

- Lo primero que debemos hacer es una copia de seguridad de nuestros datos, al menos de los que nos sean imprescindibles y no tengamos forma de recuperar. 

- Antes de proceder a la actualización debemos eliminar todos los temporales que tengamos. Podemos ver como hacerlo en el tutorial Eliminar archivos temporales del PC

- Si tenemos algún programa que no sea compatible con el nuevo SO debemos desinstalarlo antes de actualizar. 

- También deberiamos desinstalar aquellos preiféricos que no sean compatibles o que necesiten drivers nuevos. 

- Del mismo modo, una vez eliminados todos los temporales, debemos pasar un altivirus, antiespias y anti aware, es decir, hacer una limpieza completa de nuestro ordenador. 

- Debemos hacer un scandisk lo más completo posible para asegurarnos de que no haya vínculos cruzados, espacios no asignados, cadenas rotas, etc.. Deberíamos hacer también un desfragmentado del disco, o al menos de la unidad en la que tenemos el SO. 

- Debemos deshabilitar (o mejor desinstalar) cualquier antivirus que tengamos. Los antivirus residentes y los Firewall pueden ser causa de problemas a la hora de actualizar. 

- Quitar todas las claves de acceso que tengamos en nuestro sistema (claves de usuario, etc). 

- Seguir muy atentamente (más incluso que durante una instalación limpia) los mensajes del instalador del nuevo sistema operativo. 

- Una vez instalado el nuevo SO, lo primero que debemos hacer es instalar todos los drivers de la placa base que sean necesarios, reiniciando tantas veces como nos lo solicite su instalación (no esperando a tener varios instalados para reiniciar). 

Esto es muy importante, ya que entre otras cosas nos va a permitir detectar cualquier error en un driver, ahorrándonos mucho tiempo y dolores de cabeza. 

Bien, si seguimos estas normas es sumamente probable que logremos actualizar nuestro sistema operativo sin ningún contratiempo, aunque esto es una cosa que nunca se puede garantizar en una actualización.
Imagen relacionada




Utilidad de los Sistemas Operativos:

Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los dispositivos de entrada y salida, facilitar la conexión a redes y el manejo de archivos.

Entre las mas destacables, cada una ejercía por un componente interno, podemos reseñar las siguientes:

* Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los programas

*Proporcionar comodidad en el uso de un computador.

*Brindar una interfaz al usuario, ejecutando instrucciones (comandos).

Una utilidad en un sistema operativos es un programa computacional que realiza una sola tarea, por lo general muy especifica y relacionada a una sola parte del software del sistema operativo. Estos programas funcionan mayoritariamente con recursos del sistema como la memoria y el flujo básico de datos. Éstos a menudo ayudan a que la computadora organice su memoria y aparte memoria para las aplicaciones que son agregadas después en la vida de la computadora.

Diferencia


Los sistemas operativos también utilizan software conocido como aplicaciones, y a veces puede ser difícil saber cuál es la diferencia. En general, las utilidades son más pequeñas y más simples que las aplicaciones. Las aplicaciones son complejas y realizan muchas funciones en lugar de sólo una, a menudo funciones que no están relacionadas directamente con la estructura básica de la computadora. Los procesadores de texto y los programas de hojas de datos son dos de las aplicaciones más comunes.


Utilidades del Sistema
Definición


Existen utilidades para la mayoría de componentes del sistema operativo. Uno de los tipos más comunes es la utilidad de disco, que maneja los dispositivos de disco que crea la computadora. Otras utilidades manejan las impresoras y otros dispositivos básicos que están conectados a la computadora y necesitan una línea directa a la memoria de la computadora


Ejemplos


Clasificación de los Dispositivos de Almacenamiento.
Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen:


Acceso secuencial:


En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder.


Acceso aleatorio:


En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada.


 Principales funciones de los sistemas operativos:

El sistema operativo es capaz de desempeñarse en varias funciones:
  • Gestionar la CPU: Se encarga de administrar la CPU que va a estar repartida entre todos los procesos que se estén ejecutando.
  •  Gestionar la RAM: Para asignar el espacio de memoria a cada aplicación y a cada usuario, en caso de ser necesario. Cuando esta memoria se hace insuficiente, se crea una memoria virtual, de mayor capacidad, pero como está en el almacenamiento secundario (disco duro), es más lenta.
  •  Gestionar el I/O: El sistema operativo crea un control unificado de los programas a los dispositivos, a través de drivers. 
  •  Gestionar los procesos: Se encarga de que las aplicaciones se ejecuten sin ningún problema, asignándoles los recursos que sean necesarios para que estas funcionen. Si una de ellas no responde, se procede a matar el proceso. 
  •  Gestionar los permisos: Garantiza que los recursos sean solamente utilizados por programas y usuarios que tengan las autorizaciones que les correspondan.
  • Gestionar los archivos: Lectura y escritura en el sistema de archivos, y los permisos de acceso a ellos.
  • Gestionar información: El sistema operativo proporciona información, que posteriormente será utilizada a modo de diagnóstico del funcionamiento correcto del computador.

 _:Componentes de un sistema operativo:_

Un Sistema Operativo esta formado principalmente por dos componentes. El Shell y el Kernel: 


- Shell -

 El Shell es el componente que se encarga de traducir los lenguajes de los programas de un alto nivel a nivel máquina, es decir traduce a código binario.


En informática, el shell o intérprete de órdenes o intérprete de comandos es el programa informático que provee una interfaz de usuario para acceder a los servicios del sistema operativo.

Dependiendo del tipo de interfaz que empleen, los shells pueden ser:

  • De líneas texto (CLI, Command-Line Interface, interfaz de línea de comandos),
  • Gráficos (GUI, Graphical User Interface, interfaz gráfica de usuario),
  • De lenguaje natural (NUI, Natural User Interface, interfaz natural de usuario).
Los shell son necesarios para invocar o ejecutar los distintos programas disponibles en la computadora.




- Kernel -

En informática, un núcleo o kernel es un software que constituye una parte fundamental del sistema operativo, y se define como la parte que se ejecuta en modo privilegiado (conocido también como modo núcleo).​ ​ 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á usar 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 proporcionar una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

En algunos sistemas operativos, no existe un núcleo como tal (algo común en sistemas empotrados), debido a que en ciertas arquitecturas no hay distintos modos de ejecución.
Resultado de imagen para kernel definicion


Sistema Por Capas:

Consiste en organizar o estructurar por jerarquía cada una de estas capas o anillos (interfaz de usuario, drivers, Kernell), cada una constituida sobre la inmediata inferior
Es una generalización del modelo de estructura simple para un sistema monolítico. Consiste en organizar el sistema operativo como una jerarquía de capas, cada una constituida sobre la inmediata inferior.
El sistema operativo la utiliza para poder controlar los diversos aspectos del hardware, sobre ella se encuentra la capa de dispositivos. Es un conjunto de funciones denominadas controladoras de dispositivo que se encuentra dentro del Kernell del sistema operativo, acceden directamente al hardware y hacen el trabajo de escritura y lectura.
Capa 0: Asignación del procesador y multiprogramación.
Capa 1: Administración de los recursos del sistema (memoria, disco, etc...).
Capa 2: Comunicación operador-proceso.
Capa 3: Control E/S.
Capa 4: Programas de usuario.
Capa 5: El operador.


Imagen relacionada



sistema operativo Monotarea:
Se le dice monotarea aquel sistema operativo que solamente puede ejecutar un proceso del programa de computación a la misma vez. Es una característica de los sistemas operativos más antiguos como MS-DOS pues en la actualidad la mayoría de los sistemas de propósito general son multitarea.
Los sistemas operativos monousuarios son aquellos que soportan 1 usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. En otras palabras, los sistemas monousuarios son aquellos que nada más puede atender a solo un usuario, por las limitaciones del hardware, los programas o el tipo de aplicación que se esté ejecutando.
Resultado de imagen para sistema operativo monotarea windows me



Sistema Operativo Multitarea:
La multitarea es la característica de los sistemas operativos modernos de permitir que varios procesoso aplicaciones se ejecuten aparentemente al mismo tiempo, compartiendo uno o más procesadores.
Los sistemas operativos multitarea son capaces de dar servicio a más de un proceso a la vez para permitir la ejecución de muchos más programas.
En esta categoría también se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios —llamados sistemas multiusuario— que compartan los mismos recursos. Este tipo de sistemas se emplea especialmente en redes. En resumen, se trata de fraccionamiento del tiempo (timesharing en inglés).





Sistemas Operativos Distribuidos:
Un sistema operativo distribuido es la unión lógica de un grupo de sistemas operativos sobre una colección de nodos computacionales independientes, conectados en red, comunicándose y físicamente separados. Cada nodo contiene de forma individual un subconjunto específico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinación de dos proveedores de servicios distintos. El primero es un núcleo ubicuo mínimo o micro núcleo, que controla el hardware del nodo. El segundo es una colección de componente de administración del sistema de alto nivel que coordinan las actividades individuales y colaborativas del nodo. Estos componentes son una abstracción de las funciones del micro núcleo y dan soporte a las aplicaciones de usuario.
El micro núcleo y las componentes de administración trabajan en conjunto. Ambos dan soporte al objetivo del sistema el cual es integrar múltiples recursos y capacidad de procesamiento en un sistema eficiente y estable. Esta integración sin fisuras de nodos individuales en un sistema global es conocido como transparencia, o sistema de imagen única; haciendo referencias a la ilusión que se le brinda a los usuarios de que el sistema global luce como una entidad computacional única.
Un sistema operativo distribuido provee las funcionalidades esenciales requeridas por un sistema distribuido, agregando atributos y configuraciones para dar soporte a los requerimientos adicionales, tales como aumento de escala y disponibilidad. Desde el punto de vista del usuario el SO funciona de forma similar a un Sistema Operativo monolítico de un solo nodo. O sea que, aunque está compuesto por múltiples nodos, para los usuarios y aplicaciones luce como un solo nodo.

Separando las funcionalidades mínimas a nivel de sistema de los servicios modulares adicionales a nivel de usuario provee “una separación de mecanismos y políticas”. Mecanismos y políticas pueden ser interpretados de la siguiente manera “cómo algo se hace” contra “por qué algo se hace” respectivamente. Esta separación incrementa la escalabilidad y la flexibilidad.

viernes, 23 de junio de 2017

Que es un Software

 Software

Se conoce como software al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos' necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.


Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.


El anglicismo software es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.

 Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación.


Related image


Firmware: 

El firmware es un programa informático que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Está fuertemente integrado con la electrónica del dispositivo, es el software que tiene directa interacción con el hardware, siendo así el encargado de controlarlo para ejecutar correctamente las instrucciones externas. De hecho el firmware es uno de los tres principales pilares del diseño electrónico.

En resumen, un firmware es un software que maneja físicamente al hardware.

El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la [[Memoria de acceso aleatorio|memoria RAM] y disco duro].

Periféricos de computador

La mayoría de los periféricos del computador son de hecho computadores de propósito especial. Mientras que los dispositivos externos tienen el firmware almacenado internamente, las modernas tarjetas de los periféricos de computadores típicamente tienen grandes partes de firmware que es cargado en el arranque por el sistema huésped, pues esto es más flexible. Dicho hardware por lo tanto puede no funcionar completamente hasta que el computador huésped le haya cargado el firmware indispensable, a menudo por medio del driver de dispositivo específico (o, más exactamente, por medio de un subsistema dentro del paquete del driver de dispositivo). Los modernos drivers de dispositivo también pueden exponer una interfaz directa de usuario para la configuración además de las llamadas/interfaces del sistema operativo o de las Interfaces de programación de aplicaciones (APIs).

Retos del firmware en los PC

En algún sentido, los varios componentes del firmware son tan importantes como el sistema operativo en un computador. Sin embargo, a diferencia de la mayoría de los sistemas operativos modernos, el firmware tiene raramente un mecanismo automático bien desarrollado para actualizarse a sí mismo para corregir los problemas de funcionalidad que son detectados después de que la unidad es despachada.

BIOS y firmware

El BIOS es bastante fácil de actualizar en un PC moderno; los dispositivos como las tarjetas de vídeo o los módems confían en el firmware cargado dinámicamente por un driver de dispositivo y a menudo pueden así ser actualizados transparentemente a través de los mecanismos de actualización del sistema operativo. En contraste, el firmware en dispositivos de almacenamiento es raramente actualizado; no están estandarizados los mecanismos para detectar las versiones del firmware y actualizarlas. Estos dispositivos, por lo tanto, tienden a tener un índice más alto de problemas de funcionalidad, comparados con otras partes de un moderno sistema de computación

Ejemplos

  • Sistemas de temporización y control para las lavadoras.
  • El BIOS encontrado en computadores personales compatibles con el IBM PC.
  • El código de plataforma encontrado en los sistemas Itanium, las máquinas Mac OS X basadas en Intel y muchas tarjetas de escritorio de Intel tienen firmware EFI.
  • Open Firmware, usado en computadores de Sun Microsystems, Apple Computer, y de Genesi.
  • ARCS, usado en computadores de Silicon Graphics.
  • Kickstart, usado en la línea de computadoras Amiga. Este es un ejemplo único de un firmware que mezclaba las capacidades del BIOS (POST, inicio del hardware + autoconfiguración, plug and play de periféricos, etc.), del kernel en sí mismo del AmigaOS y de partes del código usadas en el sistema operativo (como primitivas y bibliotecas de la interfaz gráfica).
  • RTAS (Run Time Abstraction Services), usado en computadoras de IBM.
  • Chips de EPROM usados en la serie Eventide H-3000 de procesadores digitales de música.
  • El Common Firmware Environment (CFE).
  • Controlar los atributos de sonido y vídeo y la lista de canales en los televisores modernos.

 
Image result for firmware

 

Shareware

Se denomina shareware a una modalidad de distribución de software, en la que el usuario puede evaluar de forma gratuita el producto, pero con limitaciones en el tiempo de uso o en algunas de las formas de uso o con restricciones en las capacidades finales.


Para adquirir una licencia de software que permita el uso del software de manera completa se requiere de un pago, aunque también existe el llamado "shareware de precio cero", pero esta modalidad es poco común.


No debe confundirse el shareware con el sistema freeware que indica que el software es totalmente gratuito. Tampoco debe confundirse el hecho de que el software sea shareware o freeware con el hecho de que sea de código abierto, ya que esto último depende de la disponibilidad o no del código fuente, mientras que los primeros son denominaciones de la forma o sistema de comercialización.

 

 

Ventajas

Para el usuario

  • El usuario puede probar el producto antes de comprarlo, evitando el riesgo que significa un desembolso por algo que no está seguro si le será útil.
  • Usualmente los de este tipo tienen un costo mucho menor que los que son estrictamente comerciales.
  • La comunicación con los autores es mucho más simple y directa, permitiendo un soporte fluido y una buena retroalimentación. En la mayoría de los casos, las sucesivas versiones de los programas bajo esta modalidad, van incorporando mejoras con base en sugerencias y pedidos de los propios usuarios, de las que se beneficia el resto de ellos.

Para el autor

  • A diferencia de lo que ocurre con el freeware, el autor tiene completo dominio sobre el programa, siendo posible que decida sobre su desarrollo futuro.
  • Es mucho más probable que el/los programadores obtengan un nombre propio, como ocurrió -por ejemplo- con Id Software (DOOM, Quake), Nullsoft (Winamp) o tantos otros. La reputación que se consigue va promoviendo el nombre del autor, por más que sea de boca en boca.
  • No se requiere un estatus legal especial, permitiendo que pequeños y medianos programadores, incluso menores de edad, comiencen a recibir ingresos por sus trabajos, sin por ello constituir una actividad ilegal.
  • Los programas shareware exitosos, a menudo se ganan el respeto de los grandes y reconocidos creadores de software, quienes a la larga suelen crear fusiones, o contratar a los autores en sus compañías. Entre el 2004 y el 2005 vimos a JASC Software, quienes desarrollaron en la década del 90 el editor de imágenes Paint Shop Pro, ser comprada por la prestigiosa Corel, cuando ya iba por la versión 9, publicando las versiones posteriores como Corel Paint Shop Pro Photo.

Resultado de imagen para hardware 

 



Freeware:


El término freeware define un tipo de software que se distribuye sin costo, disponible para su uso, pero que mantiene el copyright, por lo que no se puede modificar o utilizar libremente como ocurre con el software libre. Se trata de una variante gratuita del shareware. El shareware tiene como meta lograr que un usuario pruebe el software durante un tiempo limitado y si le satisface, pague por él habilitando toda su funcionalidad. Mientras, el freeware se ofrece de manera gratuita con funcionalidad completa, aunque a veces se piden donativos o se trata de versiones reducidas de programas de pago como medio para darse a conocer.


El freeware suele incluir una licencia de uso comercial, que permite su redistribución pero con algunas restricciones, como no modificar la aplicación en sí ni venderla, y dar cuenta de su autor. También puede desautorizar el uso en una compañía con fines comerciales o en una entidad gubernamental, o bien requerir pagos si se le va a dar uso comercial. Hay que tener en cuenta que aunque se trate de software gratuito, mantiene el copyright, por lo que solo puede usarse según lo establecido en su licencia.


Historia


El término freeware fue acuñado y registrado en los años 80 por Andrew Fluegelman, un editor de revistas de computación y desarrollador de un popular programa de comunicaciones, PC-Talk. Sin embargo la marca registrada fue abandonada y freeware se convirtió en un término genérico por lo que podía ser legalmente usado por cualquiera.



Características


El término freeware no tiene una definición clara aceptada, pero es usado comúnmente para referirse a paquetes que se pueden distribuir pero no modificar y cuyo código fuente no está disponible. Los paquetes con estas características no son software libre, por lo que no deben existir confusiones entre estos términos. Existen varias razones por las que los desarrolladores hacen que su software esté disponible como freeware. Atraer clientes a otros servicios o productos que no son gratuitos, sin embargo también existe el deseo por parte del desarrollador de contribuir y distribuir su software de manera gratuita.



Diferencias con otros tipos de software


El freeware es muy diferente del software libre, este es libre no solamente monetariamente sino también que no tiene restricciones o solamente restricciones mínimas para su uso, incluyendo los derechos de modificación y la redistribución de las versiones modificadas. Con respecto al shareware, existen también algunas diferencias, este se distribuye de una manera similar al freeware pero típicamente requiere de un pago después de algún período de tiempo para continuar utilizándolo o para activar ciertas características no disponibles antes del pago y al igual que el freeware el código fuente no está disponible.



Diferencia entre Software, Shareware y Freeware

Software:

  • Respeta la libertad de los usuarios y la comunidad
  • No tiene que ser gratuito
  • Tiene libre derecho de modificación. 

Shareware:


  • El usuario puede evaluar de forma gratuita el producto, pero con limitaciones en el tiempo de uso o en algunas formas de uso o con restricciones en las capacidades finales.
  • Existe el llamado "Shareware de precio cero" pero esta modalidad es poco común.
  • No debe confundirse el Shareware con el sostema Freewareque indica que un Software es totalmente gratuito.

Freeware:

  • Es un tipo de Software que se distribuye sin costo, disponible para su uso y por tiempo ilimitado.
  • Suele incluir una Licencia de Uso.
  • Autorizar el uso en una compañía de fines comerciales o en una entidad gubernamental. 

Resultado de imagen para caracteristicas de freeware


-Diferentes Tipos de Software-



  • Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:


  • Sistemas operativos
    • Controladores de dispositivos
    • Herramientas de diagnóstico
    • Herramientas de corrección y optimización
    • Servidores
  • Utilidades


Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas de informática, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen en forma básica:


  • Editores de texto
  • Compiladores
  • Intérpretes
  • Enlazadores
  • Depuradores
  • Entornos de desarrollo integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).



  • Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:


  • Aplicaciones para Control de sistemas y automatización industrial
  • Aplicaciones ofimáticas
  • Software educativo
  • Software empresarial
  • Bases de datos
  • Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
  • Videojuegos
  • Software médico
  • Software de cálculo numérico y simbólico.
  • Software de diseño asistido (CAD)
  • Software de control numérico (CAM)