Académique Documents
Professionnel Documents
Culture Documents
Estimación del uso de sistemas operativos según 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 efectúan la gestión de los
procesos básicos de un sistema informático, y permite la normal ejecución del resto de las
operaciones.1
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas
sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de
ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema
operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta
diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las
llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática
llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los
grandes 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) más sencillo de
gestionar.3 (Véase AmigaOS, beOS o MacOScomo los pioneros4 de dicha modernización, cuando
los Amiga, fueron bautizados con el sobrenombre de Video Toasters5 por su capacidad para
la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces
intuitivos para diseño en 3D.
Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en
gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los
programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría
de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles,
reproductores de DVD, computadoras, radios, etc.).
Contenido
[ocultar]
• 1 Perspectiva histórica
o 1.4 Spoolers
• 2 Perspectiva histórica
• 4 Interrupciones y excepciones
o 4.3 Excepciones
• 6 Clasificación
• 7 Véase también
• 8 Referencias
• 9 Bibliografía
• 10 Enlaces externos
[editar]Perspectiva histórica
Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por
los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en
el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un
avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.
A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video
Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un
Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre
las que se incluyen Babylon 5, Seaquest DSV y Terminator II.6
Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce
como procesamiento por lotes (batch) sin automatizar.
[editar]Monitores residentes
Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.
Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que
automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon
los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de
una cola de trabajos.
Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.
Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU)
o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).
[editar]Spoolers
[editar]Perspectiva histórica
Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por
los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en
el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un
avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.
Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de
rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos
lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del
cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo
que se conoce como Spool (Simultaneous Peripherial Operation On-Line).
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:
Administrar la memoria.
Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del
anterior.
Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las
aplicaciones.
[editar]Llamadas al sistema
Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo
que si ésta se codifica como una llamada de función, cualquier cambio en el SO haría que hubiera
que reconstruir la aplicación.
Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU.
Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y
hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación
del modo anterior en el retorno).
Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido,
distintas de las que se usan para las llamadas de función.
La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa
función es la que realmente hace la llamada al sistema.
[editar]Interrupciones y excepciones
El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a
utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware
el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al
sistema, pudiendo deberse estas llamadas a dos condiciones:
Se ha producido una situación de error al intentar ejecutar una instrucción del programa
(normalmente de la aplicación).
En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no
figura en el programa.
Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación
de la que se estaba ocupando, ya ha terminado.
Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción,
que requiere tratamiento por parte del SO.
La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente
rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los
circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.
En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las
interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).
[editar]Excepciones
Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control
lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una
interrupción, la instrucción 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:
La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus
permisos de uso.
Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que
trata la situación como convenga.
Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba
ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa.
Este factor depende de la pericia del programador para controlar la excepción adecuadamente.
[editar]Gestión de procesos
Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su
tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:
La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a
realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las
tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después
las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de
baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para
solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
Asignar el almacenamiento.
[editar]Sistema de archivos
Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos
almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información
de bases de datos, etc. El SO es responsable de:
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 información
ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a
4 gigabytes, sin embargo, en un sistema NTFS el tamaño es considerablemente mayor.
[editar]Sistemas de protección
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El
SO se encarga de:
[editar]Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y
recepción de información a través de las interfaces de red. También hay que crear y mantener
puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y
mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo
hacen remotamente.
[editar]Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un
entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:
Comunicaciones.
[editar]Gestor de recursos
Como gestor de recursos, el Sistema Operativo administra:
[editar]Clasificación
[editar]Administración de tareas
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á haciéndolo hasta
su finalización y/o interrupción.
Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O.
normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a
los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez,
de forma concurrente.
[editar]Administración de usuarios
[editar]Manejo de recursos
Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos... ) de más de
una computadora al mismo tiempo.
[editar]Véase también
Anexo:Sistemas operativos
Software de sistema
[editar]Referencias
2011.
4. ↑ toastytech.com (ed.): «BeOS 5.0 Personal Edition» (en inglés) (2010). Consultado el
10 de febrero de 2010.
febrero de 2010.
[editar]Bibliografía
[editar]Enlaces externos
Microprocesador
Desde el punto de vista funcional es, básicamente, el encargado de realizar toda operación
aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que
conforman un PC, siguiendo el modelo base de Von Neumann. También es el principal encargado
de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a
muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales
como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.
Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de
control y unaunidad aritmético lógica (ALU), aunque actualmente todo microprocesador también
incluye una unidad de cálculo en coma flotante, (también conocida como "coprocesador
matemático"), que permite operaciones por hardware con números decimales, elevando por ende
notablemente la eficiencia que proporciona sólo la ALU con el cálculo indirecto a través de los
clásicos números enteros.
La "velocidad" del microprocesador suele medirse por la cantidad de operaciones por ciclo de reloj
que puede realizar y en los ciclos por segundo que este último desarrolla, o también en MIPS. Está
basada en la denominada frecuencia de reloj (oscilador). La frecuencia de reloj se mide hercios,
pero dada su elevada cifra se utilizan múltiplos, como el megahercio o elgigahercio.
Cabe destacar que la frecuencia de reloj no es el único factor determinante en el rendimiento, pues
sólo se podría hacer comparativa entre dos microprocesadores de una mismamicroarquitectura.
Hay otros factores muy influyentes en el rendimiento, como puede ser su memoria caché, su
cantidad de núcleos, sean físicos o lógicos, el conjunto de instrucciones que soporta, su
arquitectura, etc; por lo que sería difícilmente comparable el rendimiento de dos procesadores
distintos basándose sólo en su frecuencia de reloj.
Un computador de alto rendimiento puede estar equipado con varios microprocesadores trabajando
en paralelo, y un microprocesador puede, a su vez, estar constituido por varios núcleos físicos o
lógicos. Un núcleo físico se refiere a una porción interna del microprocesador cuasi-independiente
que realiza todas las actividades de una CPU solitaria, un núcleo lógico es la simulación de un
núcleo físico a fin de repartir de manera más eficiente el procesamiento.
Estos últimos años ha existido una tendencia de integrar el mayor número de elementos de la PC
dentro del propio procesador, aumentando así su eficiencia energética y su rendimiento. Una de las
primeras integraciones, fue introducir la unidad de coma flotante dentro del encapsulado, que
anteriormente era un componente aparte y opcional situado también en la placa base, luego se
introdujo también el controlador de memoria, y más tarde un procesador gráfico dentro de la misma
cámara, aunque no dentro del mismo encapsulado. Posteriormente se llegaron a integrar
completamente en el mismo encapsulado (die).
Respecto a esto último, compañías tales como Intel ya planean integrar el puente sur dentro del
microprocesador, eliminando completamente ambos circuitos auxiliares de la placa.
También la tendencia general, más allá del mercado del PC, es integrar varios componentes en un
mismo chip para dispositivos tales como Tablet PC, teléfonos móviles, videoconsolas portátiles, etc.
A estos circuitos integrados "todo en uno" se los conoce como system on a chip; por ejemplo nVidia
Tegra o Samsung Hummingbird, ambos integran microprocesador,unidad de procesamiento
gráfico y controlador de memoria dentro de un mismo circuito integrado.
[editar]Breve historia
Zilog Z80 A.
AMD K6 original.
1974: El SC/MP
1976: El Z80
1996: El AMD K5
Llegan para remplazar los chips Nehalem, con Intel Core i3, Intel
Core i5 e Intel Core i7 serie 2000 y Pentium G.
Intel lanzó sus procesadores que se conocen con el nombre en
clave Sandy Bridge. Estos procesadores Intel Core que no tienen
sustanciales cambios en arquitectura respecto a nehalem, pero si
los necesarios para hacerlos más eficientes y rápidos que los
modelos anteriores. Es la segunda generación de los Intel Core
con nuevas instrucciones de 256 bits, duplicando el rendimiento,
mejorando el desempeño en 3D y todo lo que se relacione con
operación en multimedia. Llegaron la primera semana de Enero
del 2011. Incluye nuevo conjunto de instrucciones denominado
AVX y una GPU integrada de hasta 12 unidades de ejecución
Ivy Bridge es la mejora de sandy bridge a 22 nm. Se estima su
llegada para 2012 y promete una mejora de la GPU, así como
procesadores de sexdécuple núcleo en gamas más altas y
cuádruple núcleo en las más bajas, abandonándose los
procesadores de núcleo doble.
Disco duro
Para otros usos de este término, véase HD.
Disco Duro
Conectado a:
Interfaz SATA
Interfaz SAS
Interfaz USB
Western Digital
Seagate
Samsung
Hitachi
Fujitsu
En informática, un disco duro o disco rígido (en inglés Hard Disk Drive, HDD) es un dispositivo de
almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar
datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira
a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras,
se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la
rotación de los discos.
El primer disco duro fue inventado por IBM en 1956. A lo largo de los años, los discos duros han
disminuido su precio al mismo tiempo que han multiplicado su capacidad, siendo la principal opción
de almacenamiento secundario para PC desde su aparición en los años 60.1 Los discos duros han
mantenido su posición dominante gracias a los constantes incrementos en la densidad de
grabación, que se ha mantenido a la par de las necesidades de almacenamiento secundario.1
Los tamaños también han variado mucho, desde los primeros discos IBM hasta los formatos
estandarizados actualmente: 3,5" los modelos para PCs y servidores, 2,5" los modelos para
dispositivos portátiles. Todos se comunican con la computadora a través del controlador de disco,
empleando una interfaz estandarizado. Los más comunes hoy día son IDE (también llamado ATA o
PATA), SCSI (generalmente usado enservidores y estaciones de trabajo), Serial
ATA y FC (empleado exclusivamente en servidores).
Para poder utilizar un disco duro, un sistema operativo debe aplicar un formato de bajo nivel que
defina una o más particiones. La operación de formateo requiere el uso de una fracción del espacio
disponible en el disco, que dependerá del formato empleado. Además, los fabricantes de discos
duros, SSD y tarjetas flash miden la capacidad de los mismos usando prefijos SI, que emplean
múltiplos de potencias de 1000 según la normativa IEC, en lugar de los prefijos binarios clásicos de
la IEEE, que emplean múltiplos de potencias de 1024, y son los usados mayoritariamente por
los sistemas operativos. Esto provoca que en algunos sistemas operativos sea representado como
múltiplos 1024 o como 1000, y por tanto existan ligeros errores, por ejemplo un Disco duro de 500
GB, en algunos sistemas operativos sea representado como 465 GiB (Según la IEC Gibibyte, o
Gigabyte binario, que son 1024 Mebibytes) y en otros como 465 GB.
Existe otro tipo de almacenamiento que recibe el nombre de Unidades de estado sólido; aunque
tienen el mismo uso y emplean las mismas interfaces, no están formadas por discos mecánicos,
sino por memorias de circuitos integrados para almacenar la información. El uso de esta clase de
dispositivos anteriormente se limitaba a las supercomputadoras, por su elevado precio, aunque hoy
en día ya son muchísimo más asequibles para el mercado doméstico.2