SISTEMAS OPERATIVOS
Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.
PROGRAMA PRINCIPAL DEL SISTEMA:
LAS CUATRO GRANDES FUNCIONES DEL SISTEMA OPERATIVO:
TAREAS:
GESTION DE MEMORIA:
BOOTSTRAP:
El programa principal del sistema es el denominado intérprete de comandos o núcleo del sistema, este tiene la capacidad de traducir las órdenes que introducen los usuarios, mediante un conjunto de instrucciones facilitadas por él mismo directamente al núcleo y al conjunto de herramientas que forman el sistema operativo.
- Proporcionar más comodidad en el uso de un computador.
- Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas)
- Brindar una interfaz al usuario, ejecutando instrucciones (comandos).
- Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad).
SISTEMAS OPERATIVOS EXISTENTES :
- AmigaOS
- Amoeba
- BeOS
- DR-DOS
- DragonFly BSD
- FreeBSD
- FreeDOS
- GNU/Linux
- GNU Hurd
- MacOS
- Minix
- MS-DOS
- NetBSD
- OpenBSD
- PC-DOS
- Plan 9
- OS/2
- QDOS
- QNX
- Solaris
- Microsoft Windows
- Sistemas Unix
- Xenix
- Symbian
- Gestión de tareas: Acepta todos los trabajos y los conserva hasta su finalización
- Interpretación de comandos: Interpreta los comandos que permiten al usuario comunicarse con el computador.
- Control de recursos: Coordina y manipula el hardware del computador, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse.
- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de almacenamiento, como en discos flexibles, discos duros, discos compactos o memorias extraíbles.
- Manejo de errores Gestiona los errores de hardware y la pérdida de datos.
- Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los procesos y definir el orden en que estos se ejecutan.
- Protección: Evitar que las acciones de un usuario afecten el trabajo que está realizando otro usuario.
- Multiacceso Un usuario se puede conectar a otra máquina sin tener que estar cerca de ella.
- Contabilidad de recursos Establece y administra el costo que se le cobra a un usuario por utilizar determinados recursos.
Podemos realizar una clasificación de los diversos sistemas operativos que existen atendiendo a varios criterios o características de estos. Estos criterios pueden ser atendiendo a las tareas, a la planificación o a la gestión de memoria.
En este punto clasificamos los sistemas operativos atendiendo al número de tareas que puede atender simultáneamente. Tenemos dos tipos:
• Monotarea: el sistema operativo solamente puede atender una tarea en un momento dado. Un ejemplo de S.O. de este tipo es MS-DOS.
• Multitarea: el sistema operativo puede atender varias tareas a la vez. A su vez estas tareas pueden provenir de un único usuario o de varios usuarios, lo cual dependerá de las capacidades del sistema operativo.
PLANIFICACION:
La planificación de un S.O. define cómo se reparte el tiempo de CPU entre los diversos procesos, Existen varias formas de realizar esta planificación:
• Tiempo compartido: se asigna el mismo tiempo para cada uno de los procesos.
• Prioridades: cada proceso tiene asignada una prioridad y hasta que no
termina un proceso su ejecución, no se cede la CPU al siguiente. Estas prioridades pueden ser a su vez estáticas o dinámicas.
• Mixtas: existe una planificación concreta a base de asignar tiempos en función de prioridades; en el caso de que dos procesos tengan asignada la misma prioridad, se comparte el tiempo entre los dos.
Existen dos maneras básicas de gestionar la memoria:
• Memoria real
• Memoria virtual
El S.O. que sólo utiliza memoria real quiere decir que el único lugar donde le es posible cargar el código de un programa es en la memoria física real, es decir, en la RAM.
ORGANIZACIÓN DE UN SISTEMA OPERATIVO:
- PRIMER NIVEL: se encuentra el núcleo, que es el que tiene contacto directo con los circuitos electrónicos.
- SEGUNDO NIVEL: se encuentran las rutinas que implementan los servicios que ofrece el Sistema Operativo, como el manejo de lo discos, el monitor, teclado y la gestión de los procesos.
- TERCER NIVEL: se encuentran el gestor de la memoria y de archivos.
- CUARTO NIVEL: están los procesos que permiten la comunicación del usuario con el Sistema Operativo: el caparazón y las órdenes propias del Sistema Operativo. La comunicación sólo es posible entre los niveles inmediatamente superior e inferior.
QUE ES UN PROCESO?...
Son las instrucciones que ejecutará el microprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar.
LOS ESTADOS DE PROCESO:
- EJECUCION: el proceso está actualmente en ejecución.
- LISTO: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.
- BLOQUEADO: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.
- NUEVO: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
- TERMINADO: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.
EL MÁSTER BOOT RECORD (MBR):
Es un pequeño programa que es ejecutado en cada Inicio del sistema operativo y se encuentra ubicado en el primer sector absoluto del disco duro en una PC y que busca la Tabla de Particiones para transferirla al Sector de Arranque (Boot).
COMPOSICIÓN DEL MBR:
El MBR está compuesto por código ejecutable y las entradas de la Tabla de Particiones.
El MBR está compuesto por código ejecutable y las entradas de la Tabla de Particiones.
OFFSET | NATURALEZA | SIZE |
+00h | Código ejecutable | varía |
+1BEh | 1a entrada de tabla de particiones | 16 bytes |
+1CEh | 2a entrada de tabla de particiones | 16 bytes |
+1DEh | 3a entrada de tabla de particiones | 16 bytes |
+1EEh | 4a entrada de tabla de particiones | 16 bytes |
+1FEh | Marcador ejecutable (AA55h) | 2 bytes |
BOOTSTRAP:
Es el protocolo de arranque que utiliza el computador para acceder a una dirección IP automáticamente y no tener que pedirla al usuario cuando este inicie el computador.
SECTOR DE ARRANQUE DEL DISCO DURO:
El sector de arranque es el primer sector de todo disco duro (cabeza 0, cilindro 0, sector1) En él se almacena la tabla de particiones y un pequeño programa master de inicialización, llamado también Master Boot. Este programa es el encargado de leer la tabla de particiones y ceder el control al sector de arranque de la partición activa. Si no existiese partición activa, mostraría un mensaje de error.
EL NUCLEO:
el núcleo es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema, los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.
FUNCION DEL NUCELO:
Los núcleos tienen como funciones básicas de garantizar el cargamento y la ejecución de los procesos, las entradas/salidas y proponer un interfaz entre el espacio núcleo y los programas del espacio del usuario, aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes necesariamente no son proporcionados por un núcleo de sistema de explotación.
TIPOS DE NUCLEOS:
Hay cuatro grandes tipos de núcleos:
- NUCLEOS MONOLITICOS: facilitan abstracciones del hardware subyacente realmente potentes y variadas.
- MICRONUCLEOS: proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
- NUCLEOS HIBRIDOS: son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.Son los que reciben o dan salida a señales analógicas que son procesadas digitalmente.Esto puede realizarse gracias a los conversores analogicos/digitales que , como su nombre indica ,convierte señales analógicas a digitales
- EXONUCLEOS: no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.