En informática, el núcleo (también conocido en español con el anglicismo kernel, de raíces germánicas
como kern) 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. Como hay muchos
programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa
podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como
multiplexado. En el siguiente gráfico se muestra el esquema de relaciones por capas del computador
En informática, el núcleo de un sistema operativo, es el programa informático que se asegura de:
• La comunicación entre los programas informáticos y el hardware.
• Gestión de los distintos programas informáticos (tareas) de una máquina.
• Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)
La mayoría de los sistemas operativos se construyen en torno al concepto de núcleo. La existencia de
un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el
programa informático, resulta de compromisos complejos referentes a cuestiones de resultados,
seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los
recursos materiales (hardware), en particular, de la memoria. En la siguiente figura se observa más
detalladamente las capas operativas de un sistema de computación.
skip to main |
skip to sidebar
Es la estructura de los primeros sistemas operativos. Fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.
Ø Las zonas mas intensas o nucleo están mas protegidas de posibles accesos indeseados desde las capas mas externas.
No se puede comenzar a abordar el tema de los sistemas operativos sin revisar
brevemente su desarrollo histórico. Esto no sólo permitirá comprender por
qué fueron apareciendo determinadas características y patrones de diseño que
se siguen empleando décadas más tarde, sino (como resulta particularmente
bien ejemplificado en el discurso de recepción del premio Turing de Fernando
Corbató, Acerca de la construcción de sistemas que fallarán, (Corbató 2007)), adecuar
un sistema a un entorno cambiante, por mejor diseñado que éste estuviera,
lleva casi inevitablemente a abrir espacios de comportamiento no previsto
—el espacio más propicio para que florezcan los fallos. Conocer los factores
que motivaron a los distintos desarrollos puede ayudar a prever y prevenir
problemas.
1.3.1. Proceso por lotes (batch processing)
Los antecedentes a lo que hoy se conoce como sistema operativo pueden encontrarse en la automatización inicial del procesamiento de diferentes programas, surgida en los primeros centros de cómputo: cuando en los años cincuenta aparecieron los dispositivos perforadores/lectores de tarjetas de papel, el tiempo que una computadora estaba improductiva esperando a que estuviera lista una tarea (como se designaba a una ejecución de cada determinado programa) para poder ejecutarla disminuyó fuertemente ya que los programadores entregaban su lote de tarjetas perforadas (en inglés, batches) a los operadores, quienes las alimentaban a los dispositivos lectores, que lo cargaban en memoria en un tiempo razonable, iniciaban y monitoreaban la ejecución, y producían los resultados.
En esta primer época en que las computadoras se especializaban en tareas de cálculo intensivo y los dispositivos que interactuaban con medios externos eran prácticamente desconocidos, el papel del sistema monitor o de control era básicamente asistir al operador en la carga de los programas y las bibliotecas requeridas, la notificación de resultados y la contabilidad de recursos empleados para su cobro.
Los sistemas monitores se fueron sofisticando al implementar protecciones que evitaran la corrupción de otros trabajos (por ejemplo, lanzar erróneamente la instrucción leer siguiente tarjeta causaría que el siguiente trabajo encolado perdiera sus primeros caracteres, corrompiéndolo e impidiendo su ejecución), o que entraran en un ciclo infinito, estableciendo alarmas (timers) que interrumpirían la ejecución de un proceso si éste duraba más allá del tiempo estipulado. Estos monitores implicaban la modificación del hardware para considerar dichas características de seguridad —y ahí se puede hablar ya de la característica básica de gestión de recursos que identifica a los sistemas operativos.
Cabe añadir que el tiempo de carga y puesta a punto de una tarea seguía representando una parte importante del tiempo que la computadora dedicaba al procesamiento: un lector de cintas rápido procesaba del orden de cientos de caracteres por minuto, y a pesar de la lentitud relativa de las computadoras de los años cincuenta ante los estándares de hoy (se medirían por miles de instrucciones por segundo, KHz, en vez de miles de millones como se hace hoy, GHz), esperar cinco o diez minutos con el sistema completamente detenido por la carga de u
1.3.2. Sistemas en lotes con dispositivos de carga (spool)
ismo de entrada/salida que permitía que una computadora de propósito específico, mucho más económica y limitada, leyera las tarjetas y las fuera convirtiendo a cinta magnética, un medio mucho más rápido, teniéndola lista para que la computadora central la cargara cuando terminara con el trabajo anterior. Del mismo modo, la computadora central guardarba sus resultados en cinta para que equipos especializados la leyeran e imprimieran para el usuario solicitante. La palabra spool (bobina) se tomó como acrónimo inverso hacia Simultaneous Peripherial Operations On-Line, operación simultánea de periféricos en línea.
1.3.3. Sistemas multiprogramados
A lo largo de su ejecución, un programa normalmente pasa por etapas con muy distintas características: durante un ciclo fuertemente dedicado al cálculo numérico, el sistema opera limitado por el CPU (CPU-bound), mientras que al leer o escribir resultados a medios externos (incluso mediante spools) el límite es impuesto por los dispositivos, esto es, opera limitado por entrada-salida (I-O bound). La programación multitareas o los sistemas multiprogramados buscaban maximizar el tiempo de uso efectivo del procesador ejecutando varios procesos al mismo tiempo.
El hardware requerido cambió fuertemente. Si bien se esperaba que cada usuario fuera responsable con el uso de recursos, resultó necesario que apareciera la infraestructura de protección de recursos: un proceso no debe sobreescribir el espacio de memoria de otro (ni el código, ni los datos), mucho menos el espacio del monitor. Esta protección se encuentra en la Unidad de Manejo de Memoria (MMU), presente en todas las computadoras de uso genérico desde los años noventa.
El hardware requerido cambió fuertemente. Si bien se esperaba que cada usuario fuera responsable con el uso de recursos, resultó necesario que apareciera la infraestructura de protección de recursos: un proceso no debe sobreescribir el espacio de memoria de otro (ni el código, ni los datos), mucho menos el espacio del monitor. Esta protección se encuentra en la Unidad de Manejo de Memoria (MMU), presente en todas las computadoras de uso genérico desde los años noventa.
Ciertos dispositivos requieren bloqueo para ofrecer acceso exclusivo/único: cintas e impresoras, por ejemplo, son de acceso estrictamente secuencial, y si dos usuarios intentaran usarlas al mismo tiempo, el resultado para ambos se corrompería. Para estos dispositivos, el sistema debe implementar otros spools y mecanismos de bloqueo.
1.3.4. Sistemas de tiempo compartido
El modo de interactuar con las computadoras se modificó drásticamente durante los años sesenta, al extenderse la multitarea para convertirse en sistemas interactivos y multiusuarios, en buena medida diferenciados de los anteriores por la aparición de las terminales (primero teletipos seriales, posteriormente equipos con una pantalla completa como se conocen hasta hoy).
En primer término, la tarea de programación y depuración del código se simplificó fuertemente al poder hacer el programador directamente cambios y someter el programa a la ejecución inmediata. En segundo término, la computadora nunca más estaría simplemente esperando a que esté listo un progama: mientras un programador editaba o compilaba su programa, la computadora seguía calculando lo que otros procesos requirieran.
Multitarea cooperativa o no apropiativa (Cooperative multitasking).
La implementaron los sistemas multiprogramados: cada proceso tenía control del CPU hasta que éste hacía una llamada al sistema (o indicara su disposición a cooperar por medio de la llamada yield: ceder el paso). Un cálculo largo no era interrumpido por el sistema operativo, en consecuencia un error de programador podía congelar la computadora completa.
Multitarea preventiva o apropiativa (Preemptive multitasking).
En los sistemas de tiempo compartido, el reloj del sistema interrumpe periódicamente a los diversos procesos, transfiriendo forzosamente el control nuevamente al sistema operativo. Éste puede entonces elegir otro proceso para continuar la ejecución.
Además, fueron naciendo de forma natural y paulatina las abstracciones que se conocen hoy en día, como los conceptos de archivos y directorios, y el có- digo necesario para emplearlos iba siendo enviado a las bibliotecas de sistema y, cada vez más (por su centralidad) hacia el núcleo mismo del, ahora sí, sistema operativo.
Un cambio importante entre los sistemas multiprogramados y de tiempo compartido es que la velocidad del cambio entre una tarea y otra es mucho más rápido: si bien en un sistema multiprogramado un cambio de contexto podía producirse sólo cuando la tarea cambiaba de un modo de ejecución a otro, en un sistema interactivo, para dar la ilusión de uso exclusivo de la computadora, el hardware emitía periódicamente al sistema operativo interrupciones (señales) que le indicaban que cambie el proceso activo (como ahora se le denomina a una instancia de un programa en ejecución).
Diferentes tipos de proceso pueden tener distinto nivel de importancia —ya sea porque son más relevantes para el funcionamiento de la computadora misma (procesos de sistema), porque tienen mayor carga de interactividad (por la experiencia del usuario) o por diversas categorías de usuarios (sistemas con contabilidad por tipo de atención). Esto requiere la implementación de diversas prioridades para cada uno de éstos.
domingo, 3 de septiembre de 2017
1.5 Estructura.
ESTRUCTURA MONOLÍTICA
Es la estructura de los primeros sistemas operativos. Fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.
CARACTERÍSTICAS
Ø Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces.
Ø Buena definición de parámetros de enlace entre la rutinas existentes.
Ø Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
Ø Generalmente están hechos a la medida
Ø Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
EJEMPLOS
Entre los sistemas operativos que cuentan con núcleos monolíticos se encuentran:
Núcleos tipo Unix
§ Linux
§ Syllable
§ Unix
§ BSD (FreeBSD,NetBSD,OpenBSD)
§ Solaris
§ Núcleos tipo DOS
§ DR-DOS
§ MS-DOS
§ Familia Microsoft Windows 9x (95, 98, 98SE, Me)
§ Núcleos del Mac OS hasta Mac OS 8.6
§ OpenVMS
§ XTS-400
ESTRUCTURA JERÁRQUICA
Consiste en organizar el sistema operativo con una jerarquía de capas cada una construida sobre la que esta bajo ella.
CARACTERÍSTICAS
Ø Las zonas mas intensas o nucleo están mas protegidas de posibles accesos indeseados desde las capas mas externas.
Ø Tienes un contacto mas próximo con el hardware
Ø Núcleo mínimo, mas seguro y ágil.
En esta estructura se basan prácticamente la mayoría de los SO actuales. Otra forma de ver este tipo de sistema es la denominación de anillos concéntricos o “RINGS”
EJEMPLOS
ESTRUCTURA MAQUINA VIRTUAL
Se trata de un SO que presenta una interfaces cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos SO separan dos conceptos: Multiprogramación y La Máquina Extendida Su objetivo es distinguir distintos SO dando la sensación de ser varias máquinas. Tiene capacidad de utilizar varios SO simultáneamente.
CARACTERÍSTICAS
Ø Se puede hacer varios sistemas operativos sin necesidad de crear particiones.
Ø Se puede simular el hardware
Ø Gran capacidad de disco duro-memoria ram
Ø Protección cada maquina virtual esta aislada de las otras y no puede inferir.
EJEMPLOS
Ø Nachos: sistema operativo se ejecuta en una virtual mips, cuyo emulador corre sobre Linux.
Ø IBM IV: ofrecía a cada usuario su propia maquina virtual no multiprogramado.
ESTRUCTURA CLIENTE-SERVIDOR
Es el tipo más reciente de los SO, que puedenser ejecutados en la mayoría de lascomputadoras, ya sean grandes o pequeñas. Este sistema sirve para todo, por lo tanto esde propósito general y se basa en lo mismoque el resto de los SO convencionales: núcleoy procesos, presentando grandes diferenciasen cuanto a la forma de distribuir los trabajosentre sus diferentes partes.
CARACTERÍSTICAS
Ø Coordina, permite el trabajo entre iguales.
Ø Cliente; inicia las solicitudes o peticiones (maestro)
Ø Espera y recibe respuesta del servidor
Ø Se puede conectar a varios servidores a la vez .
Ø Servidor:
Ø Esclavo, espera las solicitudes del cliente
Ø Aceptan conexiones desde un gran numero de clientes.
EJEMPLOS
Ø Sistema operativo Novell NetWare 1983, plataforma mas fiable para ofrecer acceso seguro.
Ø Windows 2000
Ø Cualquiera de este puede compartir sus recursos con otro Windows 2000
Ø Windows xp
1.4 Clasificación.
Clasificación de los sistemas operativos
Existen diversas clasificaciones de los sistemas operativos, la más común es por lo servicios que ofrecen al usuario final:
Sistemas operativos monousuarios
Los sistemas operativos monousuarios son aquellos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.
Sistemas operativos multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.
Sistemas operativos monotareas
Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
Sistemas operativos multitareas
Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.
Sistemas operativos uniproceso
Un sistema operativo uniproceso es aquél capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.
Sistemas operativos multiproceso
Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.
1.3 Evolución histórica.
Los antecedentes a lo que hoy se conoce como sistema operativo pueden encontrarse en la automatización inicial del procesamiento de diferentes programas, surgida en los primeros centros de cómputo: cuando en los años cincuenta aparecieron los dispositivos perforadores/lectores de tarjetas de papel, el tiempo que una computadora estaba improductiva esperando a que estuviera lista una tarea (como se designaba a una ejecución de cada determinado programa) para poder ejecutarla disminuyó fuertemente ya que los programadores entregaban su lote de tarjetas perforadas (en inglés, batches) a los operadores, quienes las alimentaban a los dispositivos lectores, que lo cargaban en memoria en un tiempo razonable, iniciaban y monitoreaban la ejecución, y producían los resultados.
En esta primer época en que las computadoras se especializaban en tareas de cálculo intensivo y los dispositivos que interactuaban con medios externos eran prácticamente desconocidos, el papel del sistema monitor o de control era básicamente asistir al operador en la carga de los programas y las bibliotecas requeridas, la notificación de resultados y la contabilidad de recursos empleados para su cobro.
Los sistemas monitores se fueron sofisticando al implementar protecciones que evitaran la corrupción de otros trabajos (por ejemplo, lanzar erróneamente la instrucción leer siguiente tarjeta causaría que el siguiente trabajo encolado perdiera sus primeros caracteres, corrompiéndolo e impidiendo su ejecución), o que entraran en un ciclo infinito, estableciendo alarmas (timers) que interrumpirían la ejecución de un proceso si éste duraba más allá del tiempo estipulado. Estos monitores implicaban la modificación del hardware para considerar dichas características de seguridad —y ahí se puede hablar ya de la característica básica de gestión de recursos que identifica a los sistemas operativos.
Cabe añadir que el tiempo de carga y puesta a punto de una tarea seguía representando una parte importante del tiempo que la computadora dedicaba al procesamiento: un lector de cintas rápido procesaba del orden de cientos de caracteres por minuto, y a pesar de la lentitud relativa de las computadoras de los años cincuenta ante los estándares de hoy (se medirían por miles de instrucciones por segundo, KHz, en vez de miles de millones como se hace hoy, GHz), esperar cinco o diez minutos con el sistema completamente detenido por la carga de u
1.3.2. Sistemas en lotes con dispositivos de carga (spool)
ismo de entrada/salida que permitía que una computadora de propósito específico, mucho más económica y limitada, leyera las tarjetas y las fuera convirtiendo a cinta magnética, un medio mucho más rápido, teniéndola lista para que la computadora central la cargara cuando terminara con el trabajo anterior. Del mismo modo, la computadora central guardarba sus resultados en cinta para que equipos especializados la leyeran e imprimieran para el usuario solicitante. La palabra spool (bobina) se tomó como acrónimo inverso hacia Simultaneous Peripherial Operations On-Line, operación simultánea de periféricos en línea.
1.3.3. Sistemas multiprogramados
A lo largo de su ejecución, un programa normalmente pasa por etapas con muy distintas características: durante un ciclo fuertemente dedicado al cálculo numérico, el sistema opera limitado por el CPU (CPU-bound), mientras que al leer o escribir resultados a medios externos (incluso mediante spools) el límite es impuesto por los dispositivos, esto es, opera limitado por entrada-salida (I-O bound). La programación multitareas o los sistemas multiprogramados buscaban maximizar el tiempo de uso efectivo del procesador ejecutando varios procesos al mismo tiempo.
El hardware requerido cambió fuertemente. Si bien se esperaba que cada usuario fuera responsable con el uso de recursos, resultó necesario que apareciera la infraestructura de protección de recursos: un proceso no debe sobreescribir el espacio de memoria de otro (ni el código, ni los datos), mucho menos el espacio del monitor. Esta protección se encuentra en la Unidad de Manejo de Memoria (MMU), presente en todas las computadoras de uso genérico desde los años noventa.
El hardware requerido cambió fuertemente. Si bien se esperaba que cada usuario fuera responsable con el uso de recursos, resultó necesario que apareciera la infraestructura de protección de recursos: un proceso no debe sobreescribir el espacio de memoria de otro (ni el código, ni los datos), mucho menos el espacio del monitor. Esta protección se encuentra en la Unidad de Manejo de Memoria (MMU), presente en todas las computadoras de uso genérico desde los años noventa.
Ciertos dispositivos requieren bloqueo para ofrecer acceso exclusivo/único: cintas e impresoras, por ejemplo, son de acceso estrictamente secuencial, y si dos usuarios intentaran usarlas al mismo tiempo, el resultado para ambos se corrompería. Para estos dispositivos, el sistema debe implementar otros spools y mecanismos de bloqueo.
1.3.4. Sistemas de tiempo compartido
El modo de interactuar con las computadoras se modificó drásticamente durante los años sesenta, al extenderse la multitarea para convertirse en sistemas interactivos y multiusuarios, en buena medida diferenciados de los anteriores por la aparición de las terminales (primero teletipos seriales, posteriormente equipos con una pantalla completa como se conocen hasta hoy).
En primer término, la tarea de programación y depuración del código se simplificó fuertemente al poder hacer el programador directamente cambios y someter el programa a la ejecución inmediata. En segundo término, la computadora nunca más estaría simplemente esperando a que esté listo un progama: mientras un programador editaba o compilaba su programa, la computadora seguía calculando lo que otros procesos requirieran.
Multitarea cooperativa o no apropiativa (Cooperative multitasking).
La implementaron los sistemas multiprogramados: cada proceso tenía control del CPU hasta que éste hacía una llamada al sistema (o indicara su disposición a cooperar por medio de la llamada yield: ceder el paso). Un cálculo largo no era interrumpido por el sistema operativo, en consecuencia un error de programador podía congelar la computadora completa.
Multitarea preventiva o apropiativa (Preemptive multitasking).
En los sistemas de tiempo compartido, el reloj del sistema interrumpe periódicamente a los diversos procesos, transfiriendo forzosamente el control nuevamente al sistema operativo. Éste puede entonces elegir otro proceso para continuar la ejecución.
Además, fueron naciendo de forma natural y paulatina las abstracciones que se conocen hoy en día, como los conceptos de archivos y directorios, y el có- digo necesario para emplearlos iba siendo enviado a las bibliotecas de sistema y, cada vez más (por su centralidad) hacia el núcleo mismo del, ahora sí, sistema operativo.
Un cambio importante entre los sistemas multiprogramados y de tiempo compartido es que la velocidad del cambio entre una tarea y otra es mucho más rápido: si bien en un sistema multiprogramado un cambio de contexto podía producirse sólo cuando la tarea cambiaba de un modo de ejecución a otro, en un sistema interactivo, para dar la ilusión de uso exclusivo de la computadora, el hardware emitía periódicamente al sistema operativo interrupciones (señales) que le indicaban que cambie el proceso activo (como ahora se le denomina a una instancia de un programa en ejecución).
Diferentes tipos de proceso pueden tener distinto nivel de importancia —ya sea porque son más relevantes para el funcionamiento de la computadora misma (procesos de sistema), porque tienen mayor carga de interactividad (por la experiencia del usuario) o por diversas categorías de usuarios (sistemas con contabilidad por tipo de atención). Esto requiere la implementación de diversas prioridades para cada uno de éstos.
1.2 Funciones y características de los sistemas operativos.
Funciones de los sistemas operativos
Una primera aproximación a las tareas de un sistema operativo desde dos vertientes: asistencia a
la programación y gestión del sistema. Desde el punto de vista de la primera función, las tareas de
un sistema operativo se pueden resumir en:
- Asistencia en la compilación, depuración y linkado de programas
- Manejo y ejecución de programas, su carga en memoria, su ejecución y la finalización
- Gestión de la información, manejo de ficheros, modificación, lectura, grabación,...
- Controlar las operaciones de entrada y salida
- Detección de errores físicos o lógicos
Para la gestión eficiente del sistema informático el sistema operativo debe:
- Informar sobre el estado de uso del mismo, usuarios, tareas, tiempos, recursos,...
- Dar inicio a los procesos y mantenerlos hasta que acaben
- Interpretar los lenguajes de control
- Protección de la estructura de la información ante usos inadecuados: detectar y corregir errores,
protección de datos, de programas
- Asignación y separación de recursos: CPU, memoria, dispositivos de entrada y salida,...
- Gestionar las interrupciones
- Interactuar con el usuario
1.- Aceptar todos los trabajos y conservarlos hasta su finalización.
2.- Interpretación de comandos: Interpreta los comandos que permiten al usuario comunicarse con
el ordenador.
3.- Control de recursos: Coordina y manipula el hardware de la computadora, como la memoria, las
impresoras, las unidades de disco, el teclado o el Mouse.
4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas.
5.- Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.
6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los
procesos. Definir el orden. (Quien va primero y quien después).
7.- Protección: Evitar que las acciones de un usuario afecten el trabajo que esta realizando otro
usuario.
8.- Multiacceso: Un usuario se puede conectar a otra máquina sin tener que estar cerca de ella.
9.- Contabilidad de recursos: establece el costo que se le cobra a un usuario por utilizar
determinados recursos.
Características de los sistemas operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes características:
Conveniencia:
Un Sistema Operativo hace más conveniente el uso de una computadora.
Eficiencia:
Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más
eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el
desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el
servicio.
Encargado de administrar el hardware.
El Sistema Operativo se encarga de manejar de una mejor
manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada
proceso una parte del procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a través del kernel).
El Sistema Operativo se debe encargar de
comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
Organizar datos para acceso rápido y seguro.
Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta
facilidad todo lo referente a la instalación y uso de las redes de computadoras.
Procesamiento por bytes de flujo a través del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y
manejo de los dispositivos de Entrada/Salida de la computadora.
1.1 Definición y concepto de sistema operativo.
El sistema operativo administra los recursos de la computadora y supervisa las funciones de entrada, proceso, almacenamiento y salida; marca las pautas según las cuales se intercambia información entre la memoria central y la externa; determina las operaciones elementales que puede realizar el procesador; provee de una plataforma de software por encima de la cual otros programas, llamados aplicaciones, pueden ejecutarse; regula el acceso al sistema y proporciona al usuario una interfaz para comunicarse con la computadora.
El sistema operativo debe ser cargado en la memoria central antes que ninguna otra información.
Desde el sistema operativo se ejecutan las tareas básicas, como reconocer entradas desde el teclado, enviar mensajes a pantalla manteniendo rastro de los archivos y directorios en el disco y controlar los dispositivos periféricos como las impresoras.
Para realizar sus funciones, se compone a su vez de dos elementos:
- El kernel (núcleo), que controla las funciones centrales del sistema
- El shell (entorno), que controla la interfaz del usuario
Hoy en día la mayor parte de los sistemas operativos son multiusuario, es decir, permiten el acceso a una computadora a más de un usuario mediante el uso de módems, conexión de terminales a través de puertos seriales y redes; en general son también multitarea, lo que significa que tienen la capacidad para correr más de un programa al mismo tiempo.
Las computadoras que tienen más de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de las computadoras multiprocesadoras. Mientras una computadora de multiproceso ejecuta una instrucción a través de un procesador, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos.
Existen diferentes sistemas operativos, entre los que podemos encontrar: MS-DOS, Linux, Macintosh y Windows.
Durante mucho tiempo fue el más común y popular de todos los sistemas operativos para PC debido al elevadísimo volumen de software disponible bajo esta plataforma y a la base instalada de computadoras con procesador Intel, compatible con MS-DOS.
| |
Como sistema operativo, Linux es muy eficiente y tiene un excelente diseño. Es multitarea, multiusuario, multiplataforma y multiprocesador; en las plataformas Intel corre en modo protegido; protege la memoria para que un programa no pueda hacer caer al resto del sistema; carga sólo las partes de un programa que se usan; comparte la memoria entre programas aumentando la velocidad y disminuyendo el uso de memoria; usa un sistema de memoria virtual por páginas; utiliza toda la memoria libre para caché; permite usar bibliotecas enlazadas tanto estática como dinámicamente; se distribuye con código fuente; usa hasta 64 consolas virtuales; tiene un sistema de archivos avanzado pero puede usar los de los otros sistemas; y soporta redes tanto en TCP/IP como en otros protocolos.
| |
Windows es hoy en día el sistema operativo de mayor uso debido a la compatibilidad con el software de mayor distribución en el mercado.
|
Temas
- 1.1 Definición y concepto de sistema operativo
- 1.2 Funciones y características de los sistemas operativos
- 1.3 Evolución histórica.
- 1.4 Clasificación.
- 1.5 Estructura.
- 1.6 Núcleo.
- 2.1 Concepto de proceso
- 2.2 Estados y transiciones de los procesos
- 2.3 Procesos ligeros: Hilos o hebras
- 2.4 Concurrencia y secuenciabilidad
- 2.5 Niveles
- 2.6 Técnicas de administración del planificador
- 3.1 Politica y filosofía
- 3.2 Memoria real
- 3.3 Organización de memoria virtual
- 3.4 Administración de memoria virtual
- 4.1 Dispositivos y manejadores
- 4.2 Funciones de los manejadores de dispositivos
- 4.3 Estructura de datos para manejo de dispositivos
- 4.4 Operaciones de entrada/salida
- 5.1 Concepto de Sistema de archivos
- 5.2 Archivos reales y virtuales
- 5.3 Componentes de un sistema de archivos
- 5.4 Organizacion de Archivos
- 5.5 Mecanismos de acceso a los archivos
- 5.6 Manejo de espacio en memoria secundaria
- 5.7 Modelo jerarquico
- 5.8 Mecanismos de recuperacion en caso de fallos
- 6.1 Concepto y objetivo de proteccion
- 6.2 clasificacion de la seguridad
- 6.3 Funciones del sistema de proteccion
- 6.4 Implantacion de matrices de acceso
- 6.5 Proteccion basada en el lenguaje
- 6.6 validacion y amenaza del sistema
- 6.7 Cifrado
- objetivos y criterios de planificación
Entradas populares
-
Control de acceso que hace referencia a las caracteristicas de seguridad que controlan quien puede obtener acceso a los recursos de un sist...
-
El grado de protección que se proporciona en los sistemas informáticos existentes suele conseguirse inmediatamente en kernel del sistema op...
-
Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En ejecución y Bloqueado. Los procesos en el estado listo...
-
3.3 Organizacion Memoria Virtual Según la investigación de Analía Lanzillotta(2004) Un sistema de memoria virtual se implementa uti...
-
El concepto de proceso engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos y otro que...
Blog Archive
- diciembre 2017 (23)
- octubre 2017 (6)
- septiembre 2017 (6)
Followers
Con la tecnología de Blogger.










