Sistema Operativo MAC Francisco Jesús Delgado Almirón fjdelg@correo.ugr.es Diseño de Sistemas Operativos 5º Ingeniería Informática Introducción Mac OS (Macintosh Operating Systems) es un sistema operativo propietario de Apple Inc, para su línea de computadoras Macintosh. Nace en el año 1984, surgiendo como una alternativa de interfaz de usuario más amigable que la que ofrecía el sistema operativo competidor en la época, MS- DOS. Las versiones X hasta la fecha son: Mac OS X versión 10.0 “Cheetah”, con fecha de salida 24/03/2001 Mac OS X versión 10.1 “Puma”, con fecha de salida 25/10/2001 Mac OS X versión 10.2 “Jaguar”, con fecha de salida 22/08/2002 Mac OS X versión 10.3 “Panther”, con fecha de salida 24/10/2003 Mac OS X versión 10.4 “Tiger”, con fecha de salida 29/04/2005 Mac OS X versión 10.5 “Leopard”, con fecha de salida 26/10/2007 Mac OS X versión 10.6 “Snow Leopard”, con fecha de salida 08/06/2009 Hardware Para las primeras versiones del Mac OS X, la plataforma estándar de hardware soportada era la línea completa de los computadores Macintosh (basados en procesadores PowerPC G3, G4 y G5). Las versiones que salieron más adelante discontinuaron el soporte para hardware antiguo. Mac OS X v10.5 Leopard abandonó el soporte para todos los procesadores PowerPC G3 y para los procesadores PowerPC G4 con velocidades de reloj menores a 867 MHz. Mac OS X v10.6 "Snow Leopard" sólo soporta equipos con procesador Intel, abandonando todo el soporte para los procesadores PowerPC. Las versiones PowerPC de Mac OS X anteriores a Leopard mantienen la compatibilidad con aplicaciones del Mac OS mediante un entorno de emulación denominado Classic. Classic no está soportado en Macs Intel o en el Mac OS X v10.5 Leopard, aunque los usuarios que requieran ejecutar aplicaciones Classic en Intel Macs pueden usar el emulador SheepShaver. Arquitectura Se sustenta en cuatro pilares: 1.- La base o kernel del sistema, encargado de interactuar con el hardware de la máquina, es decir, de acceder a recursos como la memoria, unidades de almacenamiento, etc. 2.- El sistema gráfico, formado por la combinación de tres componentes clave, llamados Quartz, QuickTime y OpenGL. 3.- Un entorno de programación y desarrollo que permite exprimir al máximo las nuevas posibilidades del sistema, portar con facilidad las aplicaciones ya existentes y emular el entorno operativo actual: Cocoa, Carbon y Classic. 4.- Una interfaz de usuario totalmente renovada, con aspecto, rendimiento, usabilidad y funcionalidades fuera de lo normal, que se ha convertido en el estandarte del nuevo sistema: Aqua. Arquitectura Kernel Darwin es el kernel del sistema operativo Mac OS, está basado en los kernels de los sistemas operativos Mach y FreeBSD, pero también incluye parte de MkLinux, NetBSD, OpenBSD y otras tecnologías de Mach, y sobre el que se centran las más importantes interacciones del software con el hardware. El trabajo del Mach 3.0 es dotar al procesador y la memoria de la capacidad de abstracción del resto de los componentes del equipo. Se encargará de gestionar los tiempos de trabajo del procesador, así como de facilitar la protección de memoria entre las distintas aplicaciones e se estén ejecutando en un momento dentro del ordenador. Todo ello sin olvidar la gestión de todos los mecanismos de entrada y salida de que dispongamos para un proceso en ejecución. El Sistema Operativo Mac usa un kernel de tipo híbrido. Kernels híbridos Los núcleos híbridos fundamentalmente son microkernels que tienen algo de código “no esencial” en espacio de kernel para que éste se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario. Algunos ejemplos de kernels híbridos son: ● Microsoft Windows NT, usado en todos los sistemas que usan el código base de Windows NT. ● XNU, usado en Mac OS X. ● DragonFlyBSD. ● ReactOSXNU, usando en Mac OS X. Kernel del Mac OS Kernel del Mac OS El Kernel del Mac OS provee: ● Soporte multiprocesador ● Multitarea preventiva ● Gestión de memoria virtual avanzada ● Protección de memoria Gestión de la memoria Cada aplicación que se arranca en Mac OS solicita al sistema un cierto espacio de memoria RAM para ejecutarse, si hay suficiente se reserva ese espacio para la aplicación que lo solicitó. Teóricamente cada aplicación puede utilizar para leer y escribir esa zona de memoria reservada, a lo que también se le conoce como partición, y no debe ni debería poder escribir o leer en las otras particiones. Generalmente si una aplicación invade un espacio que no le pertenece se produce un error del sistema, probablemente obligando a reiniciar el sistema. Las particiones de memoria para las aplicaciones son de tamaño fijo una vez que la aplicación ha arrancado, sin embargo, se puede variar la cantidad de memoria RAM que solicitará cada aplicación. Las aplicaciones pueden no utilizar todo el espacio reservado, básicamente utilizan una parte para la aplicación en sí misma y el resto para los datos y los documentos. Según eso, cuanto mayor es la partición de memoria de una aplicación, más documentos podremos abrir de la misma. Se puede ver fácilmente que de este modo es fácil derrochar memoria, ya que una aplicación podría tenerla reservada y no usarla. El sistema, por su parte, no reserva un tamaño fijo de memoria, sino que puede crecer según las necesidades. Esquema de reparto de memoria Caché buffer Sabemos que la E/S es lenta, para amortiguar esto Mac OS X usa un almacenamiento de soporte, que son los buffer y la cache, que evita al procesador solicitar byte por byte, y en vez de ello se leen muchos datos con una sola solicitud. Los buffers se usan tanto para lectura y escritura de disco, para impresora, monitor, para placa de red, etc. Su misión es agilizar la transferencia emitiendo una sola petición e interrupción para un conjunto de datos. Los tipos de buffers son: ● Buffer sencillo. ● Buffer doble. ● Circular. La función de la caché en Mac OS X es similar a la de los buffers, pero está implementada con circuitos de muy alta velocidad y tienen algunas ventajas tecnológicas como la búsqueda por asociación (que busca en muchas entradas al mismo tiempo), lo que la resulta ser muy útil para mejorar el rendimiento es poner partes del sistema de archivos en la caché. Estructura de los archivos Mac OS X es actualmente capaz de arrancar y usar como partición primaria un volumen formateado según diferentes sistemas de archivo, como HFS+, UFS, ISO, NFS o UDF. Además de estos, con Mac OS X se puede montar y trabajar con volúmenes en otros formatos, como UFS, FAT, SMB o AFP. Hierarchical File System Plus (HFS+) Se trata de un sistema de archivos desarrolado por Apple Inc. para reemplazar al HFS (Sistema jerárquico de archivos). También es el formado usado por el iPod al ser formateado desde un Mac. Es conocido también como HFS Extended. Es una versión mejorada de HFS, soportando archivos mucho más grandes, direcciona con 32 bits en vez de con 16, y usando Unicode para el nombre de ellos, lo que permitió nombres de archivos de hasta 255 caracteres. HFS+ permite archivos n-bifurcados similares a NTFS, aunque casi ningún software se aprovecha de bifurcaciones con excepción de la bifurcación de los datos y del recurso. Utiliza una tabla de asignación de 32 bits. Hierarchical File System Plus (HFS+) La siguiente tabla muestra la estructura de un archivo HFS+. Pueden verse ciertas partes reservadas que contienen meta información sobre el sistema de archivos, dejando libre el resto de bloques para la información en sí. La estructura de un fichero HFS+ es la siguiente: Bloques de Arranque Cabecera de volumen Ficheros de reserva Ficheros de desborde de extensión Fichero de catálogo Fichero de atributos Ficheros de arranque Cabecera alternativa Último sector reservado Finder Mac OS X ejecuta una aplicación llamada Finder que es la responsable de la gestión total de los archivos de usuario y genera un uso más eficiente del sistema de ficheros, discos, red y el lanzamiento de otras aplicaciones. En el siguiente enlace se puede ver esta aplicación ejecutándose: Vídeo de youtube Robertmarcelo29 (2009). GESTION DE ARCHIVOS MAC OS. Recuperado el 27 de Abril del 2013 de http://www.youtube.com/watch?v=NPT4RJk38Iw&feature=player_embedded Estructura de archivos En Mac OS X casi todos los ficheros que contienen código ejecutable, como las aplicaciones, bibliotecas y módulos del núcleo se realizan en forma de ficheros en formato macho. El formato macho no es un programa desarrollado originalmente por Apple, fue desarrollado por Open Source Foundation para su sistema operativo OSF/1 y luego adaptado por Apple para la arquitectura x86 en el marco del proyecto OpenStep. El formato de ficheros macho y la especificación ABI (Application Binary Interface) describen la manera en que el núcleo debe cargar y lanzar el fichero ejecutable en Mac Os. A grandes rasgos, macho se puede dividir en tres partes: título, instrucciones de carga y segmentos. Seguridad Los usuarios y los grupos de archivos son los mayores componentes de seguridad incluidos en MacOS. Estos permiten al dueño de la máquina configurar las cuentas de usuario y passwords para acceder a los servicios de red de Mac, definiendo que usuarios tienen acceso a que servicios. Estas cuentas se usan para limitar el acceso a estos servicios a través de Apple Talk o TCP/IP. El acceso a los INVITADOS (usuarios sin password) también esta permitido. Los servicios que utilizan el sistema de seguridad de Usuarios y Grupos son: Vinculacion de programas, compartir archivos, Web Sharing y el de acceso remoto. Los productos Open Door Networks agrega dos niveles de seguridad al Mac OS. Estos niveles de seguridad se aplican solamente a los servicios de TCP/IP, no a AppleTalk. El firewall DoorStop brinda seguridad para cualquier servicio que use el protocolo TCP, mientras que ShareWay IP 3.0 expande la seguridad para específicamente para el Sistema de compartir archivo cuando se usa a través de Internet (IP). Conclusión Como conclusión del trabajo, me gustaría citar la siguiente: Es un sistema operativo apto para el diseño gráfico; ya que cuenta con un sistema compacto y muy estable para el desarrollo de proyectos que consumen mucha memoria y exigen mayores recursos de hardware. Es menos vulnerable en cuanto a virus en comparación con otros sistemas operativos. Es más complicado encontrar técnicos que lo puedan arreglar en caso de fallos. Conclusión obtenida de: macosupnfm[Blog Internet]. Mac OS. Noviembre 2010 – [Consulta: 27 abril 2013]. Disponible en: <http://macosupnfm.blogspot.com.es/p/conclusiones.html>