Sistema operativo

De Wikipedia, la enciclopedia libre
Saltar a: navegación , búsqueda

Un sistema operativo es el software , que consiste en los programas y datos , que se ejecuta en computadoras , gestiona hardware recursos, y proporciona servicios comunes para la ejecución de varias aplicaciones de software . El sistema operativo es el tipo más importante de software del sistema en un sistema informático. Sin un sistema operativo, un usuario no puede ejecutar un programa de aplicación en su ordenador, a menos que el programa de aplicación se auto arranque.

Para las funciones de hardware como de entrada y salida y la asignación de memoria , el sistema operativo actúa como intermediario entre los programas de aplicación y el hardware del ordenador, [1] [2] , aunque el código de la aplicación suele ser ejecutado directamente por el hardware y con frecuencia se llama el sistema operativo o ser interrumpido por ella. Los sistemas operativos se encuentran en casi cualquier dispositivo que contiene una computadora, desde teléfonos celulares y consolas de video juegos para supercomputadoras y servidores web .

Ejemplos de los populares sistemas operativos modernos son: BSD , Linux ( Ubuntu , Fedora , openSUSE , Debian , etc), Mac OS X , Microsoft Windows , y Unix . [3]

Contenido

[ editar ] Tipos

En tiempo real
Un sistema operativo en tiempo real es un sistema operativo multitarea que tiene por objeto la ejecución de aplicaciones en tiempo real. En tiempo real de sistemas operativos suelen utilizar algoritmos de programación especializada para que puedan lograr una naturaleza determinista de la conducta. El objetivo principal de los sistemas operativos en tiempo real es su respuesta rápida y predecible a los acontecimientos. Tienen un diseño orientado a eventos o tiempo compartido y, a menudo los aspectos de ambos. Un evento impulsado por los interruptores del sistema entre las tareas basadas en sus prioridades o eventos externos, mientras que sistemas de tiempo compartido que operan cambiar de tarea sobre la base de interrupciones de reloj.
Multi-usuario frente a un solo usuario
Un sistema operativo multi-usuario permite que varios usuarios para acceder a un sistema informático al mismo tiempo. De tiempo compartido del sistema se pueden clasificar como sistemas multi-usuario, ya que permiten un acceso de múltiples usuarios a un ordenador mediante el intercambio de tiempo. De un solo usuario de sistemas operativos, en comparación con un sistema operativo multi-usuario, se pueden utilizar por un solo usuario a la vez. Ser capaz de tener varias cuentas en un sistema operativo Windows no lo hace un sistema multi-usuario. Por el contrario, sólo el administrador de la red es el usuario real. Pero para un sistema operativo tipo Unix, es posible que dos usuarios para acceder a la vez y esta capacidad del sistema operativo hace que sea un multi-usuario del sistema operativo.
Multitarea vs solo-tarea
Cuando un mismo programa se puede ejecutar a la vez, el sistema se agrupan en un único sistema de tareas, mientras que en caso de que el sistema operativo permite la ejecución de múltiples tareas al mismo tiempo, se clasifica como un sistema operativo multitarea. Multitarea puede ser de dos tipos a saber, preventiva o de cooperación. En preventiva multitarea, el sistema operativo corta el tiempo de CPU y dedica una ranura a cada uno de los programas. Unix-como sistemas operativos, como Solaris y Linux preventiva multitarea. Multitarea cooperativa se realiza basándose en cada proceso para dar tiempo a los demás procesos de una manera definida. MS Windows anteriores a Windows 95 para apoyar multitarea cooperativa.
Distribuido
Un sistema operativo distribuido administra un grupo de equipos independientes y los hace parecer un solo equipo. El desarrollo de las computadoras en red que podría estar relacionado y se comunican entre sí, dio lugar a la computación distribuida. Cálculos distribuidos se llevan a cabo en más de una máquina. Cuando los equipos de un grupo de trabajo en cooperación, que hacen un sistema distribuido.
Incorporado
Incorporado los sistemas operativos están diseñados para ser utilizados en sistemas de computación empotrados. Ellos están diseñados para funcionar en máquinas pequeñas como PDAs con menos autonomía. Son capaces de funcionar con un número limitado de recursos. Son muy compacto y muy eficiente por su diseño. Windows CE y 3 Minix son algunos ejemplos de sistemas operativos integrados.

[ editar ] Resumen

Las primeras computadoras se construyeron para llevar a cabo una serie de tareas individuales, como una calculadora. Los sistemas operativos no existían en sus formas modernas y más complejas hasta la década de 1960. [4] Algunas de las características del sistema operativo se desarrolló en la década de 1950, tales como programas de seguimiento que automáticamente podría ejecutar diferentes programas de aplicación en la sucesión a la velocidad de procesamiento. Características de hardware se han añadido que el uso permitido de las bibliotecas en tiempo de ejecución , las interrupciones , y el procesamiento en paralelo . Cuando las computadoras personales por las compañías tales como Apple Inc. , Atari , IBM y Amiga se hizo popular en la década de 1980, los vendedores añaden funciones del sistema operativo que se había convertido ya ampliamente utilizado en la unidad central y mini computadoras. Más tarde, muchas características, tales como la interfaz gráfica de usuario se han desarrollado específicamente para sistemas operativos de computadoras personales.

Un sistema operativo consiste en muchas partes. Uno de los componentes más importantes es el núcleo , que controla procesos de bajo nivel que el usuario medio por lo general no se puede ver: controla cómo se lee la memoria y por escrito, el orden en que los procesos se ejecutan, cómo la información es recibida y enviada por dispositivos como el monitor, teclado y ratón, y decide cómo interpretar la información recibida de las redes. La interfaz de usuario es un componente que interactúa con el usuario de la computadora directamente, lo que les permite controlar y utilizar los programas. La interfaz de usuario puede ser gráfica con iconos de escritorio y uno , o textual, con una línea de comandos . interfaces de programación de aplicaciones prestación de servicios y bibliotecas de código que permiten a los desarrolladores de aplicaciones escribir código modular reutilización bien definidas las secuencias de programación en las bibliotecas del espacio de usuario o en el propio sistema operativo . ¿Qué características se consideran parte del sistema operativo se define de manera diferente en diferentes sistemas operativos. Por ejemplo, Microsoft Windows considera que su interfaz de usuario como parte del sistema operativo, mientras que muchas versiones de Linux no lo hacen.

[ editar ] Historia

En la década de 1940, los primeros sistemas electrónicos digitales no tenían sistemas operativos. Los sistemas electrónicos de este tiempo eran tan primitivos en comparación con los de hoy que las instrucciones fueron introducidos a menudo en el sistema un poco a la vez en las filas de los interruptores mecánicos o por medio de cables del puente en regletas. Estos fueron los sistemas de propósito especial que, por ejemplo, genera tablas de balística para las fuerzas armadas o bajo el control de la impresión de cheques de nómina de los datos en tarjetas de papel perforadas. Después de programar ordenadores de propósito general que se inventaron las lenguas de la máquina (que consta de cadenas de los dígitos binarios 0 y 1 en la cinta de papel perforado) fueron introducidos que aceleró el proceso de programación (Stern, 1981).

OS/360 se utilizó en la mayoría de las computadoras mainframe de IBM a partir de 1966, incluyendo los equipos que ayudó a la NASA a un hombre a la luna.

En la década de 1950, una computadora puede ejecutar un solo programa a la vez. Cada usuario tiene uso exclusivo de la computadora por un período limitado de tiempo y llegaría a una hora programada con el programa y los datos de las tarjetas de papel perforadas y / o cinta perforada. El programa se carga en la máquina y la máquina se puso a trabajar hasta que el programa terminado o se haya estrellado. Programas en general podría ser depurados a través de un panel frontal con interruptores y luces del panel. Se dice que Alan Turing era un maestro de esto en los primeros Manchester Mark 1 de la máquina, y ya se derivan de la concepción primitiva de un sistema operativo de los principios de la máquina universal de Turing. [ cita requerida ]

Más tarde llegaron las máquinas con las bibliotecas de software , que estaría vinculado a un programa de usuario para ayudar en operaciones como la entrada y salida y la generación de código de computadora de legible el código simbólico . Ese fue el origen del sistema operativo de hoy en día. Sin embargo, las máquinas aún corría un solo puesto de trabajo a la vez. En la Universidad de Cambridge en Inglaterra, la cola de trabajos fue en un tiempo una línea de lavado de las cintas que colgaban de diferentes colores de ropa clavijas para indicar la prioridad de empleo. [ cita requerida ]

[ editar ] Mainframes

A través de los años 1950, muchas características importantes fueron pioneros en el campo de los sistemas operativos, incluyendo el procesamiento por lotes , entrada / salida de interrupción , búfer , multitarea , de cola , las bibliotecas de tiempo de ejecución , relación carga- , y programas de ordenación de registros en los archivos. Estas características fueron incluidos o no incluidos en el software de aplicación en la opción de los programadores de aplicaciones, en lugar de en un sistema operativo independiente utilizado por todas las aplicaciones. En 1959, el sistema operativo COMPARTIR fue lanzado como una utilidad integrada para la IBM 704 , y más tarde en el 709 y 7.090 estaciones de trabajo.

Durante la década de 1960, IBM OS/360 introdujo el concepto de un único sistema operativo que abarca una línea de productos, que fue crucial para el éxito de las máquinas System/360. IBM 's actuales sistemas operativos de mainframe son descendientes lejanos de este original sistema y las aplicaciones escrito para OS/360 todavía se puede ejecutar en máquinas modernas. [ cita requerida ] En los años 70 mediados de MVS , un descendiente de OS/360, ofreció la primera [ cita requerida ] la aplicación del uso de memoria RAM como un proceso transparente de caché para datos .

OS/360 también fue pionero en el concepto de que el sistema operativo mantiene un registro de todos los recursos del sistema que se utilizan, incluido el programa y la asignación de espacio de datos en la memoria principal y espacio de archivos en el almacenamiento secundario, y el bloqueo de archivos durante la actualización. Cuando el proceso haya terminado por cualquier razón, todos estos recursos se re-reclamada por el sistema operativo.

La alternativa CP-67 para el sistema de S/360-67 comenzó toda una línea de sistemas operativos de IBM se centró en el concepto de máquinas virtuales . Otros sistemas operativos utilizados en mainframes IBM S/360 serie incluye los sistemas desarrollados por IBM: COS/360 (Sistema operativo Compatabililty), DOS/360 (Disk Operating System), TSS/360 (Sistema de Tiempo Compartido), TOS/360 (de funcionamiento de cinta sistema), BOS/360 (Sistema Operativo Básico), y los países ACP (Programa de Control de Línea Aérea), así como algunos sistemas no sean de IBM: MTS (Michigan Terminal System), MUSIC (Multi-usuario del sistema de computación interactiva), y ORVYL (Stanford sistema de tiempo compartido).

Control Data Corporation desarrolló el ALCANCE del sistema operativo en la década de 1960, para el procesamiento por lotes. En colaboración con la Universidad de Minnesota, el KRONOS y más tarde la NOS sistemas operativos se desarrollaron durante la década de 1970, que apoyó lotes simultáneos y de tiempo compartido uso. Al igual que muchos sistemas de tiempo compartido comercial, su interfaz es una extensión de los sistemas operativos Dartmouth BASIC, uno de los esfuerzos pioneros en régimen de tiempo compartido y los lenguajes de programación. A finales de 1970, Control Data y la Universidad de Illinois ha desarrollado el PLATO sistema operativo, que utilizan las pantallas de plasma y panel de redes de larga distancia de tiempo compartido. Platón fue muy innovadora para su época, con charla en tiempo real y juegos multi-usuario gráfica. Burroughs Corporation introdujo la B5000 en 1961 con el MCP ( Master Control Program ) del sistema operativo. El B5000 es una máquina de pila diseñado para apoyar exclusivamente lenguajes de alto nivel, sin lenguaje de máquina o ensamblador, y de hecho, el MCP fue el primer sistema operativo para ser escrito exclusivamente en un lenguaje de alto nivel - ESPOL , un dialecto del ALGOL . MCP también presentó muchas otras innovaciones revolucionarias, como ser la primera implementación comercial de la memoria virtual . Durante el desarrollo del AS400 , IBM hizo un acercamiento a Burroughs a MCP licencia para funcionar en el hardware de AS400. Esta propuesta fue rechazada por Burroughs de gestión para proteger su producción de hardware existente. MCP se encuentra todavía en uso hoy en día en el Unisys ClearPath / MCP línea de computadoras.

UNIVAC, el primer fabricante de equipo comercial, produjo una serie de sistemas operativos EXEC. Como todos los principios de main-frame de sistemas, se trataba de un sistema orientado a lotes que logró tambores magnéticos, discos, lectores de tarjetas e impresoras en línea. En la década de 1970, produjo la UNIVAC en tiempo real Básica (RTB) sistema de apoyo a gran escala de tiempo compartido, también el modelo del sistema de Dartmouth antes de Cristo.

General Electric y el MIT desarrolló Supervisor General Electric operativo Integral (GECOS), que introdujo el concepto de niveles de seguridad rodeada de privilegios. Después de la adquisición de Honeywell se renombró como Sistema Integral de Operación General (SMOC).

Digital Equipment Corporation ha desarrollado muchos sistemas operativos para sus líneas de computadoras diferentes, incluyendo TOPS-10 y TOPS-20 sistemas de tiempo compartido para los 36 bits del PDP-10 los sistemas de clase. Antes de que el uso generalizado de UNIX, TOPS-10 era un sistema muy popular en las universidades, y en los principios de ARPANET de la comunidad.

A finales de 1960 a través de la década de 1970, varias capacidades de hardware que el software desarrollado permite similares o portado para correr en más de un sistema. Sistemas de microprogramación había utilizado para implementar características de sus sistemas con el fin de permitir que la arquitectura subyacente diferente parece ser el mismo que los demás en una serie. De hecho la mayoría de los 360 después de la 360/40 (excepto el 360/165 y 360/168) se microprogramada implementaciones. Pero pronto otros medios de lograr la compatibilidad de las aplicaciones se han demostrado ser más significativo.

La enorme inversión en software de estos sistemas de hecho desde 1960 causó la mayoría de los fabricantes de equipo original para continuar el desarrollo de sistemas operativos compatibles con el hardware. El notable los sistemas operativos compatibles centrales incluyen:

[ editar ] Las microcomputadoras

PC-DOS era un sistema operativo a principios ordenador personal que incluía una interfaz de línea de comandos.
Mac OS de Apple Computer se convirtió en el primer sistema operativo generalizado para ofrecer una interfaz gráfica de usuario. Muchas de sus características, tales como ventanas y los iconos más tarde se convertiría en algo común en interfaces gráficas de usuario.

Los primeros microordenadores no tienen la capacidad o necesidad de los sistemas operativos elaborados que se han desarrollado para mainframes y minis, los sistemas operativos se desarrollaron minimalista, a menudo cargada de ROM y conocido como monitores. Una notable temprana basada en disco del sistema operativo era el CP / M , que contó con el apoyo de muchos microordenadores temprano y fue imitado de cerca en MS-DOS , que se hizo muy popular como el sistema operativo elegido para el IBM PC (versión de IBM que se llamaba IBM DOS o PC DOS ), sus sucesores haciendo Microsoft . En los años 80, Apple Computer Inc. (ahora Apple Inc. ) abandonó su popular Apple II serie de microcomputadores para presentar el Apple Macintosh equipo con una innovadora interfaz de usuario gráfica (GUI) para el sistema operativo Mac OS .

La introducción del Intel 80386 CPU chip con 32 bits de la arquitectura y la paginación de las capacidades, a condición de ordenadores personales con la capacidad de ejecutar múltiples tareas sistemas operativos como los de antes minicomputadoras y mainframes . Microsoft respondió a este proceso mediante la contratación de Dave Cutler , que había desarrollado el VMS sistema operativo de Digital Equipment Corporation . Él conduciría al desarrollo de la Windows NT sistema operativo, que continúa sirviendo como la base para el funcionamiento de la línea de los sistemas de Microsoft. Steve Jobs , co-fundador de Apple Inc. , comenzó de NeXT Computer Inc., que desarrolló el tipo Unix NEXTSTEP del sistema operativo. NEXTSTEP más tarde sería adquirida por Apple Inc. y se utiliza, junto con el código de FreeBSD como el núcleo de Mac OS X.

El proyecto GNU fue iniciado por el activista y el programador Richard Stallman con el objetivo de un completo software libre de reemplazo a la propiedad de UNIX el sistema operativo. Si bien el proyecto tuvo un gran éxito en duplicar la funcionalidad de las distintas partes de UNIX, el desarrollo de la GNU Hurd núcleo resultó ser improductivo. En 1991, el finés de informática estudiante Linus Torvalds , con la colaboración de voluntarios colaboran a través de Internet, lanzó la primera versión del kernel de Linux . Se fusionó luego con el GNU espacio de usuario y componentes de software del sistema para formar un sistema operativo completo. Desde entonces, la combinación de los dos componentes principales por lo general ha sido denominada como "Linux" por la industria del software, una convención de nomenclatura que Stallman y la Free Software Foundation se oponen a, prefiriendo el nombre de GNU / Linux. Berkeley Software Distribution, conocida como BSD , es el derivado de UNIX distribuido por la Universidad de California, Berkeley, a partir de la década de 1970. De distribución gratuita y portado a muchos miniordenadores, con el tiempo también se ganó un siguiente para su uso en PCs, principalmente FreeBSD , NetBSD y OpenBSD .

[ editar ] Ejemplos de sistemas operativos

[ editar ] Unix y Unix-como sistemas operativos

Evolución de Unix de sistemas

Ken Thompson escribió B , basada principalmente en BCPL , que se utiliza para escribir Unix, basado en su experiencia en el MULTICS proyecto. B fue reemplazado por el C , y Unix se convirtió en una familia numerosa y compleja de los sistemas operativos relacionados entre sí que han influido en todos los sistemas operativos modernos (ver Historia ). El Unix de la familia es un grupo diverso de sistemas operativos, con varias de las principales sub-categorías que incluyen System V , BSD y GNU / Linux . El nombre " UNIX "es una marca registrada de The Open Group , que otorga licencias para su uso con cualquier sistema operativo que se ha demostrado que se ajustan a sus definiciones. "Unix" es comúnmente utilizado para referirse a la amplia serie de sistemas operativos que se asemejan a los originales de Unix.

Sistemas de tipo Unix se ejecutan en una amplia variedad de arquitecturas. Se utilizan en gran medida de los servidores en los negocios, así como estaciones de trabajo en el ámbito académico y de entornos de ingeniería. Gratis variantes de Unix, como GNU / Linux y BSD , son muy populares en estas áreas.

Algunas variantes de Unix de HP, HP-UX e IBM AIX están diseñados para funcionar sólo en hardware de ese proveedor. Otros, como Solaris , se puede ejecutar en varios tipos de hardware, incluyendo x86 de servidores y PC. Apple Mac OS X , un híbrido del núcleo basado en la variante BSD derivados de NeXTSTEP , Mach y FreeBSD , ha sustituido al anterior (no Unix) de Apple Mac OS.

Unix interoperabilidad se buscó mediante el establecimiento de la POSIX estándar. El estándar POSIX se pueden aplicar a cualquier sistema operativo, a pesar de que fue creado originalmente para diferentes variantes de Unix.

[ editar ] BSD y sus descendientes

El primer servidor de la World Wide Web funcionó en NeXTSTEP, basado en BSD.

Un subgrupo de la familia Unix es la Berkeley Software de Distribución de la familia, que incluye FreeBSD , NetBSD y OpenBSD . Estos sistemas operativos se encuentran más comúnmente en servidores web , aunque también puede funcionar como un sistema operativo de ordenador personal. Internet debe gran parte de su existencia a la BSD, ya que muchos de los protocolos de ahora comúnmente utilizado por las computadoras para conectar, enviar y recibir datos a través de una red se aplicó de forma generalizada y refinado en BSD. La World Wide Web también fue demostrada por primera vez en una serie de equipos que ejecutan un sistema operativo basado en BSD llamado NextStep .

BSD tiene sus raíces en Unix. En 1974, la Universidad de California, Berkeley instaló su primer sistema Unix. Con el tiempo, los estudiantes y el personal en el departamento de ciencias de la computación se empezó a agregar nuevos programas para facilitar las cosas, tales como editores de texto. Cuando Berkeley recibió nuevas VAX computadoras en 1978 con Unix instalado, los estudiantes de la escuela modificado Unix aún más con el fin de aprovechar las posibilidades del hardware de la computadora. La Defense Advanced Research Projects Agency de los EE.UU. Departamento de Defensa se ??interesó y decidió financiar el proyecto. Muchas escuelas, corporaciones y organizaciones gubernamentales se dieron cuenta y comenzaron a utilizar la versión Unix de Berkeley de lugar de la oficial distribuido por AT & T.

Steve Jobs , a la salida de Apple Inc. en 1985, formado de NeXT Inc. , una compañía que fabrica computadoras de alta gama que se ejecutan en una variante de BSD llamado NeXTSTEP . Uno de estos ordenadores fue usado por Tim Berners-Lee como el servidor web primero en crear la World Wide Web.

Desarrolladores como Keith Bostic alentó el proyecto para reemplazar cualquier código no libre que se originó con los Laboratorios Bell. Una vez hecho esto, sin embargo, AT & T demandó. Finalmente, después de dos años de disputas legales, el proyecto BSD salió adelante y dio lugar a una serie de derivados libres, como FreeBSD y NetBSD . En esta espera de dos años, GNU y Linux apareció.

[ editar ] Plan 9

Ken Thompson , Dennis Ritchie y Douglas McIlroy en los Laboratorios Bell diseñó y desarrolló el lenguaje de programación C para crear el sistema operativo Unix. Los programadores de Bell Labs, desarrollaron Plan 9 y la Inferno , que fueron diseñados para los modernos entornos distribuidos. Plan 9 ha sido diseñado desde el principio para ser un sistema operativo de red, y que los gráficos integrados, a diferencia de Unix, lo que añadido estas características en el diseño posterior. En la actualidad se distribuye bajo la Licencia Pública Lucent . Inferno fue vendida a Vita Nuova Holdings, y ha sido publicado bajo una licencia GPL / MIT.

[ editar ] Linux y GNU

Ubuntu , una común GNOME desktop de distribución Linux
Kubuntu , un común KDE escritorio de distribución Linux

Linux (o GNU / Linux ) es un sistema operativo tipo Unix que puede ser utilizado en una amplia gama de dispositivos, desde los superordenadores a los relojes de pulsera. El kernel Linux está liberado bajo una licencia de código abierto, por lo que cualquiera puede leer y modificar su código. Se ha modificado para funcionar con una gran variedad de productos electrónicos. Aunque las estimaciones sugieren que Linux se utiliza en el 1,82% de todos los ordenadores personales, [5] [6] que ha sido ampliamente adoptado para su uso en servidores de [7] y los sistemas integrados [8] (como los teléfonos celulares). Linux Unix ha reemplazado en la mayoría de los lugares [ que? ], y se utiliza en los 10 superordenadores más potentes del mundo. [9] El kernel de Linux se utiliza en algunas distribuciones más populares, tales como Red Hat , Debian , Ubuntu , Linux Mint y Google 's Android .

El proyecto GNU es una colaboración entre la masa de programadores que buscan crear un sistema operativo completamente libre y abierto, que era similar a Unix, pero con el código completamente original. Fue creada en 1983 por Richard Stallman , y es responsable de muchas de las partes de la mayoría de las variantes de Linux. Por esta razón, algunos afirman que el producto combinado del kernel de Linux y la colección de software GNU es más correctamente llamado GNU / Linux . Miles de piezas de software para prácticamente todos los sistemas operativos están licenciados bajo la Licencia Pública General de GNU . Mientras tanto, el kernel de Linux comenzó como un proyecto paralelo de Linus Torvalds , un estudiante universitario de Finlandia. En 1991, Torvalds comenzó a trabajar en ella, y se publicará la información sobre su proyecto de un grupo de noticias para los estudiantes de informática y programadores. Él recibió una ola de apoyo y voluntarios que ha llevado a crear un núcleo de pleno derecho. Los programadores de GNU tomaron nota, y los miembros de ambos proyectos trabajaron para integrar el acabado partes GNU con el núcleo Linux con el fin de crear un sistema operativo completo.

[ editar ] Google Chrome OS

Chrome es un sistema operativo basado en el kernel de Linux y diseñado por Google . Chrome objetivos de los usuarios que se pasan la mayor parte de su tiempo en Internet, es técnicamente sólo un navegador web con ninguna otra aplicación y se basa en las aplicaciones de Internet (o aplicaciones web ) que se utiliza en el navegador web para llevar a cabo tareas tales como procesamiento de textos y medios de visualización .

[ editar ] Mac OS X

La interfaz de usuario estándar de Mac OS X

Mac OS X es una línea de sistemas operativos parcialmente propiedad gráfico desarrollado, comercializado y vendido por Apple Inc. , el último de los cuales se pre-cargado en todo momento de envío Macintosh computadoras. Mac OS X es el sucesor del original de Mac OS , que había sido principal sistema operativo de Apple desde 1984. A diferencia de su predecesor, el Mac OS X es un UNIX sistema operativo basado en la tecnología que se han desarrollado en el de NeXT a través de la segunda mitad de la década de 1980 y hasta el de Apple compró la compañía a principios de 1997.

El sistema operativo fue lanzado por primera vez en 1999, como Mac OS X Server 1.0 , con una versión de escritorio orientado ( Mac OS X v10.0 ) después de marzo de 2001. Desde entonces, seis más clara "cliente" y "servidor" de las ediciones de Mac OS X han sido liberados, siendo el más reciente de Mac OS X 10.7 , el cual fue puesto a disposición el 20 de julio de 2011. Las emisiones de Mac OS X se nombran después de los grandes felinos , la versión actual de Mac OS X es "León".

La edición del servidor, Mac OS X Server , es arquitectura idéntica a su contraparte de escritorio, pero por lo general se ejecuta en la línea de Apple de Macintosh servidor de hardware. Mac OS X Server incluye la gestión de grupos de trabajo y las herramientas de administración de software que proporcionan un acceso simplificado a los principales servicios de red , incluyendo un agente de transferencia de correo , un servidor Samba , un LDAP servidor, un servidor de nombres de dominio , entre otros. En Mac OS X v10.7 León , todos los aspectos del servidor de Mac OS X Server se han integrado en la versión cliente. [10]

[ editar ] Microsoft Windows

Windows 7 , se muestra aquí, es la última versión de Windows.

Microsoft Windows es una familia de propiedad de los sistemas operativos diseñados por Microsoft Corporation y dirigida principalmente a las computadoras Intel basados ??en arquitectura, con un estimado de 88.9 por ciento de cuota total de uso en los ordenadores conectados Web. [11] [12] [13] [6] En la actualidad, el versión más utilizada de la familia Windows es Windows XP , [14] publicado el 25 de octubre de 2001. La última versión es Windows 7 para estaciones de trabajo y Windows Server 2008 R2 para los servidores.

Microsoft Windows se originó en 1985 como una aplicación que se ejecuta en la parte superior de MS-DOS , que era el sistema operativo estándar incluidos en la mayoría de las computadoras personales arquitectura Intel en el momento. En 1995, Windows 95 fue lanzado, la combinación de MS-DOS 7.0 con Windows en el mismo medio, eliminando la necesidad de conseguir una separada licencia de MS-DOS. Mantener el legado mucho, se podría ejecutar en modo real de MS-DOS [15] [16] y 16 bits de Windows 3.x [17] drivers. Windows Me , lanzado en 2000, fue la última versión de Windows de la familia Windows 95. Las versiones posteriores se han basado en el Windows NT kernel . Las versiones actuales de Windows se ejecutan en IA-32 y x86-64 microprocesadores , aunque Windows 8 apoyará la arquitectura ARM. En el pasado, Windows NT apoyado algunos no arquitecturas Intel.

Ediciones de servidor de Windows se utilizan ampliamente. En los últimos años, Microsoft ha invertido un importante capital en un esfuerzo por promover el uso de Windows como un entorno operativo de servidor. Sin embargo, el uso de Windows en los servidores no está tan extendida como en ordenadores personales, como Windows compite con Linux y BSD para la cuota de mercado. [18] [19]

[ editar ] Otros

Sistemas operativos más antiguos que todavía se utilizan en los nichos de mercado incluyen OS / 2 de IBM y Microsoft, Mac OS , el precursor no Unix a Mac OS X de Apple, BeOS , XTS-300 . Algunos, sobre todo Haiku , RISC OS , MorphOS , AmigaOS 4 y FreeMiNT se continúan desarrollando las plataformas para las comunidades minoritarias y entusiasta de aplicaciones especializadas. OpenVMS antes de diciembre , todavía está en desarrollo activo por Hewlett-Packard . Sin embargo, otros sistemas operativos se utilizan casi exclusivamente en el ámbito académico, para el funcionamiento de los sistemas educativos o para realizar investigaciones sobre los conceptos del sistema operativo. Un ejemplo típico de un sistema que cumple los dos roles es MINIX , mientras que, por ejemplo, la singularidad se utiliza exclusivamente para la investigación.

[ editar ] Componentes

Los componentes de un sistema operativo de todos los existentes a fin de que las diferentes partes de un equipo de trabajo juntos. Todos los software de bases de datos financieros a la película de redacción tiene que pasar por el sistema operativo con el fin de utilizar cualquiera de los equipos, ya sea tan simple como un ratón o el teclado o tan complejo como una conexión a Internet.

[ editar ] Kernel

Un núcleo se conecta el software de aplicación para el hardware de una computadora.

With the aid of the firmware and device drivers , the operating system provides the most basic level of control over all of the computer's hardware devices. It manages memory access for programs in the RAM , it determines which programs get access to which hardware resources, it sets up or resets the CPU's operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.

[ edit ] Program execution

The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify development and execution of application programs. Executing an application program involves the creation of a process by the operating system kernel which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program which then interacts with the user and with hardware devices.

[ edit ] Interrupts

Interrupts are central to operating systems, as they provide an efficient way for the operating system to interact with and react to its environment. The alternative — having the operating system "watch" the various sources of input for events (polling) that require action — can be found in older systems with very small stacks (50 or 60 bytes) but are unusual in modern systems with large stacks. Interrupt -based programming is directly supported by most modern CPUs. Interrupts provide a computer with a way of automatically saving local register contexts, and running specific code in response to events. Even very basic computers support hardware interrupts, and allow the programmer to specify code which may be run when that event takes place.

When an interrupt is received, the computer's hardware automatically suspends whatever program is currently running, saves its status, and runs computer code previously associated with the interrupt; this is analogous to placing a bookmark in a book in response to a phone call. In modern operating systems, interrupts are handled by the operating system's kernel . Interrupts may come from either the computer's hardware or from the running program.

When a hardware device triggers an interrupt, the operating system's kernel decides how to deal with this event, generally by running some processing code. The amount of code being run depends on the priority of the interrupt (for example: a person usually responds to a smoke detector alarm before answering the phone). The processing of hardware interrupts is a task that is usually delegated to software called device driver , which may be either part of the operating system's kernel, part of another program, or both. Device drivers may then relay information to a running program by various means.

A program may also trigger an interrupt to the operating system. If a program wishes to access hardware for example, it may interrupt the operating system's kernel, which causes control to be passed back to the kernel. The kernel will then process the request. If a program wishes additional resources (or wishes to shed resources) such as memory, it will trigger an interrupt to get the kernel's attention.

[ edit ] Modes

Privilege rings for the x86 available in protected mode . Operating systems determine which processes run in each mode.

Modern CPUs support multiple modes of operation. CPUs with this capability use at least two modes: protected mode and supervisor mode . The supervisor mode is used by the operating system's kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is written and erased, and communication with devices like graphics cards. Protected mode, in contrast, is used for almost everything else. Applications operate within protected mode, and can only use hardware by communicating with the kernel, which controls everything in supervisor mode. CPUs might have other modes similar to protected mode as well, such as the virtual modes in order to emulate older processor types, such as 16-bit processors on a 32-bit one, or 32-bit processors on a 64-bit one.

When a computer first starts up, it is automatically running in supervisor mode . The first few programs to run on the computer, being the BIOS , bootloader and the operating system have unlimited access to hardware - and this is required because, by definition, initializing a protected environment can only be done outside of one. However, when the operating system passes control to another program, it can place the CPU into protected mode .

In protected mode , programs may have access to a more limited set of the CPU's instructions. A user program may leave protected mode only by triggering an interrupt, causing control to be passed back to the kernel . In this way the operating system can maintain exclusive control over things like access to hardware and memory.

The term "protected mode resource" generally refers to one or more CPU registers, which contain information that the running program isn't allowed to alter. Attempts to alter these resources generally causes a switch to supervisor mode, where the operating system can deal with the illegal operation the program was attempting (for example, by killing the program).

[ edit ] Memory management

Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already used by another program. Since programs time share, each program must have independent access to memory.

Cooperative memory management, used by many early operating systems, assumes that all programs make voluntary use of the kernel 's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen any more, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails, it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs or viruses may purposefully alter another program's memory, or may affect the operation of the operating system itself. With cooperative memory management, it takes only one misbehaved program to crash the system.

Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging . All methods require some level of hardware support (such as the 80286 MMU), which doesn't exist in all computers.

In both segmentation and paging, certain protected mode registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses will trigger an interrupt which will cause the CPU to re-enter supervisor mode , placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the kernel will generally resort to terminating the offending program, and will report the error.

Windows 3.1-Me had some level of memory protection, but programs could easily circumvent the need to use it. A general protection fault would be produced, indicating a segmentation violation had occurred; however, the system would often crash anyway.

[ edit ] Virtual memory

Many operating systems can "trick" programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.

The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks.

If a program tries to access memory that isn't in its current range of accessible memory, but nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault .

When the kernel detects a page fault it will generally adjust the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application's memory is stored, or even whether or not it has actually been allocated yet.

In modern operating systems, memory which is accessed less frequently can be temporarily stored on disk or other media to make that space available for use by other programs. This is called swapping , as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand.

[ edit ] Multitasking

Multitasking refers to the running of multiple independent computer programs on the same computer; giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer's time to execute.

An operating system kernel contains a piece of software called a scheduler which determines how much time each program will spend executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the CPU and memory. Later, control is returned to the kernel through some mechanism, so that another program may be allowed to use the CPU. This so-called passing of control between the kernel and applications is called a context switch .

An early model which governed the allocation of time to programs was called cooperative multitasking . In this model, when control is passed to a program by the kernel, it may execute for as long as it wants before explicitly returning control to the kernel. This means that a malicious or malfunctioning program may not only prevent any other programs from using the CPU, but it can hang the entire system if it enters an infinite loop .

Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well.

The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the CPU. This implies that all programs must be limited in how much time they are allowed to spend on the CPU without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above sections on Interrupts and Dual Mode Operation.)

On many single user operating systems cooperative multitasking is perfectly adequate, as home computers generally run a small number of well tested programs. Windows NT was the first version of Microsoft Windows which enforced preemptive multitasking, but it didn't reach the home user market until Windows XP (since Windows NT was targeted at professionals).

[ edit ] Disk access and file systems

Filesystems allow users and programs to organize and sort files on a computer, often through the use of directories (or "folders")

Access to data stored on disks is a central feature of all operating systems. Computers store data on disks using files , which are structured in specific ways in order to allow for faster access, higher reliability, and to make better use out of the drive's available space. The specific way in which files are stored on a disk is called a file system , and enables files to have names and attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree .

Early operating systems generally supported a single type of disk drive and only one kind of file system. Early file systems were limited in their capacity, speed, and in the kinds of file names and directory structures they could use. These limitations often reflected limitations in the operating systems they were designed for, making it very difficult for an operating system to support more than one file system.

While many simpler operating systems support a limited range of options for accessing storage systems, operating systems like UNIX and GNU/Linux support a technology known as a virtual file system or VFS. An operating system such as UNIX supports a wide array of storage devices, regardless of their design or file systems , allowing them to be accessed through a common application programming interface (API). This makes it unnecessary for programs to have any knowledge about the device they are accessing. A VFS allows the operating system to provide programs with access to an unlimited number of devices with an infinite variety of file systems installed on them, through the use of specific device drivers and file system drivers.

A connected storage device , such as a hard drive , is accessed through a device driver . The device driver understands the specific language of the drive and is able to translate that language into a standard language used by the operating system to access all disk drives. On UNIX, this is the language of block devices .

When the kernel has an appropriate device driver in place, it can then access the contents of the disk drive in raw format, which may contain one or more file systems. A file system driver is used to translate the commands used to access each specific file system into a standard set of commands that the operating system can use to talk to all file systems. Programs can then deal with these file systems on the basis of filenames, and directories/folders, contained within a hierarchical structure. They can create, delete, open, and close files, as well as gather various information about them, including access permissions, size, free space, and creation and modification dates.

Various differences between file systems make supporting all file systems difficult. Allowed characters in file names, case sensitivity , and the presence of various kinds of file attributes makes the implementation of a single interface for every file system a daunting task. Operating systems tend to recommend using (and so support natively) file systems specifically designed for them; for example, NTFS in Windows and ext3 and ReiserFS in GNU/Linux. However, in practice, third party drives are usually available to give support for the most widely used file systems in most general-purpose operating systems (for example, NTFS is available in GNU/Linux through NTFS-3g , and ext2/3 and ReiserFS are available in Windows through FS-driver and rfstool ).

Support for file systems is highly varied among modern operating systems, although there are several common file systems which almost all operating systems include support and drivers for. Operating systems vary on file system support and on the disk formats they may be installed on. Under Windows, each file system is usually limited in application to certain media; for example, CDs must use ISO 9660 or UDF , and as of Windows Vista , NTFS is the only file system which the operating system can be installed on. It is possible to install GNU/Linux onto many types of file systems. Unlike other operating systems, GNU/Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc (CD,DVD...), an USB key, or even contained within a file located on another file system.

[ edit ] Device drivers

A device driver is a specific type of computer software developed to allow interaction with hardware devices. Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. It is a specialized hardware-dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.

The key design goal of device drivers is abstraction . Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, operating systems essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these operating system mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver will ensure that the device appears to operate as usual from the operating system's point of view.

Under versions of Windows before Vista and versions of Linux before 2.6, all driver execution was co-operative, meaning that if a driver entered an infinite loop it would freeze the system. More recent revisions of these operating systems incorporate kernel preemption, where the kernel interrupts the driver to give it tasks, and then separates itself from the process until it receives a response from the device driver, or gives it more tasks to do.

[ edit ] Networking

Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing , files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer's operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer's graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer's command line interface.

Client/server networking involves a program on a computer somewhere which connects via a network to another computer, called a server. Servers offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server's network address [ disambiguation needed ] . Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel.

Many operating systems support one or more vendor-specific or open networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation , and Microsoft-specific protocols ( SMB ) on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access. Protocols like ESound , or esd can be easily extended over the network to provide sound from local applications, on a remote system's sound hardware.

[ edit ] Security

A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.

The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between "privileged" and "non-privileged", systems commonly have a form of requester identity , such as a user name. To establish identity there may be a process of authentication . Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all (such as reading files over a network share). Also covered by the concept of requester identity is authorization ; the particular services and resources accessible by the requester once logged into a system are tied to either the requester's user account or to the variously configured groups of users to which the requester belongs.

In addition to the allow/disallow model of security, a system with a high level of security will also offer auditing options. These would allow tracking of requests for access to resources (such as, "who has been reading this file?"). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.

External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. External requests are often passed through device drivers to the operating system's kernel, where they can be passed onto applications, or carried out directly. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select computer systems being considered for the processing, storage and retrieval of sensitive or classified information .

Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security. At the front line of security are hardware devices known as firewalls or intrusion detection/prevention systems. At the operating system level, there are a number of software firewalls available, as well as intrusion detection/prevention systems. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.

An alternative strategy, and the only sandbox strategy available in systems that do not meet the Popek and Goldberg virtualization requirements , is the operating system not running user programs as native code, but instead either emulates a processor or provides a host for a p-code based system such as Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read. Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing.

[ edit ] User interface

A screenshot of the Bourne Again Shell command line. Each command is typed out after the 'prompt', and then its output appears below, working its way down the screen. The current command prompt is at the bottom.
A screenshot of the KDE graphical user interface. Programs take the form of images on the screen, and the files, folders (directories), and applications take the form of icons and symbols. A mouse is used to navigate the computer.

Every computer that is to be operated by an individual requires a user interface . The user interface is not actually a part of the operating system—it generally runs in a separate program usually referred to as a shell , but is essential if human interaction is to be supported. The user interface requests services from the operating system that will acquire data from input hardware devices , such as a keyboard , mouse or credit card reader , and requests operating system services to display prompts , status messages and such on output hardware devices , such as a video monitor or printer . The two most common forms of a user interface have historically been the command-line interface , where computer commands are typed out line-by-line, and the graphical user interface , where a visual environment (most commonly with windows, buttons, icons and a mouse pointer ) is present.

[ edit ] Graphical user interfaces

Most of the modern computer systems support graphical user interfaces (GUI), and often include them. In some computer systems, such as the original implementation of Mac OS , the GUI is integrated into the kernel .

While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of context switches required for the GUI to perform its output functions. Other operating systems are modular , separating the graphics subsystem from the kernel and the Operating System. In the 1980s UNIX, VMS and many others had operating systems that were built this way. GNU/Linux and Mac OS X are also built this way. Modern releases of Microsoft Windows such as Windows Vista implement a graphics subsystem that is mostly in user-space; however the graphics drawing routines of versions between Windows NT 4.0 and Windows Server 2003 exist mostly in kernel space. Windows 9x had very little distinction between the interface and the kernel.

Many computer operating systems allow the user to install or create any user interface they desire. The X Window System in conjunction with GNOME or KDE is a commonly found setup on most Unix and Unix-like (BSD, GNU/Linux, Solaris) systems. A number of Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included Windows shell , but the shell itself cannot be separated from Windows.

Numerous Unix-based GUIs have existed over time, most derived from X11. Competition among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort to standardize in the 1990s to COSE and CDE failed for various reasons, and were eventually eclipsed by the widespread adoption of GNOME and KDE. Prior to free software -based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination (and was the basis upon which CDE was developed).

Graphical user interfaces evolve over time. For example, Windows has modified its user interface almost every time a new major version of Windows is released, and the Mac OS GUI changed dramatically with the introduction of Mac OS X in 1999. [ 20 ]

[ edit ] Real-time operating systems

A real-time operating system (RTOS) is a multitasking operating system intended for applications with fixed deadlines ( real-time computing ). Such applications include some small embedded systems , automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems.

An early example of a large-scale real-time operating system was Transaction Processing Facility developed by American Airlines and IBM for the Sabre Airline Reservations System .

Embedded systems that have fixed deadlines use a real-time operating system such as VxWorks , PikeOS , eCos , QNX , MontaVista Linux and RTLinux . Windows CE is a real-time operating system that shares similar APIs to desktop Windows but shares none of desktop Windows' codebase [ citation needed ] . Symbian OS also has an RTOS kernel (EKA2) starting with version 8.0b.

Some embedded systems use operating systems such as Palm OS , BSD , and GNU/Linux , although such operating systems do not support real-time computing.

[ edit ] Operating system development as a hobby

Operating system development is one of the most complicated activities in which a computing hobbyist may engage. A hobby operating system may be classified as one whose code has not been directly derived from an existing operating system, and has few users and active developers . [ 21 ]

In some cases, hobby development is in support of a " homebrew " computing device, for example, a simple single-board computer powered by a 6502 microprocessor . Or, development may be for an architecture already in widespread use. Operating system development may come from entirely new concepts, or may commence by modeling an existing operating system. In either case, the hobbyist is his/her own developer, or may interact with a small and sometimes unstructured group of individuals who have like interests.

Examples of a hobby operating system include ReactOS and Syllable .

[ edit ] Diversity of operating systems and portability

Application software is generally written for use on a specific operating system, and sometimes even for specific hardware. When porting the application to run on another OS, the functionality required by that application may be implemented differently by that OS (the names of functions, meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise maintained .

This cost in supporting operating systems diversity can be avoided by instead writing applications against software platforms like Java , or Qt for web browsers. These abstractions have already borne the cost of adaptation to specific operating systems and their system libraries .

Another approach is for operating system vendors to adopt standards. For example, POSIX and OS abstraction layers provide commonalities that reduce porting costs.

[ editar ] Véase también

[ editar ] Referencias

  1. ^ Stallings, p. 6.
  2. ^ Dhotre, p. 1
  3. ^ "Operating System Market Share" . Net Applications . http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=10 .  
  4. ^ Hansen, pp. 4-7
  5. ^ Usage share of operating systems
  6. ^ a b "Top 5 Operating Systems from January to April 2011" . StatCounter. October 2009 . http://gs.statcounter.com/#os-ww-monthly-201101-201104-bar . Retrieved November 5, 2009 .  
  7. ^ IDC report into Server market share
  8. ^ GNU/Linux still top embedded OS
  9. ^ TOP500 List – November 2010 (1–100) | TOP500 Supercomputing Sites
  10. ^ http://www.apple.com/macosx/lion/
  11. ^ "Global Web Stats" . Net Market Share, Net Applications. May 2011 . http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8 . Retrieved 2011-5-7 .  
  12. ^ "Global Web Stats" . W3Counter, Awio Web Services. September 2009 . http://www.w3counter.com/globalstats.php . Retrieved 2009-10-24 .  
  13. ^ "Operating System Market Share" . Net Applications. October 2009 . http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8 . Retrieved November 5, 2009 .  
  14. ^ "66% of all Windows users still use Windows XP" . http://www.conceivablytech.com/3227/business/66-of-all-windows-users-still-use-windows-xp/ . Retrieved November 18, 2010 .  
  15. ^ http://support.microsoft.com/kb/130179/EN-US
  16. ^ http://support.microsoft.com/kb/134748/en
  17. ^ http://support.microsoft.com/kb/163354/en
  18. ^ "Operating System Share by Groups for Sites in All Locations January 2009" . http://news.netcraft.com/SSL-Survey/CMatch/osdv_all .  
  19. ^ "Behind the IDC data: Windows still No. 1 in server operating systems" . ZDNet. 2010-02-26 . http://blogs.zdnet.com/microsoft/?p=5408 .  
  20. ^ Poisson, Ken. "Chronology of Personal Computer Software" . Retrieved on 2008-05-07. Last checked on 2009-03-30.
  21. ^ "My OS is less hobby than yours" . Osnews . December 21, 2009 . http://www.osnews.com/story/22638/My_OS_Is_Less_Hobby_than_Yours . Retrieved December 21, 2009 .  


[ editar ] Enlaces externos

Herramientas personales
Espacios de nombres
Variantes
Puntos de vista
Acciones
Navegación
Interacción
Caja de herramientas
Imprimir / exportar
Idiomas

mk.gd - Translate any webpage in real-time - This webpage has been translated in order to make it available in another language, view original page

View this page in: Afrikaans, Albanian, Arabic, Belarusian, Bulgarian, Catalan, Chinese (Simp), Chinese (Trad), Croatian, Czech, Danish, Dutch, English, Estonian, Filipino, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Macedonian, Malay, Maltese, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Welsh, Yiddish

Content and any subsequent copyright is upheld by the third-party - contact@mk.gd