blablabia

13
1 1. Software de un sistema operativo: El software se puede clasificar por su función en: Sistema operativo: permite administrar los recursos de un ordenador, hace de interfaz entre el hardware y el resto de software que usamos. Programas de aplicación: es el software que se superpone al Sistema operativo y se aprovecha de él para ofrecernos diferentes funcionalidades que le pediremos a nuestro sistema informático. 2. El sistema operativo: El sistema operativo sirve para hacer de enlace entre la máquina y los programas de aplicación. Podemos definirlo de varias maneras. Son los programas que hacen utilizable el hardware. Es un programa que actúa de intermediario entre el usuario y el hardware del ordenador, cuyo objetivo principal es que el sistema informático se use de manera cómoda y que el hardware se use de manera eficiente. Un sistema operativo debe tener las siguientes características: Eficiencia: permitir que los recursos del ordenador se usen eficientemente. Fiabilidad: no debe tener errores, debe prever las situaciones críticas y resolverlas si se producen. Robustez: debe responder de forma predecible y controlada a los errores. Seguridad: debe protegerse activamente a sí mismo de acciones accidentales o malintencionadas. Extensibilidad: la aparición constante de nuevo hardware y software exige al sistema operativo que sea extensible a ello. Facilitar entradas y salidas: un sistema operativo debe hacer fácil el uso y manejo de los dispositivos de entrada y salida. Manejar las comunicaciones en red: Debe permitir al usuario el uso de redes con facilidad. Entorno amigable: proveer un entorno de trabajo que facilite el uso al usuario. 3. Clasificación de los sistemas operativos: Los sistemas operativos pueden clasificarse de varias maneras:

Upload: juanjo-perez

Post on 12-Dec-2015

216 views

Category:

Documents


0 download

DESCRIPTION

resumen

TRANSCRIPT

Page 1: blablabia

1

1. Software de un sistema operativo:

El software se puede clasificar por su función en:

Sistema operativo: permite administrar los recursos de un ordenador, hace de

interfaz entre el hardware y el resto de software que usamos.

Programas de aplicación: es el software que se superpone al Sistema operativo

y se aprovecha de él para ofrecernos diferentes funcionalidades que le

pediremos a nuestro sistema informático.

2. El sistema operativo:

El sistema operativo sirve para hacer de enlace entre la máquina y los programas de

aplicación. Podemos definirlo de varias maneras.

Son los programas que hacen utilizable el hardware.

Es un programa que actúa de intermediario entre el usuario y el hardware del

ordenador, cuyo objetivo principal es que el sistema informático se use de

manera cómoda y que el hardware se use de manera eficiente.

Un sistema operativo debe tener las siguientes características:

Eficiencia: permitir que los recursos del ordenador se usen eficientemente.

Fiabilidad: no debe tener errores, debe prever las situaciones críticas y

resolverlas si se producen.

Robustez: debe responder de forma predecible y controlada a los errores.

Seguridad: debe protegerse activamente a sí mismo de acciones accidentales o

malintencionadas.

Extensibilidad: la aparición constante de nuevo hardware y software exige al

sistema operativo que sea extensible a ello.

Facilitar entradas y salidas: un sistema operativo debe hacer fácil el uso y

manejo de los dispositivos de entrada y salida.

Manejar las comunicaciones en red: Debe permitir al usuario el uso de redes

con facilidad.

Entorno amigable: proveer un entorno de trabajo que facilite el uso al usuario.

3. Clasificación de los sistemas operativos:

Los sistemas operativos pueden clasificarse de varias maneras:

Page 2: blablabia

2

También podemos clasificarlos de otras maneras:

Por la forma de ofrecer los servicios:

Centralizados: los computadores mainframe se encargaban de todo y los

usuarios solamente manejaban terminales tontos.

Distribuidos: son sistemas que permiten distribuir las tareas entre varios

procesadores.

Sistemas operativos en red: son aquellos que tienen al menos a dos

computadores unidas con el objetivo de compartir recursos e información del

sistema.

Sistemas operativos de escritorio: son los utilizados en equipos de sobremesa

o portátiles, se les puede denominar también sistemas operativos cliente.

Por su disponibilidad:

Propietarios: aquellos que son propiedad intelectual de alguna empresa.

Implica que se necesitan licencias para su uso y no poder acceder al código

fuente de este.

Libres: aquellos que garantizan las cuatro libertades del software.

Libertad de uso del programa con cualquier propósito.

Libertad de estudiar cómo funciona y de modificarlo.

Libertad de distribuir copias del programa.

Libertad de mejorar el programa y publicar dichas mejoras.

Software libre no quiere decir que sea gratuito y a la inversa.

Page 3: blablabia

3

4. Procesos:

Una de las tareas más importantes de un sistema operativo es la de administrar

procesos y tareas del sistema. Tiene que quedar claro que un proceso no es lo mismo

que un programa. Un proceso es una actividad de cierto topo que contiene un programa

(entradas, salidas y estados) y un programa está compuesto por procesos.

Un proceso puede estar en tres estados:

Listo: son los que pueden pasar al estado de ejecución cuando llegue su turno.

En ejecución: son los que se están ejecutando en el procesador en un momento

dado.

Bloqueado: son los que están esperando la respuesta de otro proceso para

volver al estado de ejecución.

Todos los procesos en cualquier sistema operativo tienen un identificador (PID) que lo

discrimina de los demás. Cuando un proceso pasa de un estado a otro se está

produciendo un cambio de contexto.

Un proceso contiene:

Sección de texto: código de programa.

Actividad actual y el contenido de los registros del procesador.

Pila: contiene datos temporales.

Sección de datos: contiene variables globales y memoria dinámica.

Page 4: blablabia

4

Cargador: es la parte del sistema operativo encargada de cargar un proceso. Sus funciones son:

Crea al BCP, se le asigna un PID, una prioridad base y todos los recursos a excepción de

la CPU.

Se inserta en la tabla de procesos del sistema.

Se carga en memoria.

Cuando tiene todos los recursos asignados se marca como listo o preparado el campo

de estado del proceso del BCP y se pone en la cola.

Una vez cargado se lanza el planificador. Éste asigna nuevas prioridades a los procesos de la cola

y escoge al de más prioridad para pasarlo a ejecución.

El estado de terminado se produce cuando el proceso ha finalizado su ejecución, en ese

momento el sistema operativo le retira todos los recursos que consume (lo saca de la memoria).

Planificación del procesador: técnicas que se usan para decidir cuánto tiempo se le asigna a

cada proceso del sistema y en qué momento.

El sistema almacena en la tabla de control de procesos la información relativa a cada proceso

que se ejecuta en el procesador. Para cada proceso se le asigna un elemento de dicha tabla,

llamado Bloque de Control de Proceso (BCP), y la información que contiene para cada proceso

es la siguiente:

Page 5: blablabia

5

Objetivos de la planificación:

Justicia: todos los procesos son tratados de la misma forma. En algún momento

obtienen su turno de ejecución o intervalos de tiempo de ejecución hasta su finalización

con éxito.

Maximizar la producción: el sistema debe finalizar el mayor número de procesos por

unidad de tiempo.

Minimizar el tiempo de respuesta: cada usuario o proceso debe observar que el sistema

les responde consistentemente a sus requerimientos. (minimizar tiempos de espera).

Evitar el aplazamiento indefinido: los procesos deben terminar en un plazo finito de

tiempo.

Un algoritmo que un sistema funciona excelente puede dar un rendimiento pésimo en otro. Ello

depende de ciertas características:

Cantidad de entrada/salida: existen procesos que realizan una gran cantidad de

operaciones de entrada y salida.

Cantidad de uso de CPU: existen procesos que usan intensivamente la CPU.

Procesos en tiempo real: si deben dar respuesta en tiempo real se requiere que tengan

prioridad en los turnos de ejecución.

Longevidad de los procesos: existen procesos que requerirán varias horas para finalizar

su labor mientras que otros solo unos segundos.

Tipos de planificación:

Apropiativa: es aquella en la cual un proceso al que le llega su turno de ejecución, ya no

puede ser suspendido.

No apropiativa: aquella en la que interviene un reloj que lanza interrupciones periódicas

en las cuales el planificador toma el control y se decide si el mismo proceso seguirá

ejecutándose o seguirá el siguiente proceso.

Round Robin.

FCFS.

STR.

STRF.

Tipos de planificadores: el planificador es la parte del sistema operativo encargada de asignar

los recursos del sistema de manera que se consigan los objetivos.

Planificador de largo plazo (PLP): suministra procesos a la cola de preparados.

Planificador de corto plazo: es el que asigna y desasigna la CPU.

Planificador de medio plazo. Envía al disco procesos de poco interés, para abrir

memoria principal para nuevos procesos.- intercambio (Swapping).

Page 6: blablabia

6

Sincronización: cuando se ejecutan varios procesos a la vez, éstos comparten uno o varios

recursos del sistema. El objetivo es compartir recursos sin que se produzcan problemas. Los

procesos pueden ser:

Cooperantes: los procesos interactúan entre sí y pertenecen a una misma aplicación.

Independientes: los procesos no interactúan y un proceso no requiere información de

los otros.

En el caso de los cooperantes es posible que se produzcan situaciones peligrosas en las que se

pierda el control, así que es necesario que exista alguna forma de prohibir que un proceso lea o

escriba datos compartidos a la vez. Debemos conseguir:

Exclusión mutua: mecanismo que nos asegura que solo un proceso o una persona está

haciendo algo en un instante y los demás están excluidos.

Sección crítica: es una sección de código en la que se realizan operaciones que pueden

dar lugar a interferencias con otros procesos. Cuando un proceso está ejecutando su

sección crítica, ningún otro proceso puede estar en ella.

La sincronización implicará que dos o más procesos concurrentes no podrán utilizar los mismos

recursos en el mismo instante de tiempo.

5. Gestión de la memoria:

Para ejecutar un proceso hay que cargarlo en la memoria principal. Por lo tanto, la

memoria será otro recurso que el sistema operativo tendrá que gestionar, y lo hará a

través del gestor de memoria.

La misión del gestor de memoria es asignar la memoria principal a los procesos que la

soliciten. Tendrá que:

Controlar las zonas que están en uso y las que no.

Asignar memoria a los procesos y retirársela cuando terminen.

Establecer mecanismos para que un recurso no invada la memoria asignada a

otro.

Administrar el intercambio entre memoria principal y memoria secundaria.

Por lo tanto, podemos decir que los objetivos de la gestión de memoria son:

Reubicación: decidir qué zona de memoria se asignara a un proceso y cómo se

gestionará el cambio de zona de un proceso.

Control de memoria: se ha de llevar un control de zonas de memoria libres y

asignadas, así como a que proceso pertenece cada zona.

Protección: se tiene que lograr que una zona de memoria asignada a un proceso

no sea accedida ni alterada por los demás.

Utilización de dos niveles de memoria: cuando la memoria principal no es

suficiente se apoyará en la memoria secundaria y gestionará la transferencia de

información entre éstas.

El sistema de gestión de memoria que se use dependerá del ordenador y del sistema

operativo que se use.

Page 7: blablabia

7

Sistema Monotarea:

En los comienzos de los SO éstos no incluían ningún gestor de memoria y el programador

tenía un control completo sobre el espacio total de memoria.

El esquema más sencillo de memoria es aquel en el que, en cada instante, solo se tiene

un proceso en memoria. En este esquema hace falta un mecanismo de protección para

que resulte imposible el acceso a la zona del sistema operativo por parte del proceso de

usuario que se está ejecutando.

Sistema Multitarea:

Va a haber varios procesos simultáneamente en ejecución. Para ello todos estos

procesos estarán simultáneamente en memoria. Deberá haber mecanismos de gestión

para distribuir la memoria principal entre todos los procesos que quieren ejecutarse.

Intercambio o Swapping:

Puede suceder que haya más procesos de los que caben en memoria y no haya memoria

principal disponible para todos. En ese caso algunos procesos se almacenan en disco

para poder recuperarlos posteriormente.

El intercambio o swapping hace referencia a eso. Son las operaciones de eliminar de la

memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a la

memoria principal para su ejecución.

La memoria del disco utilizada para esto es llamada memoria de intercambio o memoria

swapping y almacenará procesos completos que se han retirado de la memoria

principal.

Page 8: blablabia

8

Asignación con particiones fijas:

Una manera de gestionar la memoria principal cuando haya varios procesos consiste en dividir

lógicamente la memoria física en varias particiones de igual o diferente tamaño y asignar a cada

una un proceso. Estas particiones han de hacerse con anterioridad al comienzo de la ejecución

de los procesos y una vez hechas se mantienen fijas tanto en tamaño como en número.

La forma de gestión y asignación de memoria puede resumirse en:

Cuando llega una tarea ésta se pone en la cola de tareas.

El intercambiador tiene en cuenta los requerimientos de memoria de éstas y las

particiones disponibles.

Si una tarea tiene espacio en memoria se ubica en ella y puede disputar el uso de la CPU.

Cuando se termina una tarea, se libera la partición de memoria.

La gestión y asignación de particiones puede hacerse de dos maneras:

Tener una cola por partición:

Tener una única cola común a todas las particiones:

Tanto si se adopta una opción u otra tendrá que haber mecanismos para proteger a un proceso

de los demás. Otro problema que aparece con las particiones fijas es la fragmentación la cual se

produce cuando hay áreas libres intercaladas entre áreas ocupadas.

Page 9: blablabia

9

Asignación con particiones variables:

No se está sujeto a un número fijo de particiones que pudieran ser muy grandes o muy

pequeñas, con lo que se consigue mejor uso de la memoria aunque de manera más compleja.

Para poder manejar la asignación de memoria, el SO debe saber en todo momento qué partes

de memoria están disponibles y qué partes están ocupadas, considerando toda la memoria libre

como un gran bloque libre.

El procedimiento que sigue para manejar y gestionar la memoria es el siguiente:

Cuando llega un proceso le asigna un huevo de memoria lo suficientemente grande, si

encuentra uno, le asigna sólo la memoria necesaria, manteniendo el resto libre para

futuras solicitudes.

Cuando un proceso acaba libera el bloque de memoria y este se devuelve al conjunto

de huecos.

6. Paginación:

El problema más grave que se produce en los sistemas de gestión de memoria anteriores

es la fragmentación externa. Este problema tiene como solución la paginación, que es

un mecanismo de organización y asignación de la memoria que permite que la memoria

asignada en un proceso no tenga por qué ser contigua, de forma que siempre que se

disponga de espacio, aunque este no se adyacente, se pueda asignar al proceso.

La memoria física se divide en un número de bloques de tamaños fijos (marcos de

página). También el espacio de direcciones lógico de un proceso se divide en bloques de

tamaño fijo (páginas), que son del mismo tamaño que los marcos de página.

Entonces la asignación de memoria consiste en encontrar el número suficiente de

marcos de página para cargar las páginas del proceso que está pidiendo cargarse.

Como cada página está asignada a un marco por separado, no hace falta que los marcos

estén en posiciones contiguas de la memoria física.

Page 10: blablabia

10

Page 11: blablabia

11

TEMA 2

Virtualización: el concepto de virtualización nace cuando a alguien se la ocurre ir un poco

más allá, crear una máquina virtual que replique completamente a una máquina real, de modo

que sobre dicha máquina ficticia podamos ejecutar un sistema operativo completo, el cual sería

engañado ya que creería que se está ejecutando sobre una máquina normal cuando en realidad

se está ejecutando sobre una máquina virtual.

SO Anfitrión: es el sistema operativo del ordenador en el cual instalamos nuestro

programa de virtualización y que asignará o prestará determinados recursos de hardware a la

máquina virtual que creemos.

SO invitado: es el sistema operativo que instalamos en el ordenador virtual que hemos

creado, mediante nuestro programa de virtualización y al cual hemos asignado determinados

recursos para funcionar.

Page 12: blablabia

12

TEMA 3

Comandos para “ejecutar”

LUSRMGR.MSC: consola de gestión de grupos de usuario.

Cmd: abrir una consola especial.

SECPOL.MSC: consola de configuración de directivas de seguridad local.

Comandos para consola especial:

CONTROL USERPASSWORDS2: gestión de cuentas de usuario. net user: Este comando nos permite consultar, agregar o modificar cuentas de usuario. Su sintaxis es la siguiente:

o net user [nombredeusuario [contraseña | *] [opciones]] [/domain] o net user nombredeusuario {contraseña | *} /add [opciones] [/domain]] o net user [nombredeusuario [/delete] [/domain]

whoami /USER: mostrar el SID de un usuario.

whoami /GROUPS: mostrar el SID de los grupos.

Page 13: blablabia

13

Runas: ejecutar algo como otro usuario.

Net View \\Nombre_Maquina: buscar una máquina en concreto en red.