El post que buscas se encuentra eliminado, pero este también te puede interesar

Sistemas Operativos - Megapost

Sistemas Operativos


Un sistema operativo es un software que gestiona el hardware, y que proporciona un entorne para que el usuario pueda ejecutar programas de una manera practca y eficiente. Se puede decir que actua como intermediario entre el usuario y el hardware.
El sistema operativo se encarga de asignar los recursos de hardware disponibles a los programas de aplicacion que los solicitan.

Entre estos recursos que asigna el sistema operativo, se encuantran todos los tipos de memoria concidos actualmente, a saber:

- Registros
Sistemas Operativos - Megapost


- Caché
Microsoft


- Memoria principal o RAM
Sistemas Operativos


- Disco electronico
virus


- Disco magnetico
sistemas


- Disco optico
Windows


- Cintas magneticas

Linux

Se encuentran ordenados por velocidad, de los mas rapidos a los mas lentos, siendo los registros del procesador los mas rapidos. De la misma forma, se encuentran ordenados del mas caro al mas economico siendo los discos opticos y las cintas magneticas los mas economicos.

Distintos tipos de Kernel

Kernel en inglés quiere decir nucleo y es de hecho la parte principal del sistema operativo, la que se ocupa de gestionar los recursos de la memoria, habilitar el acceso a los sistemas de archivo, gestionar diversos aspectos de la red y cualquiero otro servicio que preste el sistema operativo.

Cada sistema operativo tiene un tipo distinto de kernel: Unix tiene un kernel monolítico en el que está todo compilado dentro, otros, como la familia Windows usan los llamados microkernels

GNU/Linux usa un kernel modular; un núcleo bastante grande comparado con un microkernel, pero que es capaz de delegar funciones en modulos , partes independientes del nucleo que pueden ser incorporadas dinámicamente si hacen falta y luego descargadas si dejan de ser necesarias. Así puedes cargar controladores para hardware, firewall o funciones especiales de red cuando las necesitas y cuando por ejemplo, cierras tu conexión a internet, liberar la memoria que usaba ese módulo

El núcleo de Windoze 9x / Me es el mismo desde que se implementó en 1994. Desde entonces lo incorporan Win95, Win98 y Win ME y Xp. En Linux, el kernel se actualiza cada 2 o 3 meses

Multiprogramacion

Uno de los aspectos mas importantes de los sistemas operativos es la multiprogramacion, esto significa que el microprocesador siempre esta ocupado, a menos que no haya programas para ejecutar. Esto se logra manteniendo en memoria varios trabajos, y mientras uno usa el procesador, los otros estan en espera. De esta manera, cuando el proceso en ejecucion termina, o pasa a E/S (entrada/salida), el sistema operativo se encarga de darle el procesador a otro trabajo, para que no este ocioso, con lo cual se ahorra muchisimo tiempo de ejecucion.

El sistema operativo puede asignar de diversas maneras el tiempo de CPU de cada proceso, dependiendo de como haya sido programado. Hay sistemas operativos que son apropiativos y otros que son no apropiativos. Los sistemas no apropiativos le entregan el udo del procesador a una tarea y se desentienden de la misma hasta que esta termina, en ese momento se la dan a otra tarea y asi hasta que no quedan tareas para ejecutar. Los sistemas apropiativos pueden desalojar del CPU a cualquier proceso que se este ejecutando y entregarselo a otro, haya terminado o no el proceso que estaba en ejecucion.
Esto da como resultado que haya diversos algoritmos de planificacion de CPU, cada cual orientado a si el sistema es apropiativo o no.
De esta forma nos encontramos con:

- FCFS (first came, first served): Se atienden los procesos en el orden que van llegando
- SJF (shortest job first):Se atienden los procesos de acuerdo al tiempo que utilizaran el CPU, otorgandose prioridad a los mas cortos
- Round robin: Se atienden los procesos asignandole un cuanto o quantum de tiempo a la ejecucion de cata proceso en CPU, esto quiere decir que si hay 6 procesos en estado de listo cada uno con una duracion variable (mayor a 20 para el ejemplo) y el cuanto es de 4 rafagas de CPU, el primer proceso hara sus 4 rafagas de CPU, sera desalojado por el sistema operativo, que le hara entrega al proceso 2, que realizara sus 4 rafagas de CPU y asi sucesivamente hasta que los procesos vayan terminando. En el caso de que solo quede un proceso para ejecucion, el sistema operativo le quitara le quitara y devolvera instantaneamente el uso del CPU a la tarea.

Los Sistemas Operativos estan controlados por interruciones. Los sucesos casi siempre se indican por la ocurrencia de una interrupcion o una excepcion. Una excepcion es una interrupcion generada por software, debida a un error o a una solicitudespecifica de un programa de usuario de que se realice un servicio del sistema operativo.
Debido a esto, se tiene que poder asegurar que un error generado por un programa afecte solo a ese programa. Puede ocurrir que un programa, de modo inintencionado, escriba en un sector de memoria de otro programa, o peor aun, que escriba en el sector de memoria del sistema operativo.
Un sistema operativo debe estar diseñado de forma que pueda controlar todas estas salidas potencialmete dañinas.

Esto es importante

La operacion en modo dual del sistema operativo es lo que distingue a las dos grandes familias de sistemas operativos que pugnan por el dominio de las PC (no hablo de MacOs ni de Apple). Linux y Windows utilizan dos tipos totalmente distintos de operacion. Linux opera en modo dual, mientras que windows no. Muchos de ustedes han escuchado hasta el hartazgo que en linux no hay virus, pero muy poca gente se detiene a preguntar o explicar por que es esto. Bien, todo radica en el modo de operacion. Linux opera en modo dual, esto quiere decir que tiene un conjunto de instrucciones reservadas pura y exclusivamente para el sistema operativo, y que los demas programas de usuario no pueden ejecutar sin el correspondiente permiso o categoria de superusuario. El famoso sudo de la consola de linux no es mas que una indicacion al sistema operativo de que la sentencia que acompaña a esa palabra debe ser ejecutada en modo sistema operativo y no en modo usuario. Por ese mismo motivo es tan requerida en Linux la contraseña de administrador, porque necesita verificar que la sentencia sudo esta respaldada por el administradoe del sistema. De esta forma se garantiza que ningunprogramam se ejecutara sin la conformidad del usuario. La familia de sistemas operativos Windows no trabaja enmodo dual, motivo por el cual, un programa cualquiera, y esto incluyte todos los tipos de virus conocidos puede generar la instruccuin que quiera, sin tener que estar de acuerdo el usuario para que se lleve a cabo, con los consiguientes problemas que esto acarrea.

Manerjo de la memoria

La memoria Ram es una memoria de acceso rapido y directo, mal llamada de acceso aleatorio, ya que aunque la traduccion literal esta bien aplicada, elsignificado del nombre hace referencia a que se puede leer en la misma desde el lugar que uno desee, sin necesidad de leer desde el comienzo, lo mismo para la escritura.
La memoria tiene varias formas de ser gestionada, y aunque es un tema muy extenso para tratar por aca, voy a tratar de darles un pantallazo general de lo que significa gestionar memoria.
Cada Programa que se ejecuta se carga en memoria, incluido el sistema operativo y los controladores de los componentes de hardware. La memoria se puede gestionar en forma de paginas, de segmentos o de segmentos paginados.
Pueden chequear en estos enlaces como funciona cada metodo.

Paginacion

megapost

El almacenamiento a un sólo nivel puede llevarse a cabo mediante una técnica llamada paginación, según la cual el espacio de direcciones virtuales se divide en páginas del mismo tamaño. La memoria principal se divide también en marcos o páginas físicasdel mismo tamaño. Estos marcos son compartidos entre los distintos procesos que haya en el sistema, de forma que en cualquier momento un proceso dado tendrá unas cuantas páginas residentes en la memoria principal (sus páginas activas) y el resto en la memoria secundaria (sus páginas inactivas). El mecanismo de paginación cumple dos funciones:

- Llevar a cabo la transformación de una dirección virtual a física, o sea, la determinación de la página a la que corresponde una determinada dirección de un programa, así como del marco, si lo hay, que ocupa esta página;
- Transferir, cuando haga falta, páginas de la memoria secundaria a la memoria principal, y de la memoria principal a la memoria secundaria cuando ya no sean necesarias.

Con el fin de determinar la página a la que hace referencia un programa, los bits de mayor peso de la dirección se interpretan como el número de página, y los bits de menor peso como el número de palabra dentro de esta página. De ahí que si el tamaño de página es 2n, los n bits finales de la dirección representarán el número de palabra y los bits restantes del principio el número de página. El número total de bits en la dirección es suficiente para direccionar la totalidad de la memoria virtual.
Es de destacar el hecho de que la división de la dirección en número de palabra y número de página, es tarea del hardware.

Segmentacion

Linus Torvalds

Un espacio de direcciones lógicas es una colección de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del segmento. Por lo tanto, el usuario especifica cada dirección mediante dos cantidades: un nombre de segmento y un desplazamiento, mientras que en la paginación el usuario especificaba solamente una única dirección, que el hardware particionaba en número de página y desplazamiento, siendo todo ello invisible al programador
Por simplicidad de implementación, los segmentos están numerados y se referencian por un número de segmento en lugar de por un nombre. El programa de usuario se ensambla y el ensamblador construye automáticamente segmentos que reflejan el programa de entrada. El cargador toma todos esos segmentos y les asigna numeros de segmento.
Aunque el usuario ahora puede referenciar los objetos del programa por medio de una dirección de dos dimensiones, la memoria física real es todavía una secuencia unidimensional de palabras. La transformación se efectúa por medio de una tabla de segmentos.
Una dirección lógica consta de dos partes: un número de segmento s y un desplazamiento dentro de ese segmento. El número de segmento se utiliza como un índice en la tabla de segmentos. Cada entrada de la tabla de segmentos tiene una base de segmento y un límite. El desplazamiento de la dirección lógica tiene que estar comprendido entre 0 y el límite de segmento. En caso contrario se produce una excepción al sistema operativo. Si este desplazamiento es posible, se añade a la base para producir la dirección de la tabla deseada en la memoria física. La tabla de segmentos es así esencialmente una matriz de pares registros base/límite.

Segmentacion paginada

Sistemas Operativos - Megapost

(No encontre en castellano, perdon)

Es posible combinar paginacion y segmentacion para mejorar ambos. La solución adoptada fue paginar los segmentos. La paginación elimina la fragmentación interna y se puede decir que elimina el problema de la asignación: cualquier marco vacío puede utilizarse para una página. Obsérvese que la diferencia entre esta solución y la segmentación pura es que la entrada en la tabla de segmentos no contiene la dirección de la base del segmento, sino la dirección de la base de una tabla de páginas para ese segmento. El desplazamiento del segmento se fragmenta entonces en un número de página de 6 bits y un desplazamiento de página de 10 bits. El número de página indexa en la tabla de páginas para dar el número de marco. Finalmente, el número de marco se combina con el desplazamiento de página para formar la dirección física.
Ahora debemos tener una tabla de páginas independiente para cada segmento. No obstante, puesto que cada segmento tiene una longitud limitada por su entrada en la tabla de segmentos, la tabla de páginas no tiene por qué tener su tamaño máximo. Sólo precisa tantas entradas como se necesiten realmente. Además, generalmente la última página de cada segmento no estará totalmente llena. De este modo tendremos, por término medio, media página de fragmentación interna por segmento. Consecuentemente, aunque hemos eliminado la fragmentación externa, hemos introducido fragmentación interna e incrementado la sobrecarga de espacio de la tabla.

Algoritmos de reemplazo de paginas

Un fallo de pagina sucede cuando el sistema operativo va a la memoria a buscar una paginay no la encuentra. Esto no tiene mayor secreto. A medida que va necesitando paginas que no estan en la memoria, las va cargando. Pero sucede que en determinados momentos. la memoria se llena, y en ese momento el sistema operativo tiene que sacar una pagina de memoria para poder darle espacio a la nueva que necesita. Con que criterio se maneja el sistema operativo para reemplazar las paginas?
Hay varios algoritmos de reemplazo, a saber:

- FIFO (firs tin first out): Primera que entra, primera que sale, es una cola
- LRU (less recently used): Menos recientemente usada
- Segunda chance: Menos recientemente usada con dos chances

Hay otros, pero no quiero alargar en exceso el post

Planificacion de discos

La planificacion de discos es necesaria para ubicar datos dentro del disco electronico (disco duro) de la PC. Hay varios tipos de busqueda dentro del disco, a saber:

- FCFS: se atienden los pedidos en orden de llegada

Microsoft

- SSTF: de atienden los pedidos por menor tiempo de busqueda

Sistemas Operativos

- Scan: el brazo recorre el disco hacia uno de los extremos, deteniendose en cada uno de los pedidos, llegando hasta el extremo del disco y luego hace lo mismo, pero en la otra direccion

virus

- Look: Igual que el Scan, nada mas que este no toca los extremos del disco a menos que estos sean explicitamente pedidos

- C-Scan: El brazo del disco se mueve de un extremo al otro del disco. Suponiendo que este tiene 200 posiciones, arrancara desde el primer pedido, avanzando hasta el 199, cuando llegue a este, sea pedido o no, hara un salto hasta la posicion 0 y comenzara nuevamente el recorrido del disco, todas las veces yendo de 0 a 199 y tocando los extremos.

sistemas

- C-Look: Igual que el C-Scan, con la diferencia de que este no toca los bordes del disco a menos que estos sean explicitamente pedidos

Windows

Final
Bueno gente, considerando lo largo que es este tema, trate de hacer una introduccion lo mas accesible posible a todas las personas que de esto no tienen idea alguna, pero que les interesa aprender. Espero no haberme excedido demasiado en el largo del post, y que encuentren la informacion util y actualizada. Con el correr de los dias voy a ir agregando algunos links para que se bajen un par de libros de sistemas operativos y alguna que otra data mas sobre lo que aqui expuse.

Suerte a todos

¡¡¡COMENTEN!!!

20 comentarios - Sistemas Operativos - Megapost

@AKiRa121
Uy!!! Muy bueno, no te dejo puntos porque no puedo, pero te dejo mi comentario, y te sugiero que si usaste alguna fuente la pongas.
@wuilly56 +2
1600 visitas, 5 puntos putos y miserables 9 comentarios, 5 tuyos. Y la pagina tiene el descaro de llamarse inteligencia colectiva cuando valora mas la musica, que se disfruta en el momento, que un articulo bien detallado sobre como funciona un sistema operativo.
Así estamos y así nos vá, compadre.
Che, gracias por la buena onda con los novatos por los que te jodí, y te dejo los diez de hoy para sumar.
A tu disposicion, compadre.
@galenzo17
gracias me ayuda bastante
@metalfiller +1
CMM777 dijo:Kernel en inglés quiere decir nucleo

GROSO ERROR!
NÚCLEO EN INGLÉS ES "CORE"
KERNEL ES EN FINLANDES
@Benjasx64
La mayoria de unix's no usan kernel monolitico. Windows xp no comparte/no utiliza en ningun sentido el kernel de Windows 9x. Eso de que linux trabaja en modo "dual" es un concepto un poco retorcido. Tanto windows como linux tienen una estructura similar; un nucleo, hall, "espacio kernel", "espacio usuario", "anillos"... son decenas de factores los que hay que tonar en cuenta en por que aparentemente un sistema es mas vulnerable que otro. hay que documentarse mas
@KuAkMaN_arg
muy bueno por parte de sistemas operativos por parte de ortografia tenes un 0 muchos errores copy and paste. Igual bastante bien un poco incompleto pero bn