Estimacin del uso de sistemas operativos segn una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente: W3counter). Un sistema operativo (SO) es el programa o conjunto de programas que efectan la gestin de los procesos bsicos de un sistema informtico, y permite la normal ejecucin del resto de las operaciones.1 Ntese que es un error comn muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusin en el mismo trmino de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interaccin con el sistema operativo, tambin llamado ncleo o kernel. Uno de los ms prominentes ejemplos de esta diferencia, es el ncleo Linux, que es el ncleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisin, se debe a la modernizacin de la informtica llevada a cabo a finales de los 80, cuando la filosofa de estructura bsica de funcionamiento de los grandes computadores2 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) ms sencillo de gestionar.3 (Vase AmigaOS, beOS o MacOS como los pioneros4 de dicha
moderni i n, cuando los Ami a, fueron bauti ados con el sobrenombre de Video Toasters5 por su capacidad para la Edici n de vdeo en entorno multitarea round robin, con gesti n de miles de colores e interfaces intuitivos para diseo en 3D. Uno de los propsitos del sistema operativo que gestiona el ncleo intermediario consiste en gestionar los recursos de locali acin y proteccin de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayora de los aparatos electrnicos que utili an microprocesadores para funcionar. (tel fonos mviles, reproductores de DVD, computadoras, radios, etc.).
Contenido
[ocultar]
y
y y
1 Perspectiva histrica o 1.1 Problemas de explotacin y soluciones iniciales o 1.2 Monitores residentes o 1.3 Sistemas con almacenamiento temporal de E/S o 1.4 Spoolers 2 Perspectiva histrica o 2.1 Sistemas operativos multiprogramados 3 Llamadas al sistema operativo o 3.1 Modos de ejecucin en un CPU o 3.2 Llamadas al sistema o 3.3 Bibliotecas de interfaz de llamadas al sistema 4 Interrupciones y excepciones o 4.1 Tratamiento de las interrupciones o 4.2 Importancia de las interrupciones o 4.3 Excepciones 4.3.1 Clases de excepciones 4.3.2 Importancia de las excepciones 5 Componentes de un sistema operativo o 5.1 Gestin de procesos o 5.2 Gestin de la memoria principal o 5.3 Gestin del almacenamiento secundario o 5.4 El sistema de E/S o 5.5 Sistema de archivos o 5.6 Sistemas de proteccin o 5.7 Sistema de comunicaciones o 5.8 Programas de sistema o 5.9 Gestor de recursos 6 Clasificacin o 6.1 Administracin de tareas o 6.2 Administracin de usuarios o 6.3 Manejo de recursos o 6.4 Ejemplos de Sistemas Operativos ( ordenadores ) o 6.5 Ejemplos de Sistemas Operativos ( Dispositivos Moviles ) 7 Vase tambin
y y y
Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecucin secuencial. Segn fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organizacin de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residan en memoria y que gestionaban la ejecucin de una cola de trabajos.
Un monitor residente estaba compuesto por un cargador, un Intrprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.
Un programa escribe su salida en un rea de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicacin calcula depositando la salida en el buffer 2. La salida desde el buffer 1 termina y el nuevo clculo tambin. Se inicia la salida desde el buffer 2 y otro nuevo clculo dirige su salida al buffer 1. El proceso se puede repetir de nuevo.
Los problemas surgen si hay muchas ms operaciones de clculo que de E/S (limitado por la CPU) o si por el contrario hay muchas ms operaciones de E/S que clculo (limitado por la E/S).
[editar] Spoolers
Se solapa el clculo de unos trabajos con la entrada/salida de otros trabajos. Se pueden mantener en memoria varios programas. Se asigna el uso de la CPU a los diferentes programas en memoria.
Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que ste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
y y y
Administrar la memoria. Gestionar el uso de la CPU (planificacin). Administrar el uso de los dispositivos de E/S.
Cuando desempea esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.
Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.
Modo usuario: el CPU podr ejecutar slo las instrucciones del juego restringido de las aplicaciones. Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
Esto se hace utilizando instrucciones mquina diseadas especficamente para este cometido, distintas de las que se usan para las llamadas de funcin.
Algn dispositivo de E/S necesita atencin. Se ha producido una situacin de error al intentar ejecutar una instruccin del programa (normalmente de la aplicacin).
En ambos casos, la accin realizada no est ordenada por el programa de aplicacin, es decir, no figura en el programa. Segn los dos casos anteriores tenemos las interrupciones y la excepciones:
y y
Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar que la operacin de la que se estaba ocupando, ya ha terminado. Excepcin: una situacin de error detectada por la CPU mientras ejecutaba una instruccin, que requiere tratamiento por parte del SO.
El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicacin, mientras otra permanece a la espera de que concluya una operacin en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se contine ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar seales de interrupcin. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). Un ejemplo de sincronismo por interrupcin es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carcter, se codifica en el registro de datos del dispositivo y adems se activa un bit del registro de estado quien crea una interrupcin en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atencin a la interrupcin correspondiente. El teclado almacena el carcter en el vector de memoria intermedia ( tambin llamado buffer) asociada al teclado y despierta el proceso que haba en el estado de espera de la operacin de entrada/salida.
[editar] Excepciones
Cuando la CPU intenta ejecutar una instruccin incorrectamente construida, la unidad de control lanza una excepcin para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupcin, la instruccin en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. [editar] Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones:
y y y y
El cdigo de operacin puede ser incorrecto. Se intenta realizar alguna operacin no definida, como dividir por cero. La instruccin puede no estar permitida en el modo de ejecucin actual. La direccin de algn operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.
[editar] Importancia de las excepciones El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecucin de la CPU y los mecanismos de proteccin de la memoria, que las aplicaciones realicen operaciones que no les estn permitidas. En cualquier caso, el tratamiento especfico de una excepcin lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y ste es el que trata la situacin como convenga. Es bastante frecuente que el tratamiento de una excepcin no retorne al programa que se estaba ejecutando cuando se produjo la excepcin, sino que el SO aborte la ejecucin de
ese programa. Este factor depende de la pericia del programador para controlar la excepcin adecuadamente.
Crear y destruir los procesos. Parar y reanudar los procesos. Ofrecer mecanismos para que se comuniquen y sincronicen.
La gestin de procesos podra 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 despus 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 ms antiguas.
Conocer qu partes de la memoria estn siendo utilizadas y por quin. Decidir qu procesos se cargarn en memoria cuando haya espacio disponible. Asignar y reclamar espacio de memoria cuando sea necesario.
programas y datos. Tambin es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:
y y y y
Planificar los discos. Gestionar el espacio libre. Asignar el almacenamiento. Verificar que los datos se guarden en orden
Construir y eliminar archivos y directorios. Ofrecer funciones para manipular archivos y directorios. Establecer la correspondencia entre archivos y unidades de almacenamiento. Realizar copias de seguridad de archivos.
Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la informacin que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc. Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante informacin ya que el tamao mximo de un fichero con un Sistema de Archivos FAT32 est limitado a 4 gigabytes, sin embargo, en un sistema NTFS el tamao es considerablemente mayor.
Distinguir entre uso autorizado y no autorizado. Especificar los controles de seguridad a realizar. Forzar el uso de estos mecanismos de proteccin.
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envo y recepcin de informacin a travs de las interfaces de red. Tambin hay que crear y mantener puntos de comunicacin que sirvan a las aplicaciones para enviar y recibir informacin, y crear y mantener conexiones virtuales entre aplicaciones que estn ejecutndose localmente y otras que lo hacen remotamente.
Manipulacin y modificacin de archivos. Informacin del estado del sistema. Soporte a lenguajes de programacin. Comunicaciones.
La CPU (Unidad Central de Proceso, donde est alojado el microprocesador). Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). Los discos (o memoria secundaria). Los procesos (o programas en ejecucin). y en general todos los recursos del sistema.
[editar] Clasificacin
[editar] Administracin de tareas
y
Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuar hacindolo hasta su finalizacin y/o interrupcin. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perifricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.
Monousuario: Si slo permite ejecutar los programas de un usuario al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan mtodos de proteccin de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Centralizado: Si permite usar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perifricos... ) de ms de una computadora al mismo tiempo.
Sistemas operativos
Los Sistemas Operativos se pueden categorizar por su tecnologa, su propietario o licenciatario, el estado de desarrollo, su uso o por muchas otras caractersticas. En la prctica, muchos de estos grupos se solapan.
Contenido
[ocultar]
y
1 Por Propietario o 1.1 Acorn Computers o 1.2 ADAFComputers o 1.3 Amiga o 1.4 Apollo Computer o 1.5 Apple Inc. o 1.6 Atari o 1.7 BAE Systems o 1.8 Be Incorporated o 1.9 Burroughs Corporation o 1.10 Convergent Technologies o 1.11 Digital/Tandem Computers/Compaq/HP o 1.12 Fujitsu o 1.13 Green Hills Software o 1.14 Hai u Inc.
y y y y y y y
y y y
1.15 Hewlett-Packard 1.16 Honeywell 1.17 Intel Corporation 1.18 IBM 1.19 International Computers Limited 1.20 LynuxWorks (originalmente Lynx Real-time Systems) 1.21 Micrium Inc. 1.22 Microsoft 1.23 Novell 1.24 QANTEL 1.25 RCA 1.26 ReactOS Foundation 1.27 RoweBots 1.28 SCO / The SCO Group 1.29 Unicoi Systems 1.30 Wind River Systems 1.31 Basados en Lisp 1.32 Otros 1.32.1 Otros sistemas basados en UNIX o compatibles con POSIX o 1.33 SDC (Sistemas de Datos Cientficos) o 1.34 TRON Project o 1.35 UNIVAC (ms tarde Unisys) o 1.36 Wavecom 2 No propietarios o 2.1 *NIX 2.1.1 Sistemas operativos *NIX y otros compatibles con POSIX 2.1.2 *NIX Libres/Cdigo abierto 2.1.3 Otros o 2.2 No *NIX 2.2.1 Sistemas de investigacin no *NIX 2.2.2 Sistemas libres/de cdigo abierto no *NIX 3 DOS 4 De red 5 Sistemas operativos Web 6 Genricos/commodidades y otros 7 Para Elektronika BK 8 Aficin 9 Integrados/empotrados o 9.1 PDAs o 9.2 Reproductores de msica o 9.3 Telfonos inteligentes o 9.4 Routers o 9.5 Microcontroladores, tiempo real 10 Basados en capacidad o 10.1 LEGO Mindstorms 11 Vase tambin 12 Enlaces externos
o o o o o o o o o o o o o o o o o o
Acorn MOS (en el BBC Micro y BBC Master) Arthur ARX RISC OS RISC iX (basado en 4.3BSD)
[editar] ADAFComputers
y
FS OS
[editar] Amiga
y
AmigaOS o AmigaOS 1.0-3.9 (68k) o AmigaOS 4 (PowerPC) AmigaOS 4.0 AmigaOS 4.1 Amiga Unix (tcc Amix)
AEGIS Domain/OS Uno de los primeros sistemas basados en red. Corra sobre hardware Apollo/Domain. Adquirido por Hewlett-Packard.
y y y
Apple II series o Apple DOS o ProDOS Apple III o SOS (Sophisticated Operating System) Apple Lisa o Lisa OS Macintosh o Mac OS System 1 System 2 System 3 System 4 System 5 System 6 System 7 (nombre en clave "Big Bang") Mac OS 8 Mac OS 9
Unix-like (*NIX) A/UX Darwin (cdigo abierto) iOS (antes "iPhone OS") MkLinux Mac OS X Mac OS X v10.0 (tcc Mac OS X 10.0 "Cheetah") Mac OS X v10.1 (tcc Mac OS X 10.1 "Puma") Mac OS X v10.2 (tcc Mac OS X 10.2 "Jaguar") Mac OS X v10.3 (tcc Mac OS X 10.3 "Panther") Mac OS X v10.4 (tcc Mac OS X 10.4 "Tiger") Mac OS X v10.5 (tcc Mac OS X 10.5 "Leopard") Mac OS X v10.6 (tcc Mac OS X 10.6 "Snow Leopard") Mac OS X Server Newton OS
[editar] Atari
y y y
XTS-400
[editar] Be Incorporated
y y
BeOS BeIA Zeta (copia ilegal de BeOS desarrollada originalmente por yellow TAB e interrumpida por magnussoft)
o
Burroughs MCP
OS/8 ITS (para los PDP-6 y PDP-10) Multi-Programming Executive (de HP) TOPS-10 (para el PDP-10) WAITS (para los PDP-6 y PDP-10) TENEX (de BBN, para el PDP-10)
y y y y y y y y y
TOPS-20 (para el PDP-10) RSTS/E (sistema multiusuario y de tiempo compartido, para el PDP-11) RSX-11 (sistema multiusuario y multitarea para el PDP-11) RT-11 (sistema monousuario para el PDP-11) VMS (creado por DEC, adquirido por HP) para el mini-ordenador VAX, Alpha y el Intel Itanium 2; renombrado como OpenVMS) Domain/OS (originalmente llamado Aegis, creado por Apollo Computer, que fue adquirida por HP) RTE (Real Time Executive, corra en el HP 1000) TSB (Time Share Basic, corra en los HP de la serie 2000) Unix-like (*NIX) o Digital UNIX (derivado del OSF/1, se convirti en el Tru64 UNIX de HP) o HP-UX o Ultrix NonStop Kernel (Creado originalmente por Tandem Computers para sus plataformas, llamado Guardian). Soporta la ejecucin simultnea de: o Guardian o OSS (Open System Services)
[editar] Fujitsu
y
Towns OS
INTEGRITY INTEGRITY-178B Una versin certificada DO-178B del INTEGRITY. -velOSity Un microkernel ligero.
Haiku (sistema operativo); proyecto de cdigo abierto que busca recrear el sistema operativo BeOS.
[editar] Hewlett-Packard
y y y
HP Real-Time Environment; corra sobre mquinas HP1000. HP Multi-Programming Executive; (MPE, MPE/XL, y MPE/iX) corra sobre los miniordenadores HP3000 y HPe3000. HP-UX; corra sobre mquinas HP9000 e Itanium.
[editar] Honeywell
y y y
GCOS Multics OLERT-E; OnLine Executive for Real Time - Corra sobre ordenadores Honeywell DDP-516.
iRMX; sistema operativo en tiempo real creado originalmente para soportar las familias de procesadores Intel 8080 and 8086.
[editar] IBM
y
OS/360 y sucesores o OS/360 (Primer SO oficial enfocado a la arquitectura System/360) PCP (Primary Control Program) MFT (Multi-Programming Fixed Tasks) MVT (Multi-Programming Variable Tasks) o OS/VS (El port oficial del OS/360 enfocado a la arquitectura de memoria virtual de los System/370.) SVS (Single Virtual Storage (tanto el VS1 como el VS2 comenzaron somo sistemas SVS)) OS/VS1 (Operating System/Virtual Storage 1, versin de memoria virtual del OS/MFT) OS/VS2 (Operating System/Virtual Storage 2, versin de memoria virtual del OS/MVT) OS/VS2 R2 (llamado Multiple Virtual Storage, MVS, elimin toda necesidad del VS1) o MVS/SE o MVS/SP (MVS System Package) o MVS/XA (31 bits) o MVS/ESA o OS/390 (Mejora del MVS, con un entorno *NIX.) o z/OS (versin del OS/390 que soportaba direccionamientos z/Architecture, de 64bits.) DOS/360 y sucesores o BOS/360 (Versin inicial del DOS/360, brevemente disponible) o TOS/360 (Similar al BOS, capaz de arrancar y funcionar con dispositivos de cintas de la serie 2x00) o DOS/360 (Disk Operating System). El primer SO disponible para el System/360 debido a problemas en el proyecto OS/360) DOS/360/RJE (DOS/360 con una extensin del programa de control que posibilitaba el control de dispositivos de entrada remotos conectados por lneas de telfono dedicadas.) o DOS/VS (El primer DOS ofertado para sistemas de la serie System/370) o DOS/VSE (actualizacin del DOS/VS) o VSE/SP (rebautizado; es el DOS/VSE) o VSE/ESA (DOS/VSE con un soporte de memoria virtual expandido para direcciones de 32 bits) o z/VSE (La ltima versin de la vieja serie DOS. Soporta direcciones de 64 bits, multiproceso, multiprograma, SNA, TCP/IP y otras caractersticas) CP/CMS y sucesores o CP-40/CMS (para System/360 Modelo 40)
CP-67/CMS (para System/360 Modelo 67) VM/370 Virtual Machine / Conversational Monitor System, VM (sistema operativo) para el System/370 con memoria virtual. o VM/XA VM (sistema operativo) eXtended Architecture para el System/370 con memoria virtual extendida. o VM/ESA Virtual Machine /Extended System Architecture (ESA), con direccionamientos de 32 bits para la serie VM. o z/VM Versin z/Architecture del SO VM (direccionamientos de 64 bits).
o o y
TPF para mainframes de IBM o ACP (Airline Control Program) o TPF (Transaction Processing Facility) o z/TPF (extensin z/Architecture) Unix-like para mainframes de IBM o UTS o AIX/370 o AIX/ESA o Linux (Linux para System z, z/Linux) o OpenSolaris (OpenSolaris para IBM System z) Otros Sistemas Operativos para mainframes de IBM o IBSYS (SO basado en cintas para los IBM 7090 e IBM 7094) o CTSS (Compatible Time-Sharing System, desarrollado en el Centro de Computacin del MIT) o RTOS/360 (Real Time Operating System, corra sobre 5 sistemas personalizados System/360/75s de la NASA. Constituyeron el punto lgido del desarrollo del OS/360.) o MTS (Michigan Terminal System para el System/360 de IBM) o TSS/360 (Time Sharing System para el System/360 de IBM) o MUSIC/SP (desarrollado por la Universidad McGill para el IBM System/370) o IJMON (Un monitor arrancable para cargar programas en los IBM 1400 e IBM 1800.) IBM Series/1 o EDX (Event Driven Executive) o RPS (Realtime Programming System) IBM 8100 o DPCX (Distributed Processing Control eXecutive) o DPPX (Distributed Processing Programming eXecutive) IBM System/34, IBM System/36 o SSP (System Support Program) IBM System/38 o CPF (Control Program Facility) IBM System/88
AS/400, iSeries, System i, Power Systems i Edition o OS/400 (descendiente del System/38 CPF, incluye un entorno System/36 SSP.) o i5/OS (mejora el OS/400 con caractersticas significativas de interoperabilidad) o IBM i (mejora el i5/OS.) UNIX en IBM POWER o AIX (Advanced Interactive eXecutive) o AOS (una versin BSD Unix) IBM PC y sucesores con arquitectura x86 o PC DOS / IBM DOS PC DOS 1.x, 2.x, 3.x (desarrollado conjuntamente con Microsoft) IBM DOS 4.x, 5.0 (desarrollado conjuntamente con Microsoft) PC DOS 6.x, 7, 2000 o OS/2 OS/2 1.x (desarrollado conjuntamente con Microsoft) OS/2 2.x OS/2 Warp V3 OS/2 Warp V4 eComStation Others IBM Workplace OS (SO basado en microkernel, desarrollado y cancelado en los aos 90) o K42 (SO de investigacin de cdigo abierto para sistemas multiprocesador PowerPC o x86) o Dynix (desarrollado por Sequent, y usado en los IBM NUMA-Q)
o
GEORGE 2/3/4 GEneral ORGanisational Environment, utilizado en los ICL 1900 ICL VME
LynxOS
MicroC/OS-II
[editar] Microsoft
y
y y y
MSX-DOS (desarrollado por MS Japan para el ordenador de 8 bits MSX) MS-DOS (desarrollado conjuntamente con IBM, versiones 1.06.22) Windows CE (SO para ordenadores de mano, dispositivos integrados, y aplicaciones en tiempo real) o Windows CE 3.0 o Windows Mobile (basado en Windows CE) o Windows CE 5.0 o Windows CE 6.0
y o o o
y y
y y
Windows basados en DOS o Windows 1.0 o Windows 2.0 o Windows 3.0 (la primera versin que tuvo un impacto comercial notable) o Windows 3.1 o Windows 3.2 (edicin exclusivamente china) Familia Windows 9x o Windows 95 (tcc Windows 4.0) (Nombre en clave: Chicago) o Windows 98 (tcc Windows 4.1) (Nombre en clave: Memphis) o Windows Millennium Edition (normalmente abreviado a Windows Me) (tcc Windows 4.9) OS/2 (desarrollado conjuntamente con IBM) Windows NT o Windows NT 3.1 o Windows NT 3.5 o Windows NT 3.51 o Windows NT 4.0 o Windows 2000 (tcc Windows NT 5.0) o Windows XP (tcc Windows NT 5.1) (Nombre en clave: Whistler) o Windows Server 2003 (aka Windows NT 5.2) (Nombre en clave: Whistler Server) o Windows Fundamentals for Legacy PC o Windows Vista (tcc Windows NT 6.0) (Nombre en clave: Longhorn) o Windows Home Server o Windows Server 2008 (tcc Windows NT 6.0) (Nombre en clave: Longhorn Server) o Windows 7 (Nombre en clave: Blackcomb) (renombrado posteriormente como Vienna) o Windows Preinstallation Environment (WinPE) Singularity Midori
[editar] Novell
y y
SUSE Linux
[editar] QANTEL
y
[editar] RCA
y
TSOS
ReactOS; ReactOS tiene como meta lograr compatibilidad binaria con aplicaciones y drivers de dispositivos para sistemas NT (XP, 2003) usando una arquitectura similar y proveyendo una interfaz pblica completa y equivalente.
[editar] RoweBots
y y y
Xenix Xenix 286 Xenix 386 SCO Unix SCO Open Desktop SCO OpenServer 5 UnixWare 2.x UnixWare 7 SCO OpenServer 6
VxWorks
[editar] Otros
y y y y y y y y y y y y y y y y
EOS (Operating System) EMBOS GCOS PC-MOS/386 SINTRAN III THEOS TinyOS TRS-DOS NewDos/80 TX990/TXDS, DX10 y DNOS (sistemas operativos para los miniordenadores TI-990) MAI Basic Four Michigan Terminal System MUSIC/SP TSX-32 OS ES Prolog-Dispatcher (utilizado para controlar la nave espacial sovitica Buran)
Aegis Amiga Unix Clix Coherent DC/OSx DG/UX DNIX DSPnano RTOS INTERACTIVE UNIX IRIX MeikOS NeXTSTEP OS-9 OS9/68K OS-9000 OSF/1 OpenStep QNX Rhapsody RISC/os RMX SCO UNIX SINIX Solaris SunOS SUPER-UX System V System V/AT, 386 Trusted Solaris UniFLEX
y y
CP (Control Program)
TRON
[editar] Wavecom
y
Open AT OS
[editar] No propietarios
[editar] *NIX
[editar] Sistemas operativos *NIX y otros compatibles con POSIX
y y
Minix Plan 9
o o
Inferno Plan B
y y y
Solaris Unix (SO desarrollado por los Laboratorios Bell en los aos 70) Xinu
BSD FreeBSD DesktopBSD PC-BSD DragonFly BSD o NetBSD OpenBSD GNU Linux o GNU/Linux: Sistema Operativo de Software de Cdigo Abierto (software Libre) combinado con el Ncleo Linux
o
y y
y y y y y y y
[editar] Otros
y
TUNIS
[editar] No *NIX
[editar] Sistemas de investigacin no *NIX
y y y y y
y y y y y y y
Amoeba Croquet House ILIOS EROS o CapROS o Coyotos L4 Mach MONADS o SPEEDOS Nemesis Singularity Spring V
[editar] DOS
y
y y
86-DOS o PC DOS o MS-DOS DR-DOS o Concurrent DOS o Multiuser DOS FreeDOS ProDOS
y y
[editar] De red
y y y y y y y y y y y y y
Cambridge Ring CSIRONET CTOS Data ONTAP SAN-OS Enterprise OS Fabric OS JUNOS NetWare NOS Novell Open Enterprise Server OliOS Plan 9 o Inferno o Plan B o TurboDOS XPATH OS
amoebaOS DesktopTwo G.ho.st YouOS Browser OS eyeOS Jooce Glide OS 3.0 Craythur Goowy Orca Purefect
BLIS/COBOL Bluebottle BS1000 by Siemens AG BS2000 by Siemens AG BS3000 by Siemens AG CP/M o CP/M-80
o o o o o y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y
FLEX9 FutureOS GEM GEOS JavaOS JNode JX KERNAL MERLIN MorphOS nSystem NetWare Oberon (sistema operativo) OSD/XC by Fujitsu-Siemens OS-IV Pick PRIMOS Sinclair QDOS SkyOS SSB-DOS SymbOS Symobi TripOS o TurboDOS UCSD p-System UMIX VOS VOS VM2000 VisiOn VPS/VM aceos Miraculix
y y y y y y y
y y y
MicroDOS MK-DOS NORD NORTON-BK RAMON PascalDOS RT-11 o RT-11SJ o OS BK-11 Turbo-DOS BKUNIX OS/A WASP
[editar] Aficin
y y y y y y y y y y y y y y y y y
AROS AtheOS DexOS DSPnano RTOS EROS FAMOS HelenOS KolibriOS LoseThos LSE/OS MenuetOS Mbius operating system NewOS Syllable Desktop Unison RTOS Visopsys TajOS
[editar] Integrados/empotrados
y y y y y y y y y y y y y y
A/ROSE DSPnano RTOS Embedded Linux FreeBSD FreeRTOS Inferno LynxOS pSOS Nucleus RTOS CMX uC/OS eCos RTEMS MINIX 3
y y y y y y y y y y y y y
.NET Micro Framework OS/RT Open AT OS polyBSD QNX RTXC Quadros RTOS ROM-DOS T2 SDE Unison RTOS VxWorks RTLinux Windows XP Embedded Windows CE
[editar] PDAs
y y y y y
y y y y y y
Inferno Palm OS Palm webOS EPOC Windows CE o Pocket PC o Windows Mobile Linux DOS Newton OS VT-OS Internet Tablet OS Magic Cap
y y y y y
Qtopia LiMo Platform iPhone OS JavaFX Mobile Palm OS Symbian OS Windows CE o Windows Mobile
o o
[editar] Routers
y y y y y y y y y y y y y y y y
AlliedWare AlliedWare Plus AirOS CatOS Cisco IOS CyROS DD-WRT Inferno IOS-XR IronWare JunOS RouterOS ROX ScreenOS Timos Unison RTOS
BeRTOS ChibiOS/RT ChorusOS Contiki DSPnano RTOS eCos FreeRTOS Fusion RTOS INtime RTOS para Windows iRMX Inferno Integrity LUnix LynxOS MenuetOS MontaVista Nucleus OS-9 Operating System Embedded OSEK
y y y y y y y y y y y y y y y y y y y
OS/RT Phoenix-RTOS Prex QNX RTAI RTEMS RTLinux RTXC Quadros RTOS SCIOPTA RTOS ThreadX TRON Project Clinux uKOS OS++ Unison Operating System VRTX VxWorks XMK Xenomai
KeyKOS o EROS
CapROS Coyotos
y y
MONADS o SPEEDOS V
or
Project
Labs
2009
2001
1984
Aspectos generales
5.1 6.0 buil buil Mac ltim d 5.0 OS X d a 2010 Fourt 260 con 6.1 600 v10.6 6.0 versi .0 h 0 Servic R1/Alpha build 0 ("Sno 9.2 Sque 14 11.1 7 4.0 10 n 2 Adel Editi con e 7600 Serv w eze establ ie on Serv Pack Leopa ice e 4 ice rd") Pack Pac 2 k3 U$S 90 U$S (Ho 143, 199.9 me 526 9 Basi $2 (Hom c) 152. Gratuito e 179 89 hasta Premi (Ho MX 7.5.5, 9.2 um) me (Ho 29 o cuesta 299.9 Pre me) Gratu Grat Grat Grat Grat Grat Grat Grat Costo ? Gratuito preins 15,60 9 miu 217, ito uito uito uito uito uito uito uito talado para (Profe m) 593 dueos de ssiona 229 $3 Mac OS l) (Bus 263. X 319.9 ines 895 9 s) MX (Ulti 349 (Pro mate) (Ulti ) mate ) No No Libre Libr Parcia No No Libre: Libre Libr Libr Libr Libre Libr e Libre Licen No No lment Libr Libr Licencia No Libre : e: e: e: : e: Semi : cia Libre e Libre e e MIT GPL GPL GPL GPL BSD BSD libre: LPL softwa CDD re L libre Hogar Hoga Hog Estac Hog Hog , r, Hog Hog ar, iones Hogar, Hogar ar, ar, Servi de diseo cienc ar, ar, cienc Tipo diseo, , nego neg Hogar, Servi dore traba , ia, cienc cienc ia, Nego ciencia, Servi de negoc cios ocio dore s, negoci diseo, servi ia, ia, servi jo, usuari cios negocios, dores ios y y s y s nego servi os, negocios dores servi servi dore servidores o redes rede rede cios dores servid , dore dore s, y redes s s s redes ores y redes s , redes , , embe
nego cios
bido HPC
Aspectos tcnicos
Tipo Mach Ninguno/ Mon Mon Mon Mon Mon Mon Mon Mon de Hbri Hbr Hbr Hbri Hbrido (Micr Micronc oltic oltic oltic oltic oltic oltic oltic oltic ncle do ido ido do modular oncle leo o o o o o o o o o o) Intel x86, AM D64, DEC Alph Intel a, x86, AR Intel MIS IA64, H, Intel AMD HP3 x86, Intel 64, 00, AM IA32 DEC HP D64, , Alph PA, Spar Pow a, Land c, erPC ARM isk, Ultra , Intel Intel , HP Luna Arqui Intel Spar AR x86, x86, PA- Intel Intel Intel -88k, tectur x86, Intel c, M, Intel Intel Intel x86, RISC x86, x86, x86, Mac x86 Pow DEC as de Intel x86 x86 Intel x86-64, , AM AM AM 68k, 64, PowerPC erPC Alph proce x86 64, 64, x86 PowerPC, MIPS D64, D64, D64, Powe sador 64, Power (slo a, (big Pow Pow Pow rPC, Intel Intel ARM soport Intel PC en MIP endia erPC erPC erPC Moto IA6 IA6 adas IA64 versi S, n), 4 4 rola n Spar MIPS VME 2.5.1 c, (little 68k, ), Mot Moto endia Sun4 orola rola n), d, 6800 Powe VME Sun4 0 rPC, 88k, m IMB SGI, S/390 Spar , c, Sparc Ultra Spar c, VAX , Zaur us Siste NTFS Berk Berk fossil NTF NT HFS+ HFS/HFS Reis UFS/ ma de NTFS /FAT BFS ext3 ext4 ext4 eley eley /vent S FS /UFS + erFS ZFS archiv 32 FFS FFS i,
os por defect o
Sopor te de sistem as de No archiv o de 16 bits Sopor te de sistem as de S archiv o de 32 bits Sopor te de sistem as de Si archiv o de 64 bits Herra mient a de Wind actual ows izaci Updat n por e defect o
No
No
Si
Si
No
No
Win urpm Wind Softw dow installopti iy repli YaS Fuen Fuen pkga ows are Software onalpacka apt yum RPM s ca/pu T tes tes dd Updat Updat Update ge Drak Upd ll e e ate e
Aspectos grficos
Aplic Apli Apli Apli Aplic Apli Apli Bas Basad Basa Basad Basad acin caci caci caci acin caci caci Entor ado Basado en o en do o en o en el Basado : X n: X n: X n: X : X n: X n: X Apli no en el Ncleo ncleo en el Wind Win Win Win Wind Win Win caci el en el el grfic el hbrido (Quart ncleo ow dow dow dow ow dow dow n: rio ncle ncl ncle o ncl modular o eo o z) Syste Syst Syst Syst Syste Syst Syst eo m em em em m em em Siste Stan Stan KDE CDE ma de Stand Stand Haiku dard dard GN y o venta ard ard (Integrada OS X Macintos GNO Win Win OM KDE GN ? N/A GN rio nas Wind Wind nativame Finder h Finder ME dow dow E OM OM por ows ows nte) s s E E defect o Estilo Estil Estilo Haiku Meta kwin Meta dtw de Aer o clsic (Integrada Meta city con city fvw m Aero Aqua Platinum ? rio Interf o Lun o nativame city con tema con m con nte) tema plast tema az a interf CDE
grfic a de usuari o
az
Clea ik rLoo ks
La ora
Sistema operativo Windows Haiku GNU/Linux GNU Hurd NetWare ReactOS BSD Solaris Mac OS Mac OS X
Contenido
[ocultar]
y y y y y y
[editar] 1960s
y y y
1960
o
1961
o
1965
o
[editar] 1970s
y y y
1970
o
BATCH-11 (PDP-11) OS/8 MFT (sistema operativo) MVT RDOS SVS VM/CMS Alto OS BS2000 CP/M TOPS-20 Apple DOS 3.1 (Primer SO Apple) TripOS VMS Lisp Machine (CADR) POS NLTSS
1971
o
1972
o o o o o
1973
o y o
1976
o o
1978
o o o o
1979
o o
[editar] 1980s
y
1980
o o o o o
OS-9 QDOS SOS XDE (Tajo) (Xerox Development Environment) Xenix MS-DOS Commodore DOS SunOS (1.0) Ultrix Lisa OS Coherent Novell NetWare ProDOS
y y
1981
o
1982
o o o
1983
o o o o
1984
o o o o y
Macintosh OS (System 1.0) MSX-DOS QNX UniCOS AmigaOS Atari TOS MIPS OS AIX GS-OS HP-UX Arthur IRIX (3.0 es la primera versin de SGI) Minix OS/2 (1.0) A/UX (Apple Computer) LynxOS MVS/ESA OS/400 NeXTSTEP (1.0) RISC OS SCO Unix (release 3)
1985
o o o
1986
o o o
1987
o o o o
1988
o o o o
1989
o o o
[editar] 1990s
y
1990
o o o
Amiga OS 2.0 BeOS (v1) OSF/1 ( karla duran OX ) Linux 386BSD 0.1 Amiga OS 3.0 Solaris 2.0 (Sucesor de SunOS 4.x; basado en SVR4) Linux Debian y Linux Slackware Plan 9 (Primera Version) FreeBSD NetBSD Linux RedHat Digital UNIX (aka Tru64 ) OpenBSD OS/390
y y
1991
o
1992
o o o
1993
o o o o
y y
1994
o
1995
o o o
o o y y
Windows 95 Plan 9 (Segunda Version) Windows NT 4.0 Inferno Mac OS 7.6 (El primer Mac OS llamado oficialmente as) SkyOS Mandrake Linux(hoy Conocido como Mandriva Linux ) Solaris 7 (El primer 64-bit de Solaris.) Windows 98 ReactOS 0.0.13 AROS Mac OS 8 ReactOS 0.0.14
1996
o
1997
o o o
1998
o o o o
1999
o o o
[editar] 2000s
y
2000
o o o o o o o
AtheOS Mac OS 9 MorphOS Windows 2000 Windows Me ReactOS 0.0.16 Plan 9 (Tercera Version) Amiga OS 4.0 (May 2001) Mac OS X 10.1 Windows XP z/OS ReactOS 0.0.18 Syllable Mac OS X 10.2 ReactOS 0.0.21 Plan 9 (Cuarta Version) gnulinex Windows Server 2003 Mac OS X 10.3 ReactOS 0.1.5 Ubuntu Linux ReactOS 0.2.4 Mac OS X 10.4 ReactOS 0.2.9
2001
o o o o o
2002
o o o o o
2003
o o o
2004
o o
2005
o o
2006
o o
Windows Vista ReactOS 0.3.0 Mac OS X v10.5 ReactOS 0.3.2 (Versin nunca lanzada) iPhone OS 1.0] ReactOS 0.3.7 Windows Server 2008 iPhone OS 2.0 JNode 0.2.8 Mac OS X v10.6 Windows 7 ReactOS 0.3.10 iPhone OS 3.0 Palm webOS Android
2007
o o o
2008
o o o
2009
o o o o o o o
[e itar] 2010s
y
2010
o o o o o
Windows Home 7 Android 2.1 iOS 4 (la ultima actualizacin es el iOS 4.1) Ubuntu 10.04 Windows Mobile 7.1iOS (sistema operativo)
Un sistema operativo es un conjunto de programas destinado a permitir el uso apropiado de las partes fisicas del ordenador hardware, y de esta manera interactuar con el usuario. Sin un sistema operativo el usuario seria incapaz de poder trabajar con un computador ya que este no seria mas que una conjunto de piezas electronicas sin objetivo, he ahi su importancia Es posible encontrar en el tiempo entre la retirada de un trabajo y el montaje del siguiente. Era sumamente complicado, por el hecho de que eran tarjetas perforadas las cuales las tenia que leer el sistema.
1. Almacenamiento temporal == Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultnea la carga del programa o la salida de datos con la ejecucin de la siguiente tarea. Para ello se utilizaban dos tcnicas, el buffering y el spooling. En los aos 60 se produjeron cambios notorios en varios campos de la informtica, con la aparicin del circuito integrado la mayora orientados a seguir incrementando el potencial de los ordenadores. Para ello se utilizaban tcnicas de lo ms diversas.
Contenido
[ocultar]
y y y y y y y y y
1 Multiprogramacin 2 Tiempo compartido 3 Tiempo real 4 Multiprocesador 5 Sistemas operativos desarrollados 6 Inconvenientes de los sistemas existentes 7 Caractersticas de los nuevos sistemas 8 Sistemas operativos desarrollados 9 Aos 80 o 9.1 Mac OS o 9.2 MS-DOS o 9.3 Microsoft Windows 10 Aos 90 o 10.1 GNU/Linux
[editar] Multiprogramacin
En un sistema multiprogramado la memoria principal alberga a ms de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecucin realiza una operacin de E/S; en lugar de esperar a que termine la operacin de E/S, se pasa a ejecutar otro programa. Si ste realiza, a su vez, otra operacin de E/S, se mandan las rdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera ptima los recursos disponibles.
En este punto tenemos un sistema que hace buen uso de la electrnica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en lnea, utilizando el modo de operacin de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operacin de E/S los programas
ceden la CPU a otro programa, al igual que en la multiprogramacin. Pero, a diferencia de sta, cuando un programa lleva cierto tiempo ejecutndose el sistema operativo lo detiene para que se ejecute otra aplicacin.
[editar] Multiprocesador
Diseo que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultneamente y, potencialmente, pueden interferirse entre s. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas: La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Esta ltima debe lidiar con el problema de la coherencia de cach. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una direccin de memoria, lo hace nicamente sobre su copia local en cach. Si otro microprocesador tiene almacenada la misma direccin de memoria en su cach, resultar que trabaja con una copia obsoleta del dato almacenado. Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen esta capacidad.
inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, as como el tiempo de procesador consumido. Es por esto que se intent hacer hincapi en mejorar las tcnicas ya existentes de multiprogramacin y tiempo compartido.
MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbat del MIT, con General Electric y los laboratorios Bell, que comenz en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarroll inicialmente para el mainframe GE-645, un sistema de 36 bits; despus fue soportado por la serie de mquinas Honeywell 6180.
Fue uno de los primeros. Adems, los traduca a instrucciones de alto nivel destinadas a BDOS.
y
BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.
El hecho de que, aos despus, IBM eligiera para sus PC a MS-DOS supuso su mayor fracaso, por lo que acab desapareciendo.Desde los aos 70 han cambiado los sistemas ya que la ciencia ha desarrollado nuevos conocimientos
[editar] Aos 80
Con la creacin de los circuitos LSI -integracin a gran escala-, chips que contenan miles de transistores en un centmetro cuadrado de silicio, empez el auge de los ordenadores personales. En stos se dej un poco de lado el rendimiento y se busc ms que el sistema operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto reduca la rapidez de las aplicaciones, pero se volvan ms prcticos y simples para los usuarios. En esta poca, siguieron utilizndose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podran destacar: C++ y Eiffel dentro del paradigma de la orientacin a objetos, y Haskell y Miranda en el campo de la programacin declarativa. Un avance importante que se estableci a mediados de la dcada de 1980 fue el desarrollo de redes de computadoras personales que corran sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS(Micro Soft Disk Operating System), escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacan uso del Motorola 68000.
[editar] Mac OS
El lanzamiento oficial del ordenador Macintosh en enero de 1984, al precio de US $1,995 (despus cambiado a $2,495 dlares)[1]. Inclua su sistema operativo Mac OS cuya caractersticas novedosas era una GUI (Graphic User Interface), Multitareas y Mouse. Provoc diferentes reacciones entre los usuarios acostumbrados a la lnea de comandos y algunos tachando el uso del Mouse como juguete.
[editar] MS-DOS
En 1981 Microsoft compr un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirti en la primera versin de MS-DOS (MicroSoft Disk Operating System). A partir de aqu se sucedieron una serie de cambios hasta llegar a la versin 7.1, versin 8 en Windows Milenium, a partir de la cual MS-DOS dej de existir como un componente del Sistema Operativo.
[editar] Aos 90
[editar] GNU/Linux
Este sistema es una versin mejorada de Unix, basado en el estndar POSIX , un sistema que en principio trabajaba en modo comandos. Hoy en da dispone de Ventanas, gracias a un servidor grfico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl o Compiz. Lo que permite utilizar linux de una forma visual atractiva...
Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede aadir al propio sistema operativo del equipo o integrarse con l. Netware de Novell es el ejemplo ms familiar y famoso de sistema operativo de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales.
cleo (informtica)
Para otros usos de este trmino, vase Ncleo. En informtica, un ncleo o kernel (de la raz germnica Kern) es un software que constituye la parte ms importante del sistema operativo.1 2 Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, tambin se encarga de decidir qu programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.
Contenido
[ocultar]
y y
y y y
1 Tcnica 2 Generalidades o 2.1 Funciones generalmente ejercidas por un ncleo o 2.2 Unix 3 Tipos de ncleo o 3.1 Microncleos o 3.2 Ncleos monolticos en contraposicin a microncleos o 3.3 Ncleos hbridos (microncleos modificados) o 3.4 Exoncleos 4 Referencias 5 Vase tambin 6 Enlaces externos
[editar] Tcnica
Cuando se aplica voltaje al procesador de un dispositivo electrnico, ste ejecuta un reducido cdigo en lenguaje ensamblador localizado en una direccin concreta en la memoria ROM (direccin de reset) y conocido como reset code, que a su vez ejecuta una rutina con la que se inicializa el hardware que acompaa al procesador. Tambin en esta fase suele inicializarse el controlador de las interrupciones. Finalizada esta fase se
ejecuta el cdigo de arranque (st t p ), tambin cdigo en lenguaje ensamblador, cuya tarea ms importante es ejecutar el programa principal ( i ()) del software de la aplicacin.3
[e itar] Generali a es
Una visin tpica de la arquitectura de computadores como una serie de capas de abstraccin: hardware, firmware, lenguaje de mquina, ncleo, software de sistema y aplicaciones4 En informtica, el ncleo es el programa informtico que se asegura de:
y y y
La comunicacin entre los programas que solicitan recursos y el hardware. Gestin de los distintos programas informticos (tareas) de una mquina. Gestin del hardware (memoria, procesador, perifrico, forma de almacenamiento, etc.)
La mayora de las interfaces de usuario se construyen en torno al concepto de ncleo. La existencia de un ncleo, es decir, de un nico programa responsable de la comunicacin entre el hardware y el programa informtico, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesad ores. El ncleo tiene grandes poderes sobre la utilizacin de los recursos materiales (hardware), en particular, de la memoria.
explotacin. Pueden establecerse estas funciones del sistema de explotacin tanto en el espacio usuario como en el propio ncleo. Su implantacin en el ncleo se hace en el nico objetivo de mejorar los resultados. En efecto, segn la concepcin del ncleo, la misma funcin llamada desde el espacio usuario o el espacio ncleo tiene un coste temporal obviamente diferente. Si esta llamada de funcin es frecuente, puede resultar til integrar estas funciones al ncleo para mejorar los resultados.
[editar] Unix
Un ncleo Unix es un programa escrito casi en su totalidad en lenguaje C, con excepcin de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Las funciones del ncleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y mltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado ptimo la atencin individual. El ncleo opera como asignador de recursos para cualquier proceso que necesite hacer uso de las facilidades de cmputo.
y y y
Creacin de procesos, asignacin de tiempos de atencin y sincronizacin. Asignacin de la atencin del procesador a los procesos que lo requieren. Administracin de espacio en el sistema de archivos, que incluye: acceso, proteccin y administracin de usuarios; comunicacin entre usuarios y entre procesos, y manipulacin de E/S y administracin de perifricos. Supervisin de la transmisin de datos entre la memoria principal y los dispositivos perifricos.
Reside siempre en la memoria principal y tiene el control sobre la computadora, por lo que ningn otro proceso puede interrumpirlo; slo pueden llamarlo para que proporcione algn servicio de los ya mencionados. Un proceso llama al ncleo mediante mdulos especiales conocidos como llamadas al sistema. Consta de dos partes principales: la seccin de control de procesos y la de control de dispositivos. La primera asigna recursos, programas, procesos y atiende sus requerimientos de servicio; la segunda, supervisa la transferencia de datos entre la memoria principal y los dispositivos del ordenador. En trminos generales, cada vez que algn usuario oprime una tecla de una terminal, o que se debe leer o escribir informacin del disco magntico, se interrumpe al procesador central y el ncleo se encarga de efectuar la operacin de transferencia. Cuando se inicia la operacin de la computadora, debe cargarse en la memoria una copia del ncleo, que reside en el disco magntico (operacin denominada bootstrap). Para ello, se deben inicializar algunas interfaces bsicas de hardware; entre ellas, el reloj que proporciona interrupciones peridicas. El ncleo tambin prepara algunas estructuras de datos que abarcan una seccin de almacenamiento temporal para transferencia de informacin entre terminales y procesos, una seccin para almacenamiento de descriptores de archivos y una variable que indica la cantidad de memoria principal.
A continuacin, el ncleo inicializa un proceso especial, llamado proceso 0. En Unix, los procesos se crean mediante una llamada a una rutina del sistema (fork), que funciona por un mecanismo de duplicacin de procesos. Sin embargo, esto no es suficiente para crear el primero de ellos, por lo que el ncleo asigna una estructura de datos y establece apuntadores a una seccin especial de la memoria, llamada tabla de procesos, que contendr los descriptores de cada uno de los procesos existentes en el sistema. Despus de haber creado el proceso 0, se hace una copia del mismo, con lo que se crea el proceso 1; ste muy pronto se encargar de "dar vida" al sistema completo, mediante la activacin de otros procesos que tambin forman parte del ncleo. Es decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el conocido como despachador, o planificador, que es el responsable de decidir cul proceso se ejecutar y cules van a entrar o salir de la memoria central. A partir de ese momento se conoce el nmero 1 como proceso de inicializacin del sistema, init. El proceso init es el responsable de establecer la estructura de procesos en Unix. Normalmente, es capaz de crear al menos dos estructuras distintas de procesos: el modo monousuario y el multiusuario. Comienza activando el intrprete del lenguaje de control Shell de Unix en la terminal principal, o consola del sistema, proporcionndole privilegios de "superusuario". En la modalidad de un solo usuario la consola permite iniciar una primera sesin, con privilegios especiales, e impide que las otras lneas de comunicacin acepten iniciar sesiones nuevas. Esta modalidad se usa con frecuencia para revisar y reparar sistemas de archivos, realizar pruebas de funciones bsicas del sistema y para otras actividades que requieren uso exclusivo de la computadora. Init crea otro proceso, que espera a que alguien entre en sesin en alguna lnea de comunicacin. Cuando esto sucede, realiza ajustes en el protocolo de la lnea y ejecuta el programa login, que se encarga de atender inicialmente a los nuevos usuarios. Si el nombre de usuario y la contrasea proporcionadas son correctos, entonces entra en operacin el programa Shell, que en lo sucesivo se encargar de la atencin normal del usuario que se dio de alta en esa terminal. A partir de ese momento el responsable de atender al usuario en esa terminal es el intrprete Shell. Cuando se desea terminar la sesin hay que desconectarse de Shell (y, por lo tanto, de Unix), mediante una secuencia especial de teclas (usualmente. < CTL > - D). A partir de ese momento la terminal queda disponible para atender a un nuevo usuario.
Los ncleos monolticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los microncleos (en ingls micro ernel) proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.5 Los ncleos hbri os (mi l s modifi dos) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente. Los exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad graci s al acceso directo o a casi directo al hardware.
[e itar] Microncleos
Esquema del funcionamiento de un microncleo. Art lo pri ip l Mi roncl o El enfoque microncleo consiste en definir una abstraccin muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mnimos, como la gestin de hilos, el espacio de direccionamiento y la comunicacin entre procesos. El objetivo principal es la separacin de la implementacin de los servicios bsicos y de la poltica de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutndose encima del microncleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseo del ncleo. Si falla uno de estos servidores, no se colgar el sistema entero, y se podr reiniciar este mdulo independientemente del resto. Sin embargo, la exis tencia de diferentes mdulos independientes origina retardos en la comunicacin debido a la copia de variables que se realiza en la comunicacin entre mdulos. Algunos ejemplos de microncleos:
y y y
"
y y y y y y y