Archive for the ‘ESCUELA DE ELECTRÓNICA Y TELECOMUNICACIONES’ Category

PLANIFICACION DEL PROCESADOR

Lunes, Diciembre 22nd, 2008

1.1 INTRODUCCIÓN Y DEFINICIONES SOBRE PROCESOS

En términos simples un proceso es un programa en ejecución, la actividad actual, representada por el valor del contador de programa y el contenido de los registros del procesador, también la pila del proceso que contiene datos temporales, y una sección de datos que contiene variables globales.

1.2 PLANIFICACIÓN:

El objetivo principal de la multiprogramación es tener un proceso en ejecución en todo momento, para así optimizar el uso de la CPU. La lista de procesos que están esperando por un dispositivo de E/S particular se conoce como cola del dispositivo.

1.3 OPERACIONES CON PROCESOS
-Creación de procesos: Un proceso puede crear varios procesos nuevos, a través de una llamada al sistema para la creación de procesos durante la ejecución, el proceso creador se denomina proceso padre, así como los nuevos se denominan hijos.
-Terminación de un proceso: Un proceso se termina, cuando termina su declaración final y le pide al SO que lo borre usando la llamada exit en dicho punto el proceso puede regresar datos a su proceso padre; todos los recursos del proceso son liberados por el SO.

1.4 PLANIFICACIÓN DE LA CPU
La base para los SO con multiprogramación es la planificación de la CPU, un objetivo de multiprogramación es tener un proceso en ejecución en todo momento, para así maximizar el uso de la CPU.
-Ciclo de ráfaga de la CPU y de E/S: La planificación de la CPU depende de los siguientes procesos: la ejecución de procesos consta de un ciclo de ejecución de la CPU y espera de E/S, los procesos se alternan entre estos dos estados.
-Planificación apropiada
 Cuando un proceso conmuta del estado de ejecución al estado de espera.
 Cuando un proceso cambia del estado de ejecución al estado de listo.
 Cuando un proceso pasa del estado espera al estado listo.
 Cuando un proceso termina.
-Despachador: Este componente es el modulo que da el control de la CPU al proceso seleccionado por el planificador de corto plazo, debe ser tan rápido como sea posible, dado que es llamado en cada conmutación de procesos.

1.5 CRITERIOS DE PLANIFICACIÓN
Utilización de la CPU: Mantener a la CPU tan ocupada como sea posible
Rendimiento: Si la CPU está ejecutando procesos, entonces está realizando trabajo, una medida de este trabajo es el numero de procesos que se completan por unidad de tiempo.
Tiempo de entrega: Intervalo desde el momento en que se presenta un proceso hasta su terminación.
Tiempo de espera: Cantidad de tiempo que un proceso consume esperando en la cola de listos.
Tiempo de respuesta: Cantidad de tiempo desde la presentación de una solicitud hasta que se produce la primera respuesta.

1.6 ALGORITMOS DE PLANIFICACIÓN
-Planificación del primero en llegar, primero en ser atendido: A la CPU se le asigna el primer proceso que la solicite, la implementación de política del FCFS se maneja fácilmente con una cola de tipo FIFO.
-Planificación de primero el trabajo más corto: Cuando la CPU está disponible, se le asigna al proceso que tiene la ráfaga siguiente más pequeña de CPU.
-Planificación con prioridad: Está asociada a cada proceso y la CPU se asigna al proceso con la prioridad más alta. Los procesos con igual prioridad se planifican en un orden de tipo FCFS.
-Planificación round – robin: Diseñado para sistemas de tiempo compartido, este algoritmo por turnos es similar a la planificación FCFS, pero con la ventaja de conmutar entre procesos.
Planificación de colas de niveles múltiples: Es una división común entre procesos de primer plano y procesos de segundo plano, estos dos tipos de procesos tienen distintos requerimientos en tiempo de respuesta y por lo tanto diversas necesidades de planificación.
Planificación con colas de niveles múltiples y retroalimentación: Permite que un proceso se mueva entre cola, la idea de esta planificación es separar procesos con diferentes características de ráfaga de CPU, si un proceso toma demasiado tiempo de la CPU, será movido a una cola de menor prioridad.
Nombres: Nancy Abarca, Paola Chaunay, Mónica Cabrera, Silvana Ortega, Sandra González, María G. Gutiérrez,
Soraya Guamán, Cristian León. (windows)

PLANIFICACIÓN DEL PROCESADOR

Jueves, Diciembre 18th, 2008

NIVELES DE PLANIFICACIÓN DEL PROCESADOR

Se consideran tres niveles importantes de planificación, los que se detallan a continuación:

Planificación de alto nivel:

También se denomina Planificación de trabajos. Determina a qué trabajos se les va a permitir competir activamente por los  recursos del sistema, lo cual se denomina Planificación de admisión.

Planificación de nivel intermedio:

Determina a qué procesos se les puede permitir competir por la CPU.

Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos. Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.

Planificación de bajo nivel:

Determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la CPU al mismo, es decir que “despacha” la CPU al proceso.

La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

OBJETIVOS DE LA PLANIFICACIÓN

Los objetivos de la planificación del procesador son los siguientes e involucran a los conceptos detallados seguidamente:

Ser justa: Todos los procesos son tratados de igual manera. Ningún proceso es postergado indefinidamente.

Maximizar la capacidad de ejecución: Maximizar el número de procesos servidos por unidad de tiempo.

Maximizar el número de usuarios interactivos que reciban unos tiempos de respuesta aceptables: En un máximo de unos segundos.

Ser predecible: Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema.

Minimizar la sobrecarga: No suele considerarse un objetivo muy importante.

Equilibrar el uso de recursos: Favorecer a los procesos que utilizarán recursos infrautilizados.

Equilibrar respuesta y utilización: La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilización total de recursos podrá ser pobre.

Asegurar la prioridad: Los mecanismos de planificación deben favorecer a los procesos con prioridades más altas.

Dar preferencia a los procesos que mantienen recursos claves: Un proceso de baja prioridad podría mantener un recurso clave, que puede ser requerido por un proceso de más alta prioridad. Si el recurso es no apropiativo, el mecanismo de planificación debe otorgar al proceso un tratamiento mejor del que le correspondería normalmente, puesto que es necesario liberar rápidamente el recurso clave.

Degradarse suavemente con cargas pesadas: Un mecanismo de planificación no debe colapsar con el peso de una exigente carga del sistema. Se debe evitar una carga excesiva mediante las siguientes acciones:

No permitiendo que se creen nuevos procesos cuando la carga ya es pesada. Dando servicio a la carga más pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos.

 

CRITERIOS DE PLANIFICACIÓN

Para realizar los objetivos de la planificación, un mecanismo de planificación debe considerar lo siguiente:

·         La limitación de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la CPU, ¿la utiliza solo brevemente antes de generar una petición de Entrada / Salida?

·         La limitación de un proceso a la CPU: cuando un proceso obtiene la CPU, ¿tiende a usarla hasta que expira su tiempo?

·         Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben recibir inmediato servicio para garantizar buenos tiempos de respuesta.

·         La prioridad de un proceso: a mayor prioridad mejor tratamiento.

TIPOS DE PLANIFICACIÓN

Planificación a Plazo Fijo

Planificación Garantizada

Planificación del Primero en Entrar Primero en Salir (FIFO)

Planificación de Asignación en Rueda (RR: Round Robin)

Planificación del Trabajo Más Corto Primero (SJF)

Planificación del Tiempo Restante Más Corto (SRT)

Planificación el Siguiente con Relación de Respuesta Máxima (HRN)

Planificación por Prioridad

Colas de Retroalimentación de Niveles Múltiples

Planificación de Dos Niveles

ALGORITMOS DE PLANIFICACION

Apropiatividad: En ciertos casos podría ser posible tomar un recurso temporalmente de su poseedor y dárselo a otro proceso.

Expulsión: Característica por el cual el sistema operativo puede o no expulsar del estado de ejecución a un proceso dado.

FIFO (First in, First ouput) Cuando se tiene que elegir a qué proceso asignar la CPU se escoge al que lleva más tiempo listo. El proceso en ejecución se mantiene en la CPU hasta que se bloquea voluntariamente.

SJF (Short job first) Este tipo de algoritmo de planificación se usa para trabajos en batch o de procesamiento por lotes en los cuales se puede saber cuál es el tiempo de duración de la ejecución de cada proceso y entonces se puede seleccionar primero el trabajo más corto. El problema que se presenta con éste algoritmo es que los grandes procesos podrían sufrir de inanición dado que cualquier proceso pequeño se “cuelga” sobre uno de mayor tamaño y como resultado final se podría dar el caso que el proceso grande nunca obtenga procesamiento.

SRTF (Short Remaining time first) Igual al anterior, excepto pro que si un nuevo proceso pasa a listo y es más corto que lo que queda por ejecutar del proceso en ejecución, el proceso en ejecución pasa a listo y el nuevo a ejecución.

Con prioridad A cada proceso se le asocia una prioridad y la CPU es asignada al proceso de mayor prioridad. Las prioridades pueden ser definidas externa o internamente.

HRN (Prioridad a la tasa de respuesta más alta) Es una disciplina de planificación no apropiativa en la cual la prioridad de cada proceso no sólo se calcula en función del tiempo de servicio, sino también del tiempo que ha esperado para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinámicas en HRN se calculan de acuerdo con la siguiente expresión:

Prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio

Múltiples colas Particiona la lista de listos en varias colas separadas de entre las cuales se seleccionará una para cada tipo de proceso. Cada cola tendrá su propio algoritmo de planificación y una prioridad respecto a las otras.

Integrantes: Carlos Castillo, Jorge Castillo, Rodrigo Cueva, Daniel Carrión, Alex Guaman, Diego Carrera, José Castillo

PLANIFICACIÓN DEL PROCESADOR

Miércoles, Diciembre 17th, 2008

INTRODUCCIÓN
Planificación: Gestión del procesador realizada por los sistemas operativos a través de distintas políticas y mecanismos. Su objetivo principal es el de dar un buen servicio a todos los procesos que existan en un momento dado en el sistema.
La planificación del procesador es la base de los sistemas operativos multiprogramados. Al conmutar el procesador entre los procesos, el sistema operativo puede hacer más productiva la computadora.

NIVELES DE PLANIFICACIÓN
• Planificación a largo plazo (planificador de trabajos): Decide cuál será el próximo trabajo que se va a ejecutar. Sólo existe en los sistemas de proceso por lotes, donde la decisión se basa en las necesidades de recursos y su disponibilidad. En los sistemas de tiempo compartido tiene como única misión cargar los programas que se desean ejecutar en memoria. Es el encargado de crear procesos.
• Planificación a mediano plazo (planificador de swapping): Decide si un proceso que está en ejecución en estado bloqueado o suspendido debe ser extraído de la memoria temporalmente. Posteriormente, cuando el sistema se encuentre más descargado, devolverá dicho proceso a la memoria y al estado de ejecución. Está técnica se conoce con el nombre de swapping. Sólo existe en sistemas de tiempo compartido y en aquellos que tienen gestión de memoria virtual. Gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión.
• Planificación a corto plazo (planificador de procesador): Es el encargado de decidir cómo y cuándo tendrá acceso al procesador a un proceso que está preparado para utilizarlo. Por ello, lleva a cabo las funciones de la multiprogramación, estando siempre residente en memoria y ejecutándose con mucha frecuencia; por ello, debe ser de ejecución muy rápida. En este nivel, es donde se debe dar buen servicio a los procesos interactivos para que el usuario no perciba, o lo haga en pequeño grado, que está compitiendo por el procesador junto con otros usuarios.

OBJETIVOS DE PLANIFICACIÓN
• Justicia. La política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y perjudicar a otros
• Máxima capacidad de ejecución. Debe dar un servicio aceptable para que todos los trabajos se realicen lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de proceso.
• Máximo número de usuarios interactivos. En los sistemas de tiempo compartido se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente.
• Predecibilidad. La política de planificación debe concebirse de tal forma que en todo momento pueda saberse cómo será su ejecución.
• Minimización de la sobrecarga. La computadora debe tener poca sobrecarga ya que ésta incide directamente sobre el rendimiento final del sistema: a menor sobrecarga, mayor velocidad de proceso. Por ello, los cambios de contexto deben disminuirse.
• Equilibrio en el uso de recursos. Para obtener un buen rendimiento en el uso de los recursos y que éstos estén ocupados equitativamente el mayor tiempo posible.
• Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, éste debe ejecutarse más rápidamente.

CRITERIOS DE PLANIFICACIÓN
Criterios a considerar a la hora de elegir o diseñar un buen algoritmo de planificación:
1- Equidad. Garantizar que cada proceso obtiene su proporción justa de la CPU.
2- Eficacia, eficiencia, utilización de la CPU. Mantener ocupada la CPU el 100% del tiempo.
3- Tiempo de respuesta. Velocidad con que el ordenador da respuesta a una petición. Depende mucho de la velocidad de los dispositivos de entrada/salida.
4- Tiempo de regreso o de servicio. Es el tiempo que tarda en ejecutarse un proceso, donde se incluye el tiempo de carga del programa en memoria, el tiempo de espera en la cola de procesos preparados, el tiempo de ejecución en el procesador y el tiempo consumido en operaciones de entrada/salida.
5- Tiempo de ejecución. Es idéntico al tiempo de servicio menos el tiempo de espera en la cola de procesos preparados; es decir, es el tiempo teórico que necesitaría el proceso para ser ejecutado si fuera el único presente en el sistema.
6- Tiempo de procesador. Es el tiempo que un proceso está utilizando el procesador sin contar el tiempo que se encuentra bloqueado por operaciones de entrada/salida.
7- Tiempo de espera. Es el tiempo en que los procesos están activos pero sin ser ejecutados, es decir, los tiempos de espera en las distintas colas.
8- Rendimiento. Es el número de trabajos o procesos realizados por unidad de tiempo, que debe ser lo mayor posible.

TIPOS DE PLANIFICACIÓN
Cuando un proceso ha recibido la CPU, las circunstancias bajo las cuales la dejará dependen de si la política de planificación es:
- Apropiativa: si se le asigna la CPU a un proceso se le puede quitar.
* Útil para sistemas donde algunos procesos requieren atención rápida
* Tienen el costo del cambio de contexto
- No apropiativa: una vez que un proceso tiene asignada la CPU no le se puede quitar hasta que termine su ejecución.
* Los trabajos largos retrasan a los cortos
* Tratamiento más justo para todos los procesos
* Los trabajos nuevos de alta prioridad no pueden desplazar a los trabajos en espera
Planificación de múltiples procesadores.
El problema de planificación se vuelve más complejo. Se han ensayado muchas posibilidades, tales como:
• Tener una cola aparte para cada procesador; sin embargo, un procesador podría estar ocioso, con su cola vacía, mientras otro está muy ocupado.
• Tener una cola común para los procesos listos. Los procesos ingresan en una cola y se les asigna cualquier procesador que esté disponible. Existen 2 estrategias para este caso:
- Cada procesador se auto - planifica. El procesador examina la cola común de procesos listos y escoge el proceso que ejecutará. Como varios procesadores tratan de acceder a una estructura de datos común y actualizarla es preciso programar cada procesador con mucho cuidado.
- Para evitar los problemas de la estrategia anterior se nombra a un procesador como planificador para los demás procesadores, lo que da lugar a una estructura maestro - esclavo. Una variante es que el procesador maestro tome todas las decisiones de planificación y se encargue del procesamiento de E/S y otras actividades del sistema. Los demás procesadores ejecutan código de usuario. Este se conoce como multiprocesamiento asimétrico, porque sólo un procesador accede a las estructuras de datos del sistema y reduce la necesidad de compartir recursos.

ALGORITMOS DE PLANIFICACIÓN
El planificador del procesador tiene como misión la asignación del mismo a los procesos que están en la cola de procesos preparados. Esta cola es alimentada desde dos puntos distintos:
1. Cada vez que un usuario inicie la ejecución de un programa, el planificador a largo plazo recibe la orden de ejecución, crea el proceso y lo pasa al planificador a corto plazo, colocándose en la cola de procesos preparados.
2. Cuando un proceso deja de estar en estado de ejecución y no existen causas para su bloqueo, o deja de estar bloqueado, pasa nuevamente a la cola de procesos preparados.
Cuando un proceso termina su ejecución, deja de existir para el planificador.
Las políticas de planificación se agrupan en:
• Políticas apropiativas. Son las que producen un cambio de proceso con cada cambio de contexto; es decir, el proceso que está haciendo uso del procesador puede ser temporalmente suspendido y permitir que otro proceso se apropie del procesador. Se utilizan en sistemas operativos con tiempo compartido y tiempo real.
• Políticas no apropiativas. Son aquellas en las que un proceso no abandona nunca el procesador desde su comienzo hasta su fin. Se utilizan en sistemas de proceso por lotes.
Planificación en tiempo real.
Evaluación de algoritmos.
El siguiente paso es evaluar los diversos algoritmos que se estén considerando. Hay varios métodos de evaluación distintos, entre ellos:
• Modelado determinista. Es un tipo de evaluación analítica que toma una carga de trabajo predeterminada específica y define el desempeño del algoritmo para esa carga de trabajo.
• Modelos de colas. Consiste en determinar las distribuciones características del sistema, tales como: la distribución de las ráfagas de CPU y E/S (comúnmente exponencial) y la distribución de los tiempos en que los procesos llegan al sistema. A partir de estas distribuciones es posible calcular el rendimiento promedio, el aprovechamiento, el tiempo de espera, etc. para la mayor parte de los algoritmos. Los modelos consisten asociar a cada recurso colas de procesos en espera. Conociendo frecuencias de llegada y rapidez de servicio es posible calcular el aprovechamiento, la longitud de colas, el tiempo de espera promedio, etc.
• Simulaciones. Implica programar un modelo del sistema de computación. El simulador tiene una variable que representa un reloj; cuando se incrementa el valor de esta variable, el simulador modifica el estado del sistema de modo que refleje las actividades de los dispositivos, los procesos y el planificador. Conforme se ejecuta la simulación, se recopilan e imprimen los datos estadísticos que indican el desempeño del algoritmo.
Los datos que se alimentan a la simulación se pueden generar de varias maneras. El método más común emplea un generador de números aleatorios. Otra forma es a través de cintas de rastreo que se crean vigilando el sistema real y registrando la secuencia de sucesos reales.
• Implementaciones. La única forma exacta de evaluar un algoritmo de planificación es codificarlo, colocarlo en el SO y ver cómo funciona. El principal inconveniente es el costo. Es necesario codificar el algoritmo y modificar el SO para que lo apoye, crear las estructuras de datos que requiere y ver la reacción de los usuarios ante un SO que cambie constantemente. Otro inconveniente de cualquier evaluación de algoritmos es que el entorno en el que se usa el algoritmo cambiará no sólo cuando se escriben nuevos programas y los tipos de problemas cambian sino también por el desempeño del planificador.
Existen algoritmos de planificación más flexibles que permiten los administradores o usuarios alterarlos o modificar las variables que utilizan.
Planificación de la CPU – UNIX
Planificación de la CPU – LINUX
Planificación de la CPU – WINDOWS NT

INTERANTES: Evelin Alvarado, Robert Chuquimarca, Pablo Cruz, Ma. Fernanda Cún, Andrés Gutiérrez, Nadia Jaramillo, Dayanna Montalvo, Carlos Sigüenza.

Mac OS X

Jueves, Noviembre 27th, 2008

Mac OS XEs el actual sistema operativo de la familia de ordenadores Macintosh. Es un sistema operativo basado en UNIX; contiene un núcleo de bajo nivel que se llama Darwin y esta basado en la licencia APSL (Apple Public Source License).  Incorpora 3 tecnologías: Quartz Extreme, OpenGL, QuickTime.Capas del Sistema Mac OS XNúcleo del Sistema Operativo: El núcleo se refiere a la base fundamental de Mac OS X, conocido como Darwin. Esta capa es responsable para el manejo de todas las operaciones de E/S (entrada y salida). También maneja la memoria y el uso del procesador.Servicios del Núcleo: Implementan los servicios del sistema operativo, los cuales son usados por las aplicaciones. Entre estos servicios tenemos: QuickTime (Reproducir Videos), Quartz (Dibujos en 2D), Core Audio, Video (Efectos especiales).Framework para Desarrolladores: Permite la ejecución de varias aplicaciones en Mac OS X.Un Framework es una estructura de soporte definida, puede incluir soporte de programas, librerías y un lenguaje común para ayudar a desarrollar y unir los diferentes componentes de un proyecto.Interfáz del Usuario y Aplicaciones: Las aplicaciones son los programas que tú ejecutas.La capa de aplicación es donde el usuario interactúa con su Macintosh. Además de las aplicaciones diseñadas para Apple, Mac OS X incluye soporte para ejecutar aplicaciones basadas en: Java, UNIX y aplicaciones clásicas del sistema Mac OS 9.ADMINISTRACIÓN DE PROCESOS Un proceso es un programa en ejecución o un conjunto de hilos (tareas). Los procesos pueden ejecutarse sin tener una interfaz gráfica (Daemons). El Monitor de Actividad es la utilidad que se utiliza para la Administración de los Procesos. Esta aplicación muestra información de procesos relacionada con: ID del proceso (PID) - Nombre del proceso – Usuario - % de uso de CPU - Memoria utilizadaADMINISTRACIÓN DE RECURSOS Y FIABILIDAD Con la multitarea cooperativa del sistema operativo actual, se supone que el Finder y los programas no deberían cruzarse uno en los caminos de los otros . ( En el cuadro de diálogo ” Obtener Info ” de una aplicación se puede establecer la cantidad de memoria que la aplicación se reserva para ella; la petición de ciclos de CPU es invisible al usuario, pero es algo que los programadores deben decidir al desarrollar las aplicaciones . ) En la práctica, los programas, incluyendo los componentes del sistema operativo, como el Monitor de Impresión, con frecuencia no cooperan, robándose unos a otros memoria y ciclos de CPU, y a veces causando bloqueos. ADMINISTRACIÓN DE ARCHIVOS La multitarea no cooperativa, en la cual el Mac OS cambia automáticamente de una a otra tarea activa a intervalos de tiempo fijos, para asegurar que las operaciones que son más sensibles al tiempo (como la entrada/salida de archivos o las comunicaciones) obtienen una cantidad suficiente de éste . (El sistema operativo actual confía que cada aplicación ceda el acceso al tiempo de CPU, los servicios de archivos, puertos, y otros recursos del sistema) El método ” no cooperativo ” aísla cada programa de modo que no pueda causar problemas a los otros. La multitarea no cooperativa se implementa sólo en servicios de red, y en los threads (mini programas que un programa o el propio Finder pueden generar para ejecutar una tarea, como un mandato de buscar y reemplazar, o una rutina de impresión). Los programas y el Finder aún deben compartir los recursos de manera cooperativa para la mayoría de sus funciones. La no cooperación parcial aumentará la estabilidad del Mac y su capacidad para manejar múltiples servicios, como E/S y gestión de redes, pero los programas todavía colisionarán entre ellos y con el Finder.PROTECCIÓN DE MEMORIA Con el sistema operativo Macintosh actual, las tareas se limitan a su propia área de la memoria sólo si se comportan correctamente, de manera que, cuando una aplicación falla, puede pisar los datos en la memoria de otra aplicación, e incluso los datos del propio sistema operativo .

Interprete de Comandos Mac OS X

Arranque
Pulsar X durante el arranque. Fuerza al Mac OS X a arrancar
Pulsar Opción-Comando-Mayúsculas- Borrar durante el arranque ..
Pulsar C durante el arranque… Arranca desde un CD con carpeta del sistema
Ventana del Finder
Comando-W … Cierra la ventana
Opción-Comando-W… Cierra todas las ventanas
Opción + click botón cerrar … Cierra todas las ventanas abiertas
Comando + arrastrar ventana… Mueve una ventana sin activarla
Comando + pulsar título ventana… Opta a una carpeta que contiene la carpeta en uso
Comando-Flecha Derecha… Descubre la carpeta (vista lista)
Opción-Comando-Flecha Derecha… Descubre la carpeta y subcarpetas (vista lista)
Comando-Flecha Izquierda… Contrae la carpeta (vista lista)
Opción-Comando-Flecha Arriba… Abre la carpeta origen y cierra la actual en uso
Comandos de Menú
Menú Apple
Mayúsculas-Comando-Q… Cierra la sesión
Mayúsculas-Opción-Comando-Q … Cierra la sesión inmediatamente
Menú Finder
Mayúsculas-Comando-Borrar… Vacia la Papelera
Opción-Mayúsculas-Comando-Borrar … Vacia la Papelera sin diálogo
Comando-H Oculta el Finder
Opción-Comando-H… Oculta otras aplicaciones
Menú Archivo
Comando-N… Nueva ventana Finder
Mayúsculas-Comando-N … Nueva carpeta
Comando-O … Abre
Comando-S … Guarda
Mayúsculas-Comando-S… Guarda como
Comando-P… Imprime
Comando-W… Cierra la ventana
Menú Edición
Comando-Z… Deshace
Comando-X … Corta
Comando-A… Selecciona todo
Menú Ver
Comando-1… Vista como Iconos
Comando-2… Viista como Lista
Menú Ir
Comando - [… Vuelve
Comando - ] … Adelanta
Mayúsculas-Comando-C… Ordenador
Mayúsculas-Comando-H… Inicio
Mayúsculas-Comando-G… Ir a la carpeta
Comando-K… Conecta al Servidor
Menú Ventana
Comando-M… Minimiza la ventana
Opción-Comando-M… Minimiza todas las ventanas
Menú Ayuda
Comando-?… Abre la Ayuda Mac
Acceso Universal
Opción-Comando- * (asterisco) … Habilita el Zoom
Opción-Comando- + (más) … Acerca la vista
Opción-Comando- - (menos) … Aleja la vista
Acceso Total de Teclado
Control-F2… Realza el Menú Apple
Control-F3 … Realza el Dock
Control-F4… Realza la ventana (activa) o la ventana colocada inmediatamente detrás
Control-F5… Realza la Barra de Herramientas
Control-F6… Realza una paleta de herramientas y las paletas subyacentes por orden de activación

Teclas de Ratón
8… Mueve Arriba
2… Mueve Abajo
4… Mueve a la Izquierda
6… Mueve a la Derecha
Otros Comandos:
Comando-Mayúsculas-3… Toma una imagen de la pantalla
Comando-Mayúsculas-4 … Toma una imagen de la selección
Comando-Mayúsculast-4, entonces barra Espaciadora … Toma una imagen de la ventana seleccionada
Control-Comando-Mayúsculas-3… Copia la pantalla capturada al Portapapeles en vez de salvarla como un archivo.

SISTEMAS DE PROTECCION. Introducción a los permisos y resolución de problemas. Para incrementar la seguridad en el sistema, Mac OS X utiliza los permisos para limitar el acceso a los usuarios. Se puede definir 3 tipos de permisos: lectura y escritura (Propietario), sólo lectura (Grupo e invitados), sin acceso (Otros). Modelo de Acceso Basado en Usuarios. Por seguridad y facilidad de uso, Mac OS X crea una carpeta personal para cada usuario en la cual únicamente el propietario y el Administrador del Sistema pueden modificar los contenidos de las carpetas, existen dos excepciones para los permisos en la carpeta personal de los usuarios: Las carpetas Web y Pública.Secuencia de ArranqueBootROM. Es importante que los usuarios y administradores Mac OS X conozcan que sucede al momento encender su computador hasta que aparece la ventana de login, al iniciar Mac OS X, éste ejecuta una serie de tareas para preparar el sistema, el BootROM es un componente de hardware que contiene los programas de inicio (boot):POST (Power-On Self Test), Open Firmware. POST. El Power-On Self Test revisa los componentes básicos del hardware (Procesador, RAM, interfaces de hardware importante). Si el POST falla, los errores se manifiestan con un sonido (“beep”): Beep - Memoria RAM no instalada, Beeps - Memoria RAM incompatible, Beeps - Memoria defectuosa, Beeps - Imagen de inicio defectuosa en BootROM, Beeps - El procesador es inutilizable. Open Firmware. El Open Firmware inicializa el resto de hardware, construye el árbol inicial de dispositivos y se selecciona el sistema operativo a utilizar. también verifica si el usuario presiona alguna combinación de teclas para alterar el proceso de inicio.Comando AcciónComando + Opción + O + F… (Iniciar en modo Open FirmWare)Comando + Opción + P + R… (Reiniciar parametros de RAM)Comando + Opción + Shift + Delete… (Saltar el disco de inicio)Opción… Abrir el Gestor de ArranqueX…  Forzar el inicio de Mac OS XC… Iniciar desde un disco opticoClic Mouse… Expulsar disco opticoN… Iniciar desde un servidor de RedR… Reiniciar la PantallaT… Iniciar en modo Disco DestinoShift… Iniciar en modo SeguroComando + V… Iniciar en modo VerboseComando + S… Iniciar en modo Usuario SimpleLaunchd. Proceso que maneja los demonios del sistema y de los usuarios, los demonios son programas que se ejecutan constantemente y generalmente manejan las peticiones a los servicios que el sistema tiene activados. Launchd revisa los archivos .plist que se encuentran en las carpetas LaunchDaemons y LaunchAgentsSiguiendo un Orden Metódico de Eliminación. Existe un orden para el diagnóstico de un problema: relacionados con el usuario, relacionados con el software, relacionados con el SO, relacionados con el hardware.Resolución de Problemas Sistemáticamente. La resolución de problemas es un proceso, cuya meta es la siguiente: resolver el problema apropiadamente, resolverlo rápidamente. Ejecutando Diagnósticos. Paquetes de software que permiten determinar el desempeño del sistema: utilidad de discos, perfiles del sistema, utilidad de red, software de otros proveedores, utilizando el modo usuario simple – /sbin/fsck –y – /sbin/mount –uw /. Investigar el Problema. Recurrir a documentación o recursos para investigar el origen del problema. Existen muchas fuentes: Archivos Read Me,  Ayuda de Mac, Manuales de Usuario, Utilidad de red, Consola, Sitio Web de Apple, Base de Conocimientos, Listas de Correo y Foros de Discusión.SERVICIOS Mac OS X incluye diversos servicios de red, Internet y distribución basados en tecnologías de código abierto que respetan los estándares. Estos servicios son fáciles de configurar y utilizar, e incluyen los siguientes: ·         Compartir Archivos usando AFP. ·         Compartir Windows usando SMB/CIFS (Samba). ·         Protocolo de transferencia de archivos FTP. ·         Compartir Web usando el servidor web de código libre Apache. ·         Compartir Impresora. ·         Bonjour (configuración cero). ·         Compartir Internet. ·         Protección mediante Firewall. ·         Conexión remota basada en una interfaz shell segura (SSH). ·         Eventos Apple Remotos. Puede usar estos servicios para compartir archivos y recursos, proteger el ordenador y permitir eventos remotos. Principales peculiaridades de Mac OSX El conocer las peculiaridades de un sistema operativo es útil durante el análisis de programas, entre ello de los programas nocivos. Muchas de las peculiaridades de Mac OS X están relacionadas con su origen: Mac OS X fue creada basándose en sistemas Unix, lo que se reflejó en el diseño y los principios del sistema en general. Del sistema operativo Mach heredó las interrelaciones entre procesadores; de BSD, la pila de red.Soporte de las llamadas del sistema de Mach y BSD El núcleo de Mac OS X (xnu) está basado en los núcleos de los sistemas operativos Mach y FreeBSD, pero también incluye parte de MkLinux, NetBSD, OpenBSD y otras tecnologías de Mach. Mac OS X Admite las llamadas del sistema de Mach y BSD Como el núcleo de OS X está basado tanto en Mach cómo en FreeBSD, xnu contiene dos tablas de llamadas del sistema, de Mach y BSD y admite los API de los sistemas BSD y Mach.El medio del tiempo de ejecución Para poder admitir por lo menos parte de la herencia de los sistemas operativos anteriores, Mac OS X consta de un medio de tiempo de ejecución de tres componentes:

  1. Dyld Runtime Environment. El medio de tiempo de ejecución basado en el cargador dinámico de dyld.
  2. CFM Runtime Environment. La herencia de OS 9 sirve para el soporte de las aplicaciones que dyld no puede ejecutar, pero que usan las posibilidades brindadas por Mac OS X. Esta parte está realizada en la biblioteca Carbon.
  3. Classic Runtime Environment. Sirve para ejecutar las aplicaciones de OS en OS X.

De esta manera, en Mac OS X existe la posibilidad de ejecutar diferentes tipos de aplicaciones, incluso para versiones anteriores de Mac OS.El formado de ficheros ejecutables macho 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) describe la manera en que el núcleo debe cargar y lanzar el fichero ejecutable. Ambos le comunican al sistema operativo:·         cómo funciona el cargador dinámico, ·         cómo cargar las bibliotecas compartidas, ·         cómo organizar el espacio de direcciones del proceso, ·         dónde buscar el punto de entrada, Como macho es el principal formato de los ficheros ejecutables en Mac OS X, analizaremos con más detalle su organización.Cómo está organizado macho A grandes rasgos, macho se puede dividir en tres partes: título, instrucciones de carga y segmentos, que pueden constar de varias secciones. El título y las instrucciones de carga describe las principales características del fichero, mientras que el segmento de datos contiene un conjunto de bytes a los cuales se remiten las instrucciones de carga. Título. Los primeros cuatro bytes del título determinan el así llamdo “magic number”, que identifica el fichero como de 32 o 64 bytes. Además, permiten al procesador determinar el orden de los bytes. El título define la arquitectura para la cual se ha compilado el fichero. Esto permite al núcleo garantizar el lanzamiento de los ficheros sólo en aquella plataforma para la que fueron compilados. A veces, el fichero binario puede contener código para más de una arquitectura. Este formato se conoce como Universal Binaries. En este caso el fichero empieza por un título fat. Instrucciones de carga. El campo de instrucciones de carga contiene una lista de instrucciones que comunican al núcleo de qué manera debe cargar los diferentes segmentos del fichero. Estas instrucciones describen cómo cada segmento está alineado en la memoria, qué derechos de acceso tiene y dónde está ubicado en la memoria.Segmentos y secciones. El fichero ejecutable macho suele tener 5 segmentos:*       __PAGEZERO. Ubicado en la dirección virtual cero, no tiene ninguna protección. Este segmento no tiene ningún campo en el fichero en el disco. *       __TEXT. Contiene datos con acceso sólo de lectura y ejecución. *       __DATA. Contiene datos con acceso de escritura. Esta sección está marcada como copy-on-write. *       __OBJC. Contiene datos usados por el medio de ejecución Ojective-C. *       __LINKEDIT. Contiene datos que se usan para establecer relaciones dinámicas.Los segmento __TEXT y __DATA contienen cero o más secciones. Cada sección contiene un determinado tipo de datos, por ejemplo: el código usado, las constantes, líneas de texto, etc. Así, el código ejecutable y no ejecutable se guardan en un segmento separado.Utilidades para el análisis de programas Existen dos formas principales de encarar el análisis de programas: el análisis dinámico y el estático. El análisis dinámico presupone el lanzamiento del código del programa en un depurador o un medio virtual y el análisis de su comportamiento. El análisis estático de los programas es el estudio del código con la ayuda de un desensamblador, sin ejecutar el código.Cada situación dicta que tipo de análisis es mejor usar. Ambos enfoques no se excluyen el uno al otro, sino que con frecuencia se complementan.Utilidades para el análisis dinámico de programas Al igual que la mayoría de los sistemas Unix, Mac OS X ofrece muchas utilidades que pueden ser de gran provecho durante el análisis dinámico de aplicaciones y el diagnóstico del sistema. Muchas de ellas llegaron a Mac desde Unix, pero también hay programas que existen sólo para Mac OS X. Analizaremos varias utilidades que pueden instalarse desde la distribución de Mac OS X.

Utilidades para el análisis estático Con mucha frecuencia, durante el análisis de programas nocivos no hay la posibilidad de ejecutar el programa analizado, o la ejecución del código no es deseable por criterios de seguridad. En estos casos es necesario recurrir al desensamblaje de ficheros. Debido a que Mac OS X usa ficheros ejecutables en formato macho, el análisis estadístico en este sistema operativo tiene determinadas particularidades. Así, la principal utilidad para analizar ficheros en formato macho es el programa otool. Con su ayuda se puede obtener información como: título del fichero, instrucciones de carga, punto de entrada y hasta se puede desensamblar el contenido de la sección que contiene el código ejecutable.

xxd permite realizar la conversión del fichero binario en hexadecimal y viceversa; IDAPro es un desensamblador.A la par del crecimiento de la popularidad de Mac OS X en la plataforma Intel, muchos fabricantes de software han lanzado versiones de sus programas para esta plataforma. En la nueva versión 5.1 de Mac OS X se incluye. Esto les facilitará la vida a los usuarios que “inmigran” desde Windows. Además, a veces el uso de IDAPro permite ejecutar algunas tareas de forma más rápida y simple que usando los medios estándar de Mac OS X. 

BIBLIOGRAFIA:MAC SOLUCIONES, Soporte Técnico Certificado, Bob Le Vitus, Shelly Brisbin.http://www.viruslist.com/sp/analysis?pubid=207270926

INTERANTES:Carlos Sigüenza, Evelin Alvarado, Dayanna Montalvo, Robert Chuquimarca, Pablo Cruz, Ma. Fernanda Cún, Andrés Gutiérrez y Nadia Jaramillo   

Sistema Operativo Mac

Jueves, Noviembre 6th, 2008

Sistema Operativo Mac

HISTORIA DE WINDOWS

Jueves, Octubre 30th, 2008

SISTEMA OPERATIVO WINDOWS

HISTORIA WINDOWS

Windows 1.0. Sus principales características eran de una interfaz gráfica con menús desplegables, ventanas en cascada y soporte para mouse, gráficos de pantalla e impresora independientes del dispositivo, multitarea cooperativa entre las aplicaciones Windows.
Windows 2.0.Las principales características fueron ventanas traslapadas, archivos PIF para aplicaciones DOS
Windows 3.0. El sistema incluía una nueva forma de organizar archivos, mejores gráficos y un manejo de memoria optimizado. Esto permitiría ejecutar en modo multitarea viejas aplicaciones basadas en MS-DOS.
Windows 3.11. Técnicamente una mejora de la interfaz grafica de la versión anterior, pero con varios agregados: soporte para fuentes TrueType escalables, capacidades multimedia y mucho más.
Windows 3.11 NT. Siendo un sistema operativo completamente nuevo, Windows NT sufrió problemas de compatibilidad con el hardware y el software existentes.
Windows 95. En contraste con las anteriores versiones de Windows, Win95 es un sistema operativo más que una interfaz gráfica de usuario que corre sobre DOS.
Windows 98. Esta versión incorpora el Internet Explorer dentro de la interfaz. Luego se lanzó la segunda edición con algunas funciones extra.
Windows 2000. En este mismo año vio la luz Windows 2000, una nueva versión de Windows NT muy útil para los administradores de sistemas y una gran cantidad de servicios de red y admitía dispositivos Plug&Play que venían siendo un problema con Windows NT.
Windows ME. Cabe destacar que este sistema operativo fue muy poco popular por sus continuos errores y muchas desventajas de uso. Estos inconvenientes hicieron que, salvo en contadas ocasiones, sus usuarios retornaran rápidamente al uso de Windows 98, o bien que dieran el salto a Windows 2000.
Windows XP (eXPerience). La unión de Windows NT/2000 y la familia de Windows 9.x se alcanzó con Windows XP en su versión Home y Professional. Windows XP usa el núcleo de Windows NT. Incorpora una nueva interfaz y hace alarde de mayores capacidades multimedia. Dispone de otras novedades como la multitarea mejorada, soporte para redes inalámbricas y asistencia remota. Esta versión ofrece una interfaz de acceso fácil con todo lo relacionado con multimedia (TV, fotos, reproductor DVD, Internet).
Windows Vista. Windows Vista trae una nueva interfaz gráfica llamada Aero, que es una evolución de la interfaz gráfica denominada Luna de Windows XP. La última versión y una de las más discutidas. Agrega efectos visuales asombrosos y varias opciones innovadoras como mejor control en las cuentas de usuarios, firewall bi-direccional, mayor seguridad, anti spyware, Windows Search, la barra del costado.
Windows 7. Se planea que sea la próxima versión de Microsoft Windows, la cual sucederá a Windows Vista. Según Microsoft, Windows 7 será creado bajo un nuevo kernel, para así hacerlo más seguro y rápido. Microsoft asegura que necesitará menos recursos que Windows Vista. Además, tendrá un puerto muy similar al de Apple OS X, integrado con el SO. Por último, se supo que tendrá una aplicación de mapeado que se retroalimentara de Microsoft Live Maps y Microsoft Virtual Earth.

NOMBRES: Sandra González Paola Chaunay
Gabriela Gutiérrez Nancy Abarca
Soraya Guaman Mónica Cabrera
Cristian J León G Silvana Ortega

EVOLUCIOON DE MAC OS

Jueves, Octubre 30th, 2008

Sistema Operativo Mac OSSistema Operativo Mac OS

Bienvenidos

Martes, Septiembre 30th, 2008

Sres. Profesionales en Formación

Este blog está dedicado a compartir información relevante acerca de sus trabajos de investigación durante el presente semestre septiembre 2008 - febrero 2009. El mismo que está siendo compartido con la Escuela de Ciencias de la Computación; y que servirá como un medio de consulta en lo referente a Sistemas Operativos.