miércoles, 31 de octubre de 2018
martes, 30 de octubre de 2018
Bloque de control de procesos
¿Que es el BCP de un proceso?
Bloque de control de procesos (BCP) o en ingles PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Unix, por ejemplo tiene dos lgares separados en la memora con esta informacion, Uno de ellos esta en el nucleo, el otro es en el espacio de usuario. Windows hace lo mismo.
¿Que informacion contiene en un sistema Windows?
La informacion se dispersa en una variedad de objetos, que incluye:
¿Y en un sistema Linux?
/* memory management info */
struct mm_struct *mm;
/* open file information */
struct files_struct *files;
/* tss for this task */
struct thread_struct tss;
int pid;
volatile long state; /* -1 unrunnable, 0
runnable, >0 stopped */
long priority;
unsigned short uid,euid,suid,fsuid;
#ifdef __SMP__
int processor;
#endif
struct task_struct *p_opptr, *p_pptr,
*p_cptr, *p_ysptr, *p_osptr;
/* limits */
struct rlimit rlim[RLIM_NLIMITS];
long utime, stime, cutime, cstime,
start_time;
La informacion se dispersa en una variedad de objetos, que incluye:
- KPROCESS y PEB
- pid y ppid
- Nombre de archivo del programa
- Estacion de ventana - pantalla o terminal rota
- Estado de salida
- Tiempos de creacion y salida
- Enlaes al siguientes proceso
- Cuotas de memoria
- Informacion de gestion de memoria
- Puertos para excepciones y depuracion
- Informacion de seguridad
¿Y en un sistema Linux?
/* memory management info */
struct mm_struct *mm;
/* open file information */
struct files_struct *files;
/* tss for this task */
struct thread_struct tss;
int pid;
volatile long state; /* -1 unrunnable, 0
runnable, >0 stopped */
long priority;
unsigned short uid,euid,suid,fsuid;
#ifdef __SMP__
int processor;
#endif
struct task_struct *p_opptr, *p_pptr,
*p_cptr, *p_ysptr, *p_osptr;
/* limits */
struct rlimit rlim[RLIM_NLIMITS];
long utime, stime, cutime, cstime,
start_time;
viernes, 26 de octubre de 2018
Resumen tema 2º
Concepto de sistema operativo.
Elemetos y estructura.
1. Instroduccion a los sistemas operativos
Sistemas operativo es software basico gestiona todos los recursos hardware y la base para la creacion y ejecucion del software de aplicacion.
Sistema operativo conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del hardware y del software.
Gracias a una interfaz, que no se preocupe de la gestion de memoria de procesador, de cualquier otro recurso o componente de hardware.
Clasificacion de los sistemas operativos:
Sistemas operativos monousurario (SOMO)
Sistemas operativos multiusurio (SOMU)
Sistemas operativos en Red
- Sistemas operativos monousuraio (SOMO) recursos hardware y software que se estan utilizando a disposicion de un solo usuario.
- Sistemas operativos multiusuario (SOMU) varios usuarios pueden utiliazr los recursos software y hardware de un mismo ordenador. Originalmente eran sistemas operativos que se montaban en antiguos ordenadores llamados mainframes o microordenadores. Varios teclados y monitores conectaban a la unica CPU existente y compartiendo recursos.
- Sistemas operativos en red (SORED) comparte recursos con otros equipos conectados a la misma red fisica. Cada uno tednra en ordenador personal, normalmente uno monousuario. Cada usuario establecera comunicacion con el ordenador principal que dispone del SORED.
El SO es el motor de todo el que hace de intermediario y controlador entre parte fisica del ordenador, el software que se utiliza y el usuario.
2. Evolucion historica de los sistemas operativos
Los primeros sistemas operativos se denominaron monoliticos. La caracteristica principal es que se software basico era practicamente imposible de modificar una vez creado e instalado en un ordenador.
Hardware y SO evolucionan conjuntamente y nunca por separado.
Primera computadora fue diseñada por el matematico ingles Charles Babbage. Ya tenia clara cual era la secuencia para el tratamiento automatico de la informacion: entrada-proceso-salida.
George Boole elaboro la teoria de la logica matematica y el algebra de Boole.
- Primera generacion (1945-1955) aparicion de las valvulas de vacio. Se vuelven pequeños
- Segunda generacion (1955-1965) aparicion de los transistores. Se vuelven pequñas, baratas, consumen menos y despiden menos calor. parece precesamiento por lotes, implica tres fases:
- Introduccion de datos a procsar en un componente hardware.
- Llevar fisicamente el soporte, cargado de datos, para que los procesara.
- El soporte en el que estan los resultados se lleva a otro dispositivo distinto para realizar la generacion de resultados.
- Tercera generacion (1965 - 1980) aparicion de los circuitos integrados. Se reduce considerablemente el tamaño y consumo de energia gracias a los transistores por circuitos integrados, mas baratos, mas rapidos, consumen menos y generan menos calor.
- Cuarta generacion (1960 hasta hoy) aparicion de los ordenadores personales. Se utilizan complejas tecnicas de integracion y miniaturizacion de componentes electronicos.
3. Recursos. Funciones de un sustema operativo
El fin fundamental de un SO es coordinar la utiliazcion que se hace el hardware dependiendo de los programas o aplicaciones que se esten utilizando.
En general, hardware, software y suaurio se estructuran, de forma jerarquica.
Este tipo de estructura es el que permite que el suaurio interactue con el hardeware, cualquier SO.
La comunicacion se realiza mediante las llamadas interfaces. Para realizar este tipo de funciones, el SO cuenta con los denominados servicios. Un servicio es un tipo de aplicaciones que normalmente se ejecuta en segundo plano. Los servicios proporcionan a los usuarios aplicaciones que incorporan diversas formas de poder utilizar los recursos del SO. Algunos de los servicios lanzados por los sistemas operativos son aplicaciones del tipo cliente-servidor, servidores Wef, servidores de bases de datos y otras aplicaciones basadas en servidores , tanto de forma local como a través de una red.
Estos servicios pueden utilizarse para.
- Crear programas
- Ejecutar esos programas
- Acceder a los dispoistivos de entrada/salida
- Gestionar los archivos de forma centrada y segura
- Supervisar informacion estadistica, de seguridad y registro de la que se hace en el sistema.
Si los servicios no estuvieran ejecutandse muchas aplicaiones no funcionarian o algo tan frecuente como el acceso a Internet sera imposible.
Tambien se denominan los procesos en segudno plano, procesos, en background y en linux de demonios puede ser lanzadas por el propio sistema operativo o por el usuario.
4. Gestion de recursos de un sistema operativo
Recursos que gestiona un sistema operativo: memoria, procesador y dispositivos de entrada/salida.
4.1. Memoria
La parte del SO que administra la memoria es el administrador de memoria. Llevar un registr las partes de memoria que se estan utilizando y las que no. Reservara espacio de memoria para los nuevos procesos y liberara espacio de los procesos que hayan finalizado.
En multitarea:
- Primera opcion: dividir la memoria en particiones fijas.
- Concepto de intercambio: los procesos en espera que no estan en ejecucion pueden ser ejecucion.
Con un conjunto dinamico de procesos no es posible encontrar particiones de memoria adecuados. La opcion es disponer de particiones variables.
4.2. Procesos y procesador
Un proceso, o tarea, se puede definir como un programa en ejecucion.
- Un proceso para empezar su ejecucion o de residir completamente en memoria y tener asignados todos los recursos que necesite.
- Cada proceso esta protegido del resto de procesos; ningun otro podra escribir en las zonas de memoria.
- Los proceso pueden pertenecer al usuario o ser propios del SO. Perteneciente a los usuarios se ejecutan en la llamada modo usuario. Los procesos que pertenecen al sistema se ejecutan en el modo Kernel o modo privilegiado.
- Cada proceso tendra una estructura de datos llamada bloque de control de procesos (BCP)
- Los prceoso pueden comunicarse, sincronizar y colaborar entre si.
A cada proceso se le asigna un espacio de direcciones logicos en memoria.
Este usuario de memoria es igual que nuestro SO sea capaz de gestionar, y aqui entra en juego la memoria virtual o cualquier otra tecnica de gestion de memoria. Los procesos se dividen en trozos de igual tamaño. Cuando se carga un proceso, es llevarlo a la memoria y asignarle un numero meximo de bloques en memoria a emplear. Cada proceso, estara siempre cargado en la memoria principal.
El reparto de los recursos del sistema entre los distintos procesos y su ejecucion se conoce como multiprogramacion. Los sistemas operativos disponene de los servicios se conoce como multiprogramacion. Los sistemas operativos disponen de los servicios necesarios para la gestion de los procesos, como su creacion, terminacion, ejecucion periodica, cambio de prioridad.
Cuantas mas instrucciones sea capaz de procesar un procesador, mayor velocidad.
4.3 Gestion de entrada/salida
Una de las tareas importantes del ordenador, y en particular, es relacionar y comunicar las unidades perifericas con los componenetes internos del equipo.
Se realiza a traves del gestor de entrada/salida ubicado en la placa base. Se denomina chipset.
Hay que destacar las interfaces como medio de comunicacion entre hardware y software a traves del SO.
- Interfaz tipo texto: todas las ordenes que el usuario introduzca y las respuestas que el SO introduciran o visualizaran mediante cadenas de caracteres.
- Interfaz tipo grafica: la informacion en pantalla se muestra en bloques. A estos bloques se les denomina ventanas.
- Interfaz mixta: Los ordenadores que se den a un sistema operativo en entorno grafico tambien se pueden dar mediante comandos en una interfaz de tipo texto.
5. Arquitectura y componentes
Actualmente los sistemas operativos se organizan en capas.
Un SO se estructura en varios niveles o capas, cada cual se comunica con los nivesles inferiores y superio para estar coordinados.
Nivel Usuario
Muestra al usuario el proceso que se esta ejecutando o el que se quiere ejecutar
Nivel Supervisor
Se encarga de realizar la comunicacion de cada proceso entre el ssitema y el usuario
Nivel Ejecutivo
Sobre este nivel se realiza la administracion de la memoria para almacenar los procesos en paginas.
Nivel Nucleo
Se encarga de gestionar que procesos llegan al ordenador para ser ejecutados.
Esta gestion es gracias a las zonas independientes de memoria.
Desde la aparicion de los primeros nucleos de 32 bits, permiten ejecutar aplicaiones en zonas independientes de memoria y ejecutar el hardware como una copia de hardware real para cada aplicacion.
Ya que ante un eventual bloqueo del hardware para una aplicacion, solamente se vera afectado esta aplicacion y su copia del hardware. EL resto de aplicaciones seguiran funcionando. Esta emulacion del hardware se materializa en las denominadas maquina virtuales.
Cada maquina virtual no es ni mas ni menos que un archivo o un conjunto de archivos. Es una copia exacta del hardware rea que gestiona el propio SO.
6. Modos de explotacion del sistema
Explotar un SO significa utilizarlo. El procesador no es capaz de ejecutar dos instrucciones en el mismo intervalo de tiempo, solo atiende las peticioens de un unico proceso en el mismo intervalo. Ira destinanado ciclos de UCP.
Para realizar la cladificacion de los diferentes modos de explotacion se tendran en cuenta cuestiones como el numero de usuarios, los prcesos, Tmabien dependera del numero de procesadores y, del tiempo de respuesta del sistema.
Un SO se puede explotar de dos formas:
A. Procesos en lotes
Se empezo a utilizar en la segunda generacion.
B. Procesos en tiempo real
El usuario que introduce los datos es el que suele lanzar el programa para procesar los datos introducidos y el que obtiene la informacion procesada.
Debido fundamentalmente a que su hardware esta integrado fisicamente en el mimos espacio y conectado directamente a la unidad centrla de proceso. De esta form la carga de la informacion se hace en el mismo equipo que se proceso. La informacion procesada se visualizara o imprimira dentr del miso sistema informatico, ya que los perifericos de salida estan tambien conectados directamente a la UCP.
C. Segun el numero de usuarios
- Monousuario: en este sistema todos los dispositivos de hardware estan a disposicion de ese usuario y no pueden ser utilizados por nadie mas hasta que este no finalice su sesion.
- Multiusuario: Pueden compartir dispositivos externos de almacenamient y los perifericos de salida. Pueden compartir el acceso a una misma base de datos instalada en el ordenador principal.
Este tipo de sistemas se caracteriza porque varios usuarios
que hagan uso del mismo ordenador, tendrán acceso o no a los mismo programas,
acceder o no a los soportes de almacenamiento externo.
D. Según el número de procesos
La clasificación se hace atendiendo al número de programas
que puede ejecutar simultáneamente el ordenador o sistema informático.
Mono programación o monotarea: de esta forma, los recursos
del sistema estarán dedicados al programa hasta que finalice su ejecución. DOS
o Windows 9X son sistemas operativos monotarea.
El que un SO sea
monotarea no implica que pueda ser multiusuario
Multiprogramación o multitarea: Este tipo de SO puede
ejecutar varios programas o procesos concurrentemente, es decir,
simultáneamente. Se da en aquellos casos en los que el ordenador o sistema
informático cuente con más de un microprocesador. Si el SO se instala en un
sistema informático que solamente cuenta con un procesador, la UCP compartiría
el tiempo de uso del procesador entre los diferentes programas a ejecutar.
Son SO multitarea la mayoría de los que son multiusuario, y
en red. No importa el número de procesadores que tenga el ordenador o sistema
informático, pero sin es importante recordar que la multitarea real solo existe
en ordenadores con más de un procesador.
E. Según el número de procesadores del sistema informático
Depende del número de procesadores que el SO sea capaz de
gestionar.
Monoprocesador: Consta de un único procesador. El ordenador
que tenga este SO puede ser monousuario o multiusuario; monotarea o multitarea.
Cualquier SO que se instale en un ordenador con un solo procesador siempre será
monotarea. Pero la realidad es que solamente atenderá a un proceso en un
instante concreto.
Multiprocesador: El ordenador cuenta con dos o más
procesadores.
Multiproceso simétrico (SMP): El SO utilizara la potencia de
los procesadores de igual forma.
Multiproceso asimétrico (AMP): El SO reparte las tareas que
está realizando a cada procesador con los que cuenta el sistema informático.
Puede ser que un procesador esté siempre trabajando y el otro, en ocasiones,
esté totalmente parado.
Lo que se consigue es que el tiempo de respuesta de la
ejecución de varios programas en un mismo ordenador sea similar para todos
ellos.
F. Según el tiempo de respuesta
Se hace teniendo en cuenta el tiempo que tarda el usuario
del sistema en obtener los resultados después de lanzar un programa a
ejecución.
Tiempo real: La respuesta es inmediata tras lanzar un
proceso.
Tiempo compartido: Cada proceso utiliza ciclos de la UCP
hasta que finalice.
Pseudomultitarea. Son capaces de tener cargados en memoria
más de un proceso y estar ejecutando, más de uno a la vez. Se estará ejecutando
un proceso en un momento determinado.
Se cree que está trabajando con más de un programa a la vez.
Pero en realidad es que el procesador solamente se está ejecutando
secuencialmente y poco a poco cada uno de los procesos lanzados a ejecución.
7. Sistemas operativos más usuales
A partir de los 32 bits, son abiertos y segmentados. Esto
permite su fácil modificación en caso necesario, ya que el conjunto de
programas que lo componen está dividido en bloques.
Los SO actuales se articulan en una estructura determinada
por niveles. Cada nivel p parte del SO se encarga de una función. La
modificación o aplicación afectará a un nivel concreto y no a todo el SO.
Los SO por niveles, también llamados por capas, realizan
funciones tales, como control y ejecución de programas, gestión y control de
usuarios, de periféricos, memoria, etc.
Sistemas operativos de máquina virtual. Estos tienen un
núcleo que les permite emular el hardware. Cada proceso o programa que se lanza
a ejecución se ejecuta en un espacio de memoria totalmente independiente.
En la actualidad existen sistemas operativos de 64 bits,
principal ventaja el poder referenciar más de 4 GB de memoria, que es el límite
máximo de RAM que pueden direccionar los sistemas operativos de 32 bits. Los
procesos que se ejecutan en estos últimos SO también se ejecutan en zonas
independientes de memoria, lo que le da gran estabilidad.
lunes, 22 de octubre de 2018
Glosario sistemas operativos
- MS-DOS: (MicroSoft Disk Operating System, Sistema operativo de disco de Microsoft) basado en x86. Fue el miembro mas popularmente conocido de la familia de sistemas operativos DOS de Microsoft, y principal sistema para computadores personales compatible con IBM PC en la década de 1980 y mediados de los 90.
- Aplicaciones CAD: (diseño asistido por computadoras) se utilizan diferentes programas gráficos para lograr crear una serie de imágenes que conjuntas crean una imagen mas grande o mas conocida como dibujo. El CAD es también utilizado como un medio de expresión mediante un ordenador y un gestor gráfico.
- CP/M (Control Program for Microcomputers) es un sistema operativo de un solo usuario/Una solo tarea desarrollado por Gary Kidall para el Intel 8085 y Zilog Z80 podrían ejecutar directamente el código del 8080.
- Unix: sistema operativo, portable, multitarea y multiusuario; desarrollado en 1969 por un grupo de empleados Bell de AT&T.
- NeXTSTEP: es el sistema operativo orientado a objetos, mutitarea que NeXT COmputer diseño para ser ejecutados en los computadores NeXT.
- Linux: Multiplataforma, multiusuario y multitarea. El sistema es la combinacion de varios proyectos,entre los cuales destacan GNU y el nucleo Linux (encabezado por linux Torvalds). Su desarrollo es uno de los ejemplos mas prminentes de software libre: todo su codigo fuente puede ser itulizado, modificado y redistribuido libremente por cualquiera, bajo los termionos de la GPL y otra serie de licencias libres.
lunes, 15 de octubre de 2018
Fase de busqueda y ejecucion de una instrucción
FASE DE BÚSQUEDA DE UNA INSTRUCCIÓN
En esta fase se realiza la búsqueda en memoria de la instrucción cuya direccion guardada el registro contador de programa y se almacena en el registro de instrucción.
Ejemplo
SUMAR 033 992 993 (sumar los contenidos de las posiciones de memoria 033 y 992, almacenando el resultado en la posición 993)
En esta fase se realiza la búsqueda en memoria de la instrucción cuya direccion guardada el registro contador de programa y se almacena en el registro de instrucción.
Ejemplo
SUMAR 033 992 993 (sumar los contenidos de las posiciones de memoria 033 y 992, almacenando el resultado en la posición 993)
Código de operación (CO): SUMAR
Dirección del primer sumando (OP1): 033
Dirección del segundo sumando (OP2): 992
Dirección del resultado (OP3): 993
- La unidad de control envía una microorden para que el contenido del registro contador de programa que contiene la dirección de la siguiente instrucción, sea transferido al registro de dirección de memoria.
2. La posición de memoria que figuran en el registro de dirección de memoria es utilizada por el selector para transferir su contenido al registro de intercambio de memoria.
3. Se transfiere la instrucción desde el registro de intercambio de memoria la registro de instrucción.
4. Posteriormente el decodificar procede a interpretar la instrucción que acaba de llegar al registro de instrucción, en esta caso SUMAR, quedando dispuesto para la activación del circuito sumador de la UAL e informando al secuenciador.
5. El registro contador de programa se autoincrementa con un valor 1 de tal forma que quede apuntado a la siguiente instrucción situada consecutivamente en memoria. Si la instrucción en ejecución es de ruptura de secuencia, el contador de programa se cargara con la dirección que corresponda.
FASE DE EJECUCIÓN DE UNA INSTRUCCIÓN
En esta fase se realiza la operación indica por la instrucción y si esta lo precisa se almacena el resultado en los registros internos de la CPU o en la memoria. La fase de ejecución se realiza en los siguientes pasos, pero hay que tener en cuenta que si la instrucción no tuviste operando, los pasos del 1 al 6 y el paso 8 se omitirían.
- Se transfiere la dirección del primer operando desde el registro de instrucción al registro de dirección de memoria.
2. El selector extrae de la memoria dicho dato depositándolo en el registro de intercambio de memoria.
3. Se lleva este operando desde este registro de entrada 1 de la UAL.
4. Se transfiere la dirección del segundo operando desde el registro de instrucción al registro de memoria.
5. El selector extrae de la memoria dicho dato y lo deposita en el registro de intercambio de memoria.
6. Se lleva este operando desde este registro al registro de entrada 2 de la UAL.
7. El secuenciador reenvia una microordena la UAL para que se ejecute la operacion. El resultado de la operacion queda almecenado en el acumulador.
8. Este resultado se envia desde el acumulador al registro de intercambio de memoria.
9. Se transfiere desde el registro de instruccion al registro de direccion de memoria la direccion donde ha de almacenarse el resultado en la memoria.
10. Se transfiere el resultado desde el registro de intercambio de memoria a la direccion de memoria indicada en el registro de direccion de memoria.
Suscribirse a:
Comentarios (Atom)
GLOSARIO DE LINUX
TEMA 11: GLOSARIO LINUX Linus Torvals: Es un ingeniero de software finlandés-estadounidense conocido por crear y mantener el desa...
-
FASE DE BÚSQUEDA DE UNA INSTRUCCIÓN En esta fase se realiza la búsqueda en memoria de la instrucción cuya direccion guardada el registro ...
-
MS-DOS: ( M icro S oft D isk O perating S ystem, Sistema operativo de disco de Microsoft ) basado en x86. Fue el miembro mas popularmente ...
-
El sistema informático: software y hardware Máquina compuesta de elementos físicos (hardware) . Los programas nos servirán para nuestro...