lunes, 01 de mayo de 2006
Un sistema operativo (SO) es un conjunto de programas o software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera eficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de la máquina desde los niveles más básicos, abstrayéndolo.
Hoy en día un sistema operativo se puede encontrar normalmente en todos los aparatos electrónicos complejos que podamos utilizar sin necesidad de estar conectados a un ordenador y que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y que ésta cumpla con sus funciones; éste es el caso de: teléfonos móviles, reproductores de DVD, minicadenas, autoradios, y muchos más; incluyendo más visiblemente a los ordenadores.
Tabla de contenidos [ocultar]
1 Otra definición
2 Definición coloquial
3 Funciones básicas atribuidas a un sistema operativo
4 Características
5 Sistemas operativos
5.1 AtheOS/Syllable/Cosmoe
5.2 Plan 9
5.3 OSBOS
5.4 SkyOS
5.5 ecOS
5.6 DROPS
5.7 Familia Amiga
5.8 Familia Macintosh
5.9 Familia QNX
5.10 Familia DOS
5.11 Familia Windows
5.12 Familia UNIX
5.12.1 Familia BSD
5.13 Familia Mach
5.14 Familia IBM
5.15 Sistemas operativos académicos o experimentales(betas)
5.16 Librerías para la creación de sistemas operativos
6 Véase también
7 Enlaces externos
Otra definición
Otra definición posible y bastante aceptada define un sistema operativo como una capa compleja entre el hardware y el usuario, concebible también como una máquina virtual, que facilita al usuario o al programador las herramientas e interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los complicados procesos necesarios para llevarlas a cabo. Por ejemplo, un usuario normal simplemente abre los ficheros grabados en un disco, sin preocuparse por la disposición de los bits en el medio físico, los tiempos de espera del motor del disco, la posición de un cabezal, el acceso de otros usuarios, etc.
Aunque es un tema propenso a la discusión, algunos expertos están de acuerdo en que un sistema operativo debe constar de, por lo menos, un conjunto de programas similar al siguiente:
Un compilador de algún lenguaje de programación, en Unix es de C.
Un enlazador.
Un ensamblador.
Un intérprete de comandos.
Una amplia biblioteca del lenguaje de la plataforma.
Un kernel o núcleo.
Definición coloquial
Otra definición, más coloquial, denomina sistema operativo a todo el software que viene con el ordenador antes de que se instale ninguna aplicación. Según esta definición, orientada al usuario final, las herramientas de desarrollo no son necesarias y, sin embargo, se consideran elementos imprescindibles un amplio número de programas orientados a diferentes tareas, como editores de texto, administradores de archivos, navegadores, etc.
En industrias como la manufacturera o de servicios, se denomina sistema operativo a la aplicación de software que se usa como principal fuente de datos de entrada de la compañía, es decir, el sistema que se usa en las operaciones internas.
El Sistema operativo es el encargado de brindar al usuario de manera más fácil, sencilla y amigable la de operar, codificar, interpretar y emitir órdenes al procesador central para que éste realice las tareas necesarias para completar la orden.
Funciones básicas atribuidas a un sistema operativo
Los sistemas operativos, motivados por su condición de capa software que posibilita y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión de la máquina. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en microkernels), podemos reseñar las siguientes:
Gestión de los recursos de la máquina.
Ejecución de servicios para los programas
Ejecución de mandatos (comandos) de los usuarios.
A su vez, los servicios principales ofertados por un sistema operativo, accesibles y manipulables a través de su API de programación, son los siguientes:
Gestión de procesos.
Gestión de memoria.
Gestión de la E/S (Entrada/Salida).
Gestión de archivos y directorios.
Comunicación y sincronización entre procesos.
Seguridad y protección.
Características
Administración de tareas:
Monotarea: Si solamente puede ejecutar un programa (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a funcionar un programa, continuará haciéndolo hasta su finalización o interrupción.
Multitarea: Si es capaz de ejecutar varios programas al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternativa a los programas que los solicitan, de manera que el usuario percibe que todos funcionan a la vez.
Administración de usuarios:
Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos del ordenador. Normalmente estos SS.OO. utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Manejo de recursos:
Centralizado: Si permite utilizar los recursos de un solo ordenador.
Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos... ) de más de un ordenador al mismo tiempo.
Organización interna:
Kernel monolítico (Linux, BSD, skyOS, Windows, Syllable).
Microkernel (BeOS, Mach, Mac OS X, newOS).
Nanokernel (AdeOS, Eros, KeyKOS, Brix-OS).
VOiD (unununium, TUNES, Vapour).
Sasos (Opal, Mungi, BriX).
VM (Merlin, Argante).
Exokernel (MIT exokernel).
Cache kernel (Universidad de Stanford).
Orientado a objetos (Choices).
Sistemas operativos
AtheOS/Syllable/Cosmoe
Plan 9
OSBOS
BeOS
Haiku
Zeta
BlueEyedOS
Cosmoe
BeFree
Sequel
Mockup
SkyOS
ecOS
DROPS
Familia Amiga
AmigaOS 1.x
AmigaOS 2.x
AmigaOS 3.0-3.1
AmigaOS 3.5/3.9
WarpOS (AmigaOS 3.x + subsistema PowerPC)
MorphOS
AmigaOS 4.0
AROS
REXX/OS
Familia Macintosh
Mac OS 8
Mac OS X
Familia QNX
RTOS
Neutrino
RTP
Familia DOS
MS-DOS
DR-DOS
PC-DOS
FreeDOS
Novell DOS
Familia Windows
Windows 95
Windows 98
Windows ME
Windows NT
Windows 2000
Windows 2000 server
Windows XP
Windows Server 2003
Windows CE
Windows Mobile
Windows XP 64 bits
Windows Vista (Longhorn)
Familia UNIX
AIX
AMIX
GNU/Linux
Distribuciones Linux
GNU / Hurd
HP-UX
Irix
Minix
System V
Solaris
UnixWare
LynxOS
Xenix
Digital UNIX
Familia BSD
FreeBSD
PC-BSD
DragonFlyBSD[1]
NetBSD
VINO[2]
OpenBSD
PicoBSD
Darwin
GNU-Darwin
Familia Mach
GNU / Hurd
BSD lites
Mac OS X
NEXTSTEP
YAMIT
MKlinux
Familia IBM
OS/2
eComStation
OS/360
OS/370
OS/390
OS/400
Sistemas operativos académicos o experimentales(betas)
Chorus/Jaluna
Amoeba
MIT Exokernel
BriX
jNode
ReactOS