01 15 Sistemas Operativos

Anuncio
Tecnologías de la Información
Software ‐ Programas
Sistema Operativo
Un sistema operativo (SO, frecuentemente OS,
del inglés Operating System) es un programa o
conjunto de programas que en un sistema
informático gestiona los recursos de hardware
y provee servicios a los programas de
aplicación, ejecutándose en modo privilegiado
respecto de los restantes.
Su principal objetivo es
permitir la
comunicación entre el resto de programas y el
usuario y la máquina de forma cómoda y
eficiente; se encarga de gestionar los recursos
del ordenador, esto incluye la gestión del
hardware desde los niveles más básicos.
Tecnologías de la Información
Software ‐ Programas
Componentes del Sistema Operativo
Componentes/Funciones básicos :
• Gestión de Procesos
• Gestión de Memoria
• Gestión de Almacenamiento
• Sistema de Archivos
• Gestión de Entras/Salidas
• Gestión de las Comunicaciones
• Gestión de la Seguridad
• Interfaz con el Usuario
• Utilidades
Tecnologías de la Información
Software ‐ Programas
SO – 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:
• Crear y destruir procesos
• Parar y reanudar procesos
• Ofrecer mecanismos para que los procesos puedan comunicarse y se
sincronicen
La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una
lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo.
Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se
terminen seguir con las de prioridad media y después las de baja. 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.
Tecnologías de la Información
Software ‐ Programas
SO – Gestión de Memoria
La memoria es una gran tabla de palabras o bytes que se referencian cada una
mediante una dirección única. Este almacén de datos de rápido acceso es
compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido
ante fallos del sistema. El SO es el responsable de:
• Conocer qué partes de la memoria están siendo utilizadas y por quién
• Decidir qué procesos se cargarán en memoria cuando haya espacio disponible
• Asignar y reclamar espacio de memoria cuando sea necesario
Cuando la memoria física es insuficiente, el sistema operativo puede crear una
zona de memoria en el disco duro, denominada "memoria virtual". La memoria
virtual permite ejecutar aplicaciones que requieren una memoria superior a la
Memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho
más lenta.
Tecnologías de la Información
Software ‐ Programas
SO – Gestión de Almacenamiento
Un sistema de almacenamiento secundario es necesario, ya que la memoria
principal (almacenamiento primario) es volátil y además muy pequeña para
almacenar todos los programas y datos. También es necesario mantener los datos
que no convenga mantener en la memoria principal. El SO se encarga de:
•
•
•
•
•
•
Planificar los discos.
Gestionar el espacio libre.
Asignar el almacenamiento.
Gestión de Ficheros.
Redundancia y Distribución.
Gestión de Accesos
Tecnologías de la Información
Software ‐ Programas
SO – 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:
• 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 información que se almacena en las memorias (normalmente discos) de
los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT3,
NTFS, XFS, etc.
Tecnologías de la Información
Software ‐ Programas
SO – Gestión de Entradas/Salidas
Consiste en un sistema de almacenamiento
temporal (caché), una interfaz de
manejadores de dispositivos y otra para
dispositivos concretos. El sistema operativo
debe gestionar el almacenamiento temporal
de E/S y servir las interrupciones de los
dispositivos de E/S.
El sistema operativo permite unificar y
controlar el acceso de los programas a los
recursos materiales a través de los drivers
(también conocidos como administradores
periféricos o de entrada/salida).
Tecnologías de la Información
Software ‐ Programas
SO – Gestión de las 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.
El sistema de be soportar los distinto protocolos de los sistemas de
comunicaciones utilizados (en Ethernet TCP/IP) y la configuración de los mismos
(direcciones, mascaras, puertos, …).
Tecnologías de la Información
Software ‐ Programas
SO – Seguridad
El sistema operativo se encarga de la seguridad en relación con la ejecución de
programas garantizando que los recursos sean utilizados sólo por programas y
usuarios que posean las autorizaciones correspondientes.
• Autenticación : es un modo de asegurar que los usuarios son quien ellos dicen que ellos son ‐ que el usuario que intenta realizar funciones en un sistema es de hecho el usuario que tiene la autorización para hacer así.
•
Autorización. Proceso por el cual el sistema autoriza al usuario identificado a acceder a determinados recursos del sistema.
•
Auditoría. Mediante la cual el sistema registra todos y cada uno de los accesos a los recursos que realiza el usuario autorizados o no.
Tecnologías de la Información
Software ‐ Programas
SO – Interfaz con el Usuario
Inicialmente las interfaces de los sistemas operativos se basaban en líneas de comando (CLI),
posteriormente (1984) se introdujeron las interfaces gráficas (Apple, Windows y Unix).
La interfaz gráfica de usuario, conocida también como GUI (del inglés Graphical User
Interface) es un programa informático que actúa de interfaz de usuario, utilizando un
conjunto de imágenes y objetos gráficos para representar la información y acciones
disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual
sencillo para permitir la comunicación con el sistema operativo de un ordenador.
Habitualmente las acciones se realizan mediante manipulación directa, para facilitar la
interacción del usuario con la computadora. Como ejemplos de interfaz gráfica de usuario,
cabe citar los entornos de escritorio Windows, el X‐Window de GNU/Linux o el de Mac OS X,
Aqua.
En el contexto del proceso de interacción persona‐ordenador, la interfaz gráfica de usuario es
el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la
representación del lenguaje visual, una interacción amigable con un sistema informático.
Tecnologías de la Información
Software ‐ Programas
SO – Windows 7 GUI
Tecnologías de la Información
Software ‐ Programas
SO – X Windows GUI
Tecnologías de la Información
Software ‐ Programas
SO – Aqua GUI
Tecnologías de la Información
Software ‐ Programas
SO – Utilidades
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte
intrínseca de él. Ofrecen un entorno útil para el desarrollo y ejecución de
programas, siendo algunas de las tareas que realizan:
•
•
•
•
•
•
•
•
Manipulación y modificación de archivos.
Información del estado y diagnostico del sistema.
Soporte a lenguajes de programación.
Comunicaciones.
Manejo y retoques de imágenes.
Sincronización de dispositivos.
Calculadora.
…
Tecnologías de la Información
Software ‐ Programas
SO – Kernel
El Kernel o núcleo del sistema operativo es un concepto
derivado de los sistemas Unix. Realiza las funciones más
básicas del sistema y está en contacto directo con el hardware.
Tecnologías de la Información
Software ‐ Programas
SO – Kernel
La función principal del kernel es gestionar el hardware del ordenador y sus recursos y permitir a otros programas ejecutarse y
utilizar esos recursos. Normalmente los recursos son :
•
La Unidad Central de Proceso (CPU). Es la parte más “nuclear” del ordenador, responsable de ejecutar las instrucciones
de los programas. El kernel toma a responsabilidad de decidir en todo momento cual de los muchos programas que se
están ejecutando debe ser asignado al procesador (a cual de ellos o a cual núcleo dentro de un procesador) y durante
cuanto tiempo.
•
La Memoria Principal. La memoria se utiliza para almacenar tanto los programas como los datos. Normalmente ambos
necesitan estar presentes en memoria para poder ejecutar un programa. A menudo varios programas necesitaran
acceder a la memoria simultáneamente, en muchos casos demandaran más memoria de la que dispone el ordenador. El
kernel es responsable de decidir que parte de la memoria puede usar cada proceso y determinar que hacer cuando no
hay memoria suficiente.
•
Cualquier dispositivo de entrada/salida (I/O) instalado en el ordenador, como el teclado, el ratón, los discos, los
dispositivos USB, impresoras, pantallas, tarjetas de red, … .El kernel asigna recursos a las aplicaciones para poder realizar
cualquier E/S al dispositivo adecuado y facilita métodos para utilizar los dispositivos (normalmente abstrayendo los datos
del hardware que las aplicaciones no necesitan conocer).
Aspectos clave en la gestión de recursos son la definición de un dominio de ejecución (espacio de direcciones) y el mecanismo
de protección para utilizar los recurso dentro de ese dominio. El kernel normalmente también facilita los métodos para la
sincronización y comunicación entre procesos llamada IPC (Inter‐Process Comunication).
Tecnologías de la Información
Software ‐ Programas
SO – Kernel
En los sistemas operativos actuales la CPU ejecuta los programas en los dos modos :
Modo kernel. En el modo kernel el código que se ejecuta tiene acceso completo y
sin restricciones al hardware. Puede ejecutar cualquier instrucción de la CPU y
referirse a cualquier dirección de memoria. El modo kernel se reserva para el más
bajo nivel y las funciones más confiables del SO. Fallos en el modo kernel producen
la parada del sistema.
Modo Usuario. En el modo usuario el código que se ejecuta no tiene la posibilidad
de acceder directamente al hardware o referirse a la memoria. El código
ejecutándose en el modo usuario debe delegar los accesos al hardware o a la
memoria a APIs (Application Program Interface) del SO. Gracias a la protección
aportada por esta clase de aislamiento, los fallos en el modo usuario son
recuperables. La mayor parte del código que se ejecuta en el ordenado corre en
modo usuario.
Tecnologías de la Información
Software ‐ Programas
SO – Kernel
Los modos de operación (kernel/usuario) no son meras “etiquetas” sino que están implementados por el hardware del procesador.
La arquitectura de hardware de
procesadores de la familia x86 facilita
4 anillos de protección : 0, 1, 2 y 3.
Normalmente solo se utilizan el anillo
0 (kernel) y el 3 (usuarios)
Tecnologías de la Información
Software ‐ Programas
SO – Kernel
Tecnologías de la Información
Software ‐ Programas
Practica.
Ver la distribución del uso de la CPU entre el modo kernel y el modo usuario
 Barra de Tareas (botón derecho)  Iniciar el Administrador de Tareas  (pestaña rendimiento) Ver  Mostrar cronología del kernel
Tecnologías de la Información
Software ‐ Programas
SO – Clasificación
Administración de tareas
• Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) 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 SO 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.
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 de la computadora. Normalmente estos sistemas operativos 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 usar los recursos de una sola computadora.
• Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una
computadora al mismo tiempo.
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Category
Desktop, laptop, netbook
Source
Date
Linux based
Other Unix
In‐House
Windows
Other
Net Applications[34]
Dec‐13
1.73% (Ubuntu)
7.43% (OS X)
90.83% (XP, 7, Vista, 8)
Smartphone, tablet
StatCounter Global Stats[35]
Dec‐13
39.07% (Android)
31.79% (iOS)
1.79% (WP8, RT)
Server (web)
W3Techs [36][24]
Dec‐13
31.86% (Debian, CentOS, RHEL)
34.94% (BSD, HP‐
UX, Aix, Solaris)
33.20% (W2K3, W2K8)
Supercomputer
TOP500 [33]
Nov‐13
96.4% (Custom)
2.4% (UNIX)
0.4%
Mainframe
Gartner[31]
Dec‐08
28% (SLES, RHEL)
Gaming console
Nintendo, Sony, Microsoft, Ouya [37]
Jun‐13
0% (SteamOS, Android)
29.6% (PS3)
40.9% (Wii)
29.5% (Xbox)
Embedded
UBM Electronics [38]
Mar‐12
29.44% (Android, Other)
4.29% (QNX)
13.5%
11.65% (WCE 7)
41.1%
Real time
NewTechPress [39]
Nov‐11
19.3% (Android)
20.1%
35.8% (XPE, WCE)
24.8%
27.35%
0.8%
72% (z/OS)
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Ranking de sistemas operativos de escritorio a enero 2012. Varias fuentes.
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Ranking de sistemas operativos de escritorio por versiones a enero 2012. Varias fuentes.
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Ranking de sistemas operativos móviles a enero 2012. Varias fuentes.
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
SO conexión a Internet / NetMarketShare Enero 2014
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Tecnologías de la Información
Software ‐ Programas
SO – Presencia en el Mercado
Tecnologías de la Información
Software ‐ Programas
SO – Unix
Unix (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y
multiusuario; desarrollado, en principio, en 1969, por un grupo de empleados de los
laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas
McIlroy.[1] [2]
El sistema, junto con todos los derechos fueron vendidos por AT&T a Novell, Inc. Esta vendió
posteriormente el software a Santa Cruz Operation en 1995, y esta, a su vez, lo revendió a
Caldera Software en 2001, empresa que después se convirtió en el grupo SCO. Sin embargo,
Novell siempre argumentó que solo vendió los derechos de uso del software, pero que
retuvo el copyright sobre "UNIX®". En 2010, y tras una larga batalla legal, ésta ha pasado
nuevamente a ser propiedad de Novell.[3]
Solo los sistemas totalmente compatibles y que se encuentran certificados por la
especificación Single UNIX Specification pueden ser denominados "UNIX®" (otros reciben la
denominación "similar a un sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el
término "Unix tradicional" para referirse a Unix o a un sistema operativo que cuenta con las
características de UNIX Versión 7 o UNIX System V.
Tecnologías de la Información
Software ‐ Programas
SO – Unix
Ken Thompson (sentado) y Dennis Ritchie trabajando en un PDP‐11
Tecnologías de la Información
Software ‐ Programas
SO – Unix
Estructura de UNIX
Tecnologías de la Información
Software ‐ Programas
SO – Unix
A lo largo de la historia ha surgido una gran multitud de implementaciones
comerciales de UNIX. Sin embargo, un conjunto reducido de productos han
consolidado el mercado y prevalecen gracias a un continuo esfuerzo de
desarrollo por parte de sus fabricantes. Los más importantes son:
• Solaris de Sun Microsystems. Uno de los sistemas operativos Unix más
difundidos en el entorno empresarial y conocido por su gran estabilidad.
Parte del código fuente de Solaris se ha liberado con licencia de fuentes
abiertas (OpenSolaris).
• AIX de IBM. El UNIX "propietario" de IBM cumplió 20 años de vida en el
2006 y continúa en pleno desarrollo, con una perceptible herencia del
mainframe en campos como la virtualización o la RAS de los servicios,
heredada de sus "hermanos mayores".
• HP‐UX de Hewlett‐Packard. Este sistema operativo también nació ligado a
las computadoras departamentales de este fabricante. También es un
sistema operativo estable que continua en desarrollo.
• Mac OS X. Se trata de un UNIX completo, aprobado por The Open Group.
Su diferencia marcada es que posee una interfaz gráfica propietaria
llamada Aqua, y es principalmente desarrollada en Objective‐C en lugar de
C o C++.
Tecnologías de la Información
Software ‐ Programas
SO – Linux
Linux es un núcleo libre de sistema operativo (también suele referirse al núcleo como kernel) basado en
Unix.[4] Es uno de los principales ejemplos de software libre y de código abierto.[5] Linux está licenciado bajo
la GPL v2 y está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en
la Linux Kernel Mailing List Archive
El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finlandés Linus
Torvalds en 1991.[6] Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros
proyectos de software libre para usarlo con el nuevo sistema operativo.[7] El núcleo Linux ha recibido
contribuciones de miles de programadores de todo el mundo.[8] Normalmente Linux se utiliza junto a un
empaquetado de software, llamado distribución GNU/Linux y servidores.
Una distribución Linux es un conjunto de software acompañado del
núcleo Linux que se enfoca a satisfacer las necesidades de un grupo
específico de usuarios. De este modo hay distribuciones para hogares,
empresas y servidores.
Las distribuciones son ensambladas por individuos, empresas u otros
organismos. Cada distribución puede incluir cualquier número de
software adicional, incluyendo software que facilite la instalación del
sistema. La base del software incluido con cada distribución incluye el
núcleo Linux, en la mayoría de los casos las herramientas GNU, al que
suelen añadirse también multitud de paquetes de software.
Tecnologías de la Información
Software ‐ Programas
SO – Linux
Una distribución Linux (coloquialmente llamada distro) es
una distribución de software basada en el núcleo Linux que
incluye determinados paquetes de software para satisfacer las
necesidades de un grupo específico de usuarios, dando así
origen a ediciones domésticas, empresariales y para
servidores. Por lo general están compuestas, total o
mayoritariamente, de software libre, aunque a menudo
incorporan aplicaciones o controladores propietarios.
Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del proyecto GNU y el sistema de ventanas X Window System. Dependiendo del tipo de usuarios a los que la distribución esté dirigida se incluye también otro tipo de software como procesadores de texto, hoja de cálculo, reproductores multimedia, herramientas administrativas, etc. En el caso de incluir herramientas del proyecto GNU, se utiliza el término distribución GNU/Linux.
Existen distribuciones que están soportadas comercialmente,
como Fedora (Red Hat), openSUSE (Novell), Ubuntu
(Canonical Ltd.), Mandriva, y distribuciones mantenidas por la
comunidad como Debian y Gentoo.
Tecnologías de la Información
SO – Unix/Linux evolución y familias
Software ‐ Programas
Tecnologías de la Información
Software ‐ Programas
SO – Unix/Linux evolución y familias
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Microsoft Windows (conocido generalmente como Windows), es el nombre de una familia de
sistemas operativos desarrollados y vendidos por Microsoft. Microsoft introdujo un entorno
operativo denominado Windows el 25 de noviembre de 1985 como un complemento para MS‐
DOS (que disponía de interfaz por línea de comandos) en respuesta al creciente interés en las
interfaces gráficas de usuario (GUI).[1] Microsoft Windows llegó a dominar el mercado mundial
de computadoras personales, con más del 90% de la cuota de mercado, superando a Mac OS,
que había sido introducido en 1984.
Windows es un sistema operativo con una interfaz de usuario integrada en el sistema basado
en ventanas.
Las versiones más recientes de Windows son Windows 8.1 y Windows 8 para equipos de
escritorio, Windows Server 2012 para servidores y Windows Phone 8 para dispositivos
móviles. La primera versión en español fue Windows 3.0.
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Tecnologías de la Información
Software ‐ Programas
SO – MS Windows
Tecnologías de la Información
Software ‐ Programas
SO – Android
Android es un sistema operativo basado en Linux diseñado
principalmente para dispositivos móviles con pantalla táctil,
como teléfonos inteligentes o tabletas, inicialmente
desarrollado por Android, Inc. Google respaldó
económicamente y más tarde compró esta empresa en
2005.[9] Android fue presentado en 2007 junto la fundación
del Open Handset Alliance: un consorcio de compañías de
hardware, software y telecomunicaciones para avanzar en
los estándares abiertos de los dispositivos móviles.[10] El
primer móvil con el sistema operativo Android fue el HTC
Dream y se vendió en octubre de 2008.[11]
El sistema operativo Android se usa en teléfonos inteligentes, ordenadores portátiles, netbooks, tabletas,
Google TV, relojes de pulsera,[50] auriculares[51] y otros dispositivos,[52] [53] [54] siendo este sistema
operativo accesible desde terminales de menos de $100 hasta terminales que superen los $1000.
La plataforma de hardware principal de Android es la arquitectura ARM. Hay soporte para x86 en el
proyecto Android‐x86,[55] y Google TV utiliza una versión especial de Android x86.
Tecnologías de la Información
Software ‐ Programas
SO – iOS
iOS es un sistema operativo móvil de la empresa Apple Inc.
Originalmente desarrollado para el iPhone (iPhone OS), siendo
después usado en dispositivos como el iPod Touch, iPad y el Apple TV.
Apple, Inc. no permite la instalación de iOS en hardware de terceros.
Tenía el 26% de cuota de mercado de sistemas operativos móviles
vendidos en el último cuatrimestre de 2010, detrás de Google Android
y Nokia Symbian.[2] En enero de 2014, el 78% de los dispositivos iOS
(iPad, iPod y iPhone) poseen iOS 7.[3]
La interfaz de usuario de iOS está basada en el concepto de manipulación directa, usando gestos multitáctiles.
Los elementos de control consisten de deslizadores, interruptores y botones. La respuesta a las órdenes del
usuario es inmediata y provee de una interfaz fluida. La interacción con el sistema operativo incluye gestos
como deslices, toques, pellizcos, los cuales tienen definiciones diferentes dependiendo del contexto de la
interfaz. iOS se deriva de Mac OS X, que a su vez está basado en Darwin BSD, y por lo tanto es un sistema
operativo Tipo Unix.
iOS cuenta con cuatro capas de abstracción: la capa del núcleo del sistema operativo, la capa de "Servicios
Principales", la capa de "Medios" y la capa de "Cocoa Touch". La versión actual del sistema operativo (iOS
7.0.4) ocupa más o menos 1.1 GB, variando por modelo.
Tecnologías de la Información
Software ‐ Programas
SO – Soporte ARM/x86
ARM
X86
Windows CE
Windows CE
Linux
Linux
Android
Android
Unix
Unix
iOS
Mac OS X
Windows 8 RT
Windows XP
Windows Vista
Windows 7
Windows 8
Windows Server
Tecnologías de la Información
Software ‐ Programas
SO – 32vs64 bits
Normalmente existen versiones de 32 y 64 bits de cada sistema operativo. La diferencia está básicamente en la
longitud de registros que puede tratar (32 bits o 64 bits). Los sistemas operativos de 64 bits son ligeramente
más rápidos al poder tratar la información en bloques de mayor tamaño y, sobre todo, pueden gestionar más
memoria central, que en los sistemas de 32bits está limitada a 4GB.
Existe una serie de dependencias entre los bits del procesador (CPU) y los bits del Sistema Operativo, Drivers y
Aplicaciones.
Limites de memoria para los sistemas Windows
Tecnologías de la Información
SO – Comparación de Comandos
Software ‐ Programas
Tecnologías de la Información
Software ‐ Programas
Practica.
Abrir PowerShell y PowerShell ISE y practicar con algunos comandos
 Inicio  Todos los programas  Accesorios  Windows PowerShell
enlace
Tecnologías de la Información
Software ‐ Programas
Practica.
Comprobar el tipo de sistema operativo (32/64 bits)
 Inicio  Equipo  Propiedades
Tecnologías de la Información
Software ‐ Programas
Practica.
Comprobar el tipo de sistema operativo (32/64 bits) con PowerShell :
$computerSystem = get‐wmiobject Win32_ComputerSystem $computerBIOS = get‐wmiobject Win32_BIOS $computerOS = get‐wmiobject Win32_OperatingSystem cls
“Información del Sistema de : " + $computerSystem.Name
“”
“Fabricante: " + $computerSystem.Manufacturer
"Modelo : " + $computerSystem.Model
“Número de Serie : " + $computerBIOS.SerialNumber
“Sistema Operativo : " + $computerOS.caption + ", Service Pack: " + $computerOS.ServicePackMajorVersion
“Tipo de Sistema : “+ $computerOS.OSArchitecture
“Memoria Total en Gb : " + $computerSystem.TotalPhysicalMemory/1gb “Usuario Conectado : " + $computerSystem.UserName
“Ultimo Arranque : " + $computerOS.ConvertToDateTime($computerOS.LastBootUpTime)
Tecnologías de la Información
Software ‐ Programas
Practica.
Obtener la hora del ordenador y las propiedades del objeto
Get‐WmiObject ‐Class Win32_LocalTime ‐ComputerName . Get‐WmiObject ‐Class Win32_LocalTime ‐ComputerName . | Select‐Object ‐Property [a‐z]* Borrar todos los archivos .txt de una carpeta y todos sus subdirectorios
Get‐ChildItem ‐include “*.txt” ‐recur remove‐item
Borrar todos los archivos que tengan una antigüedad superior a 10 días
$now = get‐date
get‐childitem . ‐recurse where‐object {($now – $_.LastWriteTime).Days ‐lt 10} remove‐item
NOTA : Windows Management Instrumentation o WMI (en español, Instrumental de administración de Windows) es la implementación de WBEM (Web‐
Based Enterprise Management) de Microsoft, una iniciativa que pretende establecer normas estándar para tener acceso y compartir la información de
administración a través de la red de una empresa.
WMI proporciona compatibilidad integrada para el Modelo de Información Común (CIM, Common Information Model), :Y que describe los objetos
existentes en un entorno de administración.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
El sistema de archivos o ficheros (en inglés : filesystem) es el componente del sistema operativo
encargado de administrar y facilitar el uso de las memorias periféricas, ya sean secundarias o
terciarias. Sus principales funciones son la asignación de espacio a los archivos, la administración
del espacio libre, y la administración del acceso a los datos resguardados. Estructuran la
información guardada en una unidad de almacenamiento (normalmente un disco duro de una
computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor
de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.[1]
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los
datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores,
usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la
organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores
pertenecen a qué archivos y cuáles no han sido utilizados. Los sistemas de archivos tradicionales
proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios.
El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de
control de acceso o capacidades.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Con objeto de facilitar su localización,
normalmente los archivos en los sistemas de
ficheros se organizan en directorios o carpetas.
La estructura de directorios suele ser jerárquica,
ramificada o "en árbol", aunque en algún caso
podría ser plana. En algunos sistemas de
archivos los nombres de archivos son
estructurados, con sintaxis especiales para
extensiones de archivos y números de versión.
En otros, los nombres de archivos son
simplemente cadenas de texto y los metadatos
de cada archivo son alojados separadamente.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un
archivo con una cadena de texto llamada "ruta" —o path en inglés—. La nomenclatura
para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una
misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y
subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún
carácter especial que suele ser una diagonal ('/') o diagonal invertida ('\') y puede
terminar en el nombre de un archivo presente en la última rama de directorios
especificada.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Ruta de Acceso Absoluta:
Cada archivo tiene una ruta de acceso absoluta.
Consta de la ruta de acceso desde el directorio raíz hasta el archivo.
Los componentes de la ruta de acceso se separan mediante algún carácter
llamado “separador”.
Ruta de Acceso Relativa:
Se utiliza junto con el concepto de directorio de trabajo o directorio activo.
Todos los nombres que no comiencen en el directorio raíz se toman en relación
con el directorio de trabajo.
El nombre absoluto de la ruta de acceso siempre funciona, sin importar cual sea
el directorio de trabajo.
Tecnologías de la Información
Software ‐ Programas
Windows
Unix
SO – Sistema de Ficheros
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Un sistema de archivos virtual (VFS) o conmutador de sistema de archivos virtual es una capa de
abstracción encima de un sistema de archivos más concreto. El propósito de un VFS es permitir que las
aplicaciones cliente tengan acceso a diversos tipos de sistemas de archivos concretos de una manera
uniforme. Puede ser utilizada para tender un puente sobre las diferencias en los sistemas de archivos de
Windows, de Mac OS y Unix, de modo que las aplicaciones pudieran tener acceso a archivos en los
sistemas de archivos locales de esos tipos sin tener que saber a qué tipo de sistema de archivos están
teniendo acceso.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Estructura típica de sistemas Unix
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
System32
Security
Windows
Resources
Estructura típica de sistemas Windows
…
Acrobat 9
C:\
Program Files
Adobe
Acrobat 10
Microsoft Office
Reader
Google
HP
…
Application Data
Desktop
Documents
Usuario1
Users
Pictures
Usuario2
Music
…
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Diferencia más notables de los Sistemas de Ficheros de Windows y Unix
Windows
Unix
Letra de Unidad (C:, D:, …)
Directorios
Carpeta/Subcarpeta
Directorio/Subdirectorio
Rutas c:\...
Rutas /home/…
No distingue Mayúsculas
Distingue Mayúsculas
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Metadatos
Los sistemas de ficheros guardan además del propio contenido de los ficheros (datos) información sobre los mismos (datos
sobre los datos).
Metadatos típicos pueden ser la longitud de los datos contenidos en un fichero, la hora en la que el fichero se modificó por
ultima vez, la fecha y hora de creación del fichero, la fecha y hora en la que se hizó copia de seguridad del fichero por última
vez, el identificador de usuario del propietario del fichero, permisos del fichero, atributos del fichero (si el fichero es de solo
lectura, si es oculto, ejecutable, …), … .
El sistema de ficheros guarda todos los metadatos asociados con un fichero (incluido su nombre, longitud del contenido,
localización el la jerarquía de carpetas, …) separado del contenido del propio fichero.
La mayoría de los sistemas de ficheros guardan los nombres de todos los ficheros de un directorio en un único lugar (la
tabla de directorio de ese directorio) la cual se almacena como cualquier otro fichero. Muchos sistemas de ficheros solo
ponen algunos metadatos de los ficheros en la tabla del directorio y el resto lo guardan en una estructura completamente
separada (por ejemplo la tabla de i‐nodos).
Se pueden asociar atributos adicionales en algunos sistemas de ficheros como NTFS, XFS, ext2, ext3, algunas versiones de
UFS, y HFS+, utilizando atributos de fichero extendidos. Algunos FS ya facilitan algunos atributos definidos por el usuario
como el autor del documento o el tamaño de una imagen.
Algunos sistemas de ficheros pueden mantener múltiples versiones anteriores de un mismo fichero (con un nombre unico).
El nombre del fichero devuelve la versión más reciente, mientras que versiones anteriores se pueden acceder con una
nomenclatura especial (por ejemplo “nombre(‐4)” para acceder a la versión de hace 4 ‘salvados’ del fichero.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Otras funciones de los Sistemas de Ficheros :
•
•
•
Cuotas de Disco: Para evitar que los usuarios se apropien de un espacio excesivo en disco,
los S. O. multiusuario proporcionan generalmente un mecanismo para establecer las
cuotas en el disco. La idea es que un administrador del sistema asigne a cada usuario una
proporción máxima de archivos y bloques que ese usuario puede utilizar. El SO garantiza
que los usuarios no excedan sus cuotas.
Acceso concurrente a los ficheros : con objeto de asegurar la consistencia de los ficheros
con acceso concurrentes (en los sistemas multiusuario o multiproceso) el sistema de
fichero permite abrir en lectura un fichero por varios usuarios/procesos pero solamente
uno de ellos lo puede tener abierto simultáneamente en Lectura/escritura‐
Permisos : en base a la Autenticación establecida por el SO, se mantienen para cada
fichero la lista de usuarios/grupos que pueden ver / leer / modificar / ejecutar /… cada
fichero (lista ACL).
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Lista de Ficheros en Unix Nombre del Fichero
Fecha y hora Modificación
Tamaño en Bytes
Grupo
Usuario
Nº de Enlaces
Permisos
Tipo de Fichero
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Permisos de Ficheros en Unix Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Implementación
Existen dos estrategias generales para almacenar un archivo de “n” bytes :
•
Asignar “n” bytes consecutivos de espacio en el disco: Tiene el problema de que si un archivo crece será
muy probable que deba desplazarse en el disco, lo que puede afectar seriamente al rendimiento.
•
Dividir el archivo en cierto número de bloques (no necesariamente) adyacentes: Generalmente los
sistemas de archivos utilizan esta estrategia con bloques de tamaño fijo.
Tamaño del bloque (o cluster): Dada la forma en que están organizados los bloques, el sector, la pista y el
cilindro son los candidatos obvios como unidades de asignación (un sector suele ser 512KB). Sin embargo
muchos sistemas de archivo utilizan un múltiplo del sector que llaman bloque o “cluster”, siendo esta unidad
la mínima asignación a un fichero.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Implementación
Si se tiene una unidad de asignación grande, como un cilindro, esto significa que cada archivo, inclusive uno
pequeño, ocupará todo un cilindro; con esto se desperdicia espacio de almacenamiento en disco.
Si se utiliza una unidad de asignación pequeña, como un sector, implica que cada archivo constará de muchos
bloques; con esto su lectura generará muchas operaciones de e / s afectando la performance.
Lo anterior indica que la eficiencia en tiempo y espacio tienen un conflicto inherente.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Implementación
Gestión de disco : ¿como se utilizan los sectores del disco para representar los
bloques de un fichero?. La estructura utilizada para describir qué sectores
pertenecen a un fichero se llama descriptor del fichero (file descriptor).
Opción 1 → Asignación contigua : mantener
una lista de sectores libres en el disco. Cuando
se crea un fichero solicitar que se especifique
el tamaño del mismo, asignar todo el espacio
del disco contiguo de una vez. El descriptor del
fichero contiene el primer sector y su tamaño.
Ventajas : acceso fácil tanto secuencial como
aleatorio. Sencillo. Pocas búsquedas.
Desventajas : enorme fragmentación del espacio
libre, imposibilita la utilización de ficheros
grandes. Difícil predecir necesidades
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Implementación
Opción 2 → Sectores enlazados : En el
descriptor del fichero solo se guarda un
apuntador al primer bloque. Cada bloque del
fichero apunta al siguiente bloque. Se puede
mantener también una lista enlazada de los
bloques libres (sin uso).
Ventajas : Los ficheros se pueden extender, no hay
problemas de fragmentación del espacio libre. El
acceso secuencial es sencillo, solo hay que seguir la
cadena de enlaces.
Desventajas : El acceso aleatorio es virtualmente
imposible. Montones de búsquedas incluso en el
acceso secuencial. Fragmentación.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Implementación
Opción 3  Tabla de Punteros a Bloques : Se mantiene una única tabla (Tabla de
asignación de archivos, comúnmente conocido como FAT del inglés file allocation
table) con los punteros a todos los bloques del disco, tanto los asignados a ficheros
como aquellos que estén libres. En el descriptor del fichero se apunta al primer
bloque del fichero. Cada entrada de la FAT contiene o bien el numero del siguiente
bloque del fichero o un valor concreto que indica que ese bloque es el último del
fichero (eof) o un valor concreto que indica que el bloque está libre.
Descriptores de Fichero
FAT
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros
Implementación FAT
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros FAT
Existe una serie bastante amplia de implementaciones FAT (FAT-12, FAT-16, FAT-32,
vfat,…) todas las cuales utilizan una tabla de asignación de ficheros y a las que en
líneas generales se puede aplicar la siguiente información.
El Sistema de Ficheros FAT guarda cada fichero como una lista de bloques
enlazados. Los bloques físicos del disco solo contienen los datos ( no la estructura de
enlaces). La tabla de apuntadores que implementa la lista enlazada se almacena en
memoria.
El sistema FAT se introdujo con MS-DOS y las primeras versiones de Windows. Todas
las versiones de Windows soportan FAT, aunque las últimas (a partir de Windows NT)
también pueden utilizar un sistemas más avanzado llamado NTFS.
Los sistemas Linux soportan FAT (y en algunos casos también NTFS con limitaciones).
El sistema FAT también se utiliza en las memorias USB y las tarjetas de memoria de
las cámaras digitales.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros FAT
Principales características :
•
•
•
•
•
•
La entrada de directorio de un fichero apunta al primer bloque del fichero (indicando el numero
de bloque).
La tabla FAT se mantiene en memoria y tiene una entrada por cada bloque de disco.
La entrada del bloque N contiene el numero de bloque del siguiente bloque del mismo fichero. Si
un bloque es el último del fichero el contenido de esa entrada es EOF.
Es una implementación de asignación enlazada pero se guarda separada de los datos.
El tiempo de acceso aleatorio depende del tamaño del fichero, pero los accesos son a la tabla
FAT que está en memoria por lo que el rendimiento es mucho mejor que un sistema de sectores
enlazados plano.
El tamaño de la tabla FAT es de un apuntador por bloque de disco. Luego el tamaño de la tabla
depende del tamaño del bloque (en sectores) y del tamaño de los punteros.
• Si el bloque es de 4KB y la tabla FAT tiene entradas de 4-bytes, la tabla tiene un tamaño de
1MB por cada 1GB de disco.
• Si el bloque es de 512 bytes (el tamaño normal de un sector de disco) la tabla ocupa 8MB
por cada 1GB de disco.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros FAT
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros FAT
Nombres de Fichero Largos (LFN Long Filenames) es un método que ha
implementado Microsoft para utilizar nombres de ficheros más largos que el
esquema inicialmente implementado en MS DOS (FAT), y mantenido en versiones
posteriores, que solo admite nombre de fichero de 8 caracteres y 3 caracteres
adicionales de extensión (8.3).
El sistema de nombre largo de ficheros admite una longitud máxima de 255
caracteres UTF‐16.
Para mantener la compatibilidad con sistemas operativos anteriores , Microsoft
formuló un método para generar ficheros 8.3 desde nombres de fichero más
largos (por ejemplo “Microsoft.txt” a “MICROS~1.TXT“) y asociarlo al mismo
fichero.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros NTFS
Todo lo que tiene que ver con los ficheros se almacena en forma
de metadatos. Permitiendo una fácil ampliación de características
(Active Directory).
Los nombres de archivo son almacenados en Unicode (UTF‐16), y
la estructura de ficheros en árboles‐B, una estructura de datos
compleja que acelera el acceso a los ficheros y reduce la
fragmentación, que era lo más criticado del sistema FAT.
Son árboles balanceados de búsqueda en los cuales cada nodo puede poseer
más de dos hijos.[1] Los árboles B mantienen los datos ordenados y las
inserciones y eliminaciones se realizan en tiempo logarítmico amortizado.
Se emplea un registro transaccional (journal) para garantizar la integridad del sistema de ficheros (pero no la de cada archivo). Los sistemas que emplean NTFS han demostrado tener una estabilidad mejorada, sin embargo, este sistema de archivos posee un funcionamiento prácticamente secreto, ya que Microsoft no ha liberado su código, como hizo con FAT.
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ext2/ext3
El Sistema de Ficheros ext2 y ext3 es utilizado por Unix/Linux.
Las entradas de directorio apuntan a un i‐nodo (nodo‐indexado). El i‐nodo apunta a los primeros
bloques de datos del fichero, llamados bloques directos. El i‐nodo apunta también (si es
necesario por el tamaño del fichero) a un bloque indirecto que a su vez apunta a bloques de
disco. Si por el tamaño del fichero es necesario añadir más bloques el i‐nodo puede también
apuntar a un bloque doblemente indirecto, que a su vez apunta a bloques indirectos que a su vez
apuntan a bloques de disco. En algunos caso se puede llegar en caso necesario a bloques
triplemente indirectos.
El i‐nodo de ficheros abiertos se mantiene en memoria, luego referencias a bloques directos solo
necesitan una operación de E/S.
Para grandes ficheros, la mayor parte de las referencias necesitan dos operaciones de E/S (bloque
indirecto + datos).
Los ficheros más grandes necesitan tres operaciones de E/S para leer un bloque (doble indirecto
+ indirecto + datos).
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ext2/ext3
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ext2/ext3
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros ‐ Comparación
Comparación de Sistemas de Archivo
FAT 16
FAT 32
exFAT
NTFS
ReFS
ext3
ext4
HFS
HFS+
Fabricante
Microsoft
Microsoft
Microsoft
Microsoft
Microsoft
Stephen Tweedie
Varios
Apple
Apple
Aparición
1984
1996
2006
2009
1993
2013
1999
2006
1985
1998
SO Inicial
DOS
Windows 95
Windows CE 6.0
Windows NT 3.1
Windows Server 2012
Linux
Linux Kernel
2.6.19
Mac OS
Mac OS 8.1
256
256
256
Nombre Fichero
8.3 (256 con LFN)
8.3 (256 con LFN)
256
256
31
256
Sin Limite
Sin Limite
Sin Limite
Sin Limite
Longitud de la Ruta
Sin Limite
Sin Limite
Sin Limite
Sin Limite
Tamaño Fichero
2GB
4GB
127PB
16EB
16EB
2TB
2TB
2GB
2GB
Tamaño Volumen
4GB
2TB
64ZB
16EB
256ZB
32TB
32TB
2TB
2TB
Seguridad
NO
NO
SI
SI
SI
SI
SI
SI
Tecnologías de la Información
Software ‐ Programas
SO – Sistema de Ficheros – Compatibilidad por SO
FAT 16
FAT 32
exFAT
NTFS
MS DOS
OK
MS Windows 95
OK
MS Windows NT
OK
MS Windows XP
OK
OK
SP3
OK
MS Windows Vista
OK
OK
OK
OK
MS Windows 7
OK
OK
OK
OK
Mac OS X
OK
OK
OK
Lectura
GNU/Linux
OK
OK
OK
Lectura
ext3
HFS
OK
OK
OK
OK
Tecnologías de la Información
Software ‐ Programas
Practica.
Ejercicio : identificar el sistema de archivos de la partición activa de mi PC (Windows).
‐> Inicio ‐> Equipo ‐> Disco C: (botón derecho) ‐> propiedades
Explorar las opciones en las distintas pestañas …
Tecnologías de la Información
Software ‐ Programas
Practica.
• Comprobar el tamaño de un fichero y el tamaño ocupado en disco por un fichero.
• Ver los Metadatos de un fichero de texto y un fichero de una imagen.
• Indicar los Metadatos a ver en el explorador de ficheros de Windows.
Tecnologías de la Información
Software ‐ Programas
Practica.
Utilidad para la gestión del Sistema de Archivos NTFS : fsutil
→ fsutil fsinfo ntfsinfo
→ fsutil fsinfo volumeinfo c:
Tecnologías de la Información
Software ‐ Programas
Practica.
Obtener un resumen general de la configuración del sistema :
 Inicio  Todos los Programas  Accesorios  Herramientas del Sistema  Información del Sistema
Revisar los principales apartados :
• Resumen
• Componentes
• Red
• Almacenamiento/Discos
• …
Tecnologías de la Información
Software ‐ Programas
Tecnologías de la Información
Software ‐ Programas
Descargar