sábado, 28 de noviembre de 2015

Funciones de un Sistema Operativo. Parte II


Relación hardware - software.


Concepto de Hardware.

Son todos los dispositivos y componentes físicos que realizan las tareas de entrada y salida, también se conoce al hardware como la parte dura o física del computador. La mayoría de las computadoras están organizadas de la siguiente forma.

Los dispositivos de entrada (Teclados, Lectores de Tarjetas, Lápices Ópticos, Lectores de Códigos de Barra, Escáner, Mouse, etc.) y salida (Monitor, Impresoras, Plotters, Parlantes, etc.) y permiten la comunicación entre el computador y el usuario.



Concepto de Software.

Software es un término informático que hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas y que permite realizar distintas tareas en un sistema informático.

  • Comúnmente se utiliza este término para referirse de una forma muy genérica a los programas de un dispositivo informático.
  • Es un término procedente del inglés, aceptado por la RAE y formado por oposición al término 'hardware'.

Software libre y software propietario


El concepto de software libre se utiliza para referirse a aquellos programas que permiten al usuario utilizar, copiar, modificar y distribuirlo. En oposición a este término, se habla de software propietario para indicar que un programa informático no es completamente libre. En este sentido, el titular del software prohíbe o restringe su uso, redistribución o modificación.

Tipos de software

De forma genérica se pueden distinguir varios tipos de software en función del uso o utilidad: software de sistemasoftware de programación y software de aplicación. El software malicioso o malintencionado (utilizado también en su forma original en inglés malicious software o simplemente malware) es el que se crea con fines ilícitos como obtener información privada del usuario o dañar el sistema.

Gestión de procesos.

Que es un proceso: “Un proceso es básicamente un entorno formado por todos los recursos necesarios para ejecutar programas. Desde el punto de vista del SO, un proceso es un objeto más que hay que gestionar y al cual hay que dar servicio”.

Podemos decir que un programa es una entidad pasiva, en tanto en cuanto es un conjunto de instrucciones de código máquina y datos almacenados en un ejecutable. Mientras que un proceso sería la ejecución de ese programa, es decir, el programa en acción. Esto indica que los procesos son dinámicos, están en constante cambio debido a estos recursos necesarios, ya que al intentar realizar algún tipo de acción puede ser que tenga que permanecer a la espera de que dicho recurso esté disponible, por ejemplo una petición de lectura del disco duro, y que el brazo lector del disco duro lo esté utilizando otro proceso.  

Estados de un proceso.

En un sistema multiprogramado o multitarea donde existen muchos procesos y un procesador, puede ocurrir que en un momento dado sólo se ejecute un proceso o varios y los demás estén esperando a ser procesado o esperen la finalización de una operación de E/S. Los pasos por los que puede pasar un proceso se pueden representar con un diagrama de estado.

Así se puede apreciar que a medida que un proceso se ejecuta va cambiando de estado dependiendo de las preferencias que cada uno tengan asignadas, por lo que será el procesador el que se encargue de ejecutar unos u otros

Planificación de un proceso.

El sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando ésta queda libre, y en qué momento sale de la CPU el proceso que está en ejecución. Todo ello se lleva a cabo a través de una política de planificación de procesos.


Se pueden definir múltiples políticas de planificación de procesos: por orden de llegada, primero la tarea más breve, por orden de prioridad, etc. En definitiva, lo que una política de planificación debe conseguir es que los procesos obtengan adecuadamente sus turnos de ejecución por lo que son tratados de la misma forma, que no se produzca sobrecarga, es decir, el planificador debe responder rápidamente ante cargas de trabajo ligera y responder de la misma forma ante cargas de trabajo similares. Y obtener un buen rendimiento, por lo se debe lograr finalizar el mayor número de procesos y maximizar el tiempo de respuesta.

Ejecutar programa Objeto.

se le llama código objeto al código que resulta de la compilación del código fuente.
Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de código objeto con un programa llamado enlazador.




Protección de datos y aislamiento.

Protección  Los procesos de un sistema pueden abarcar distintas áreas del mismo, con distintos propósitos y efectos. Por esta razón, es necesario restringir el dominio de dichos procesos bajo ciertas condiciones para asegurar que el sistema no sea vulnerado, y en términos simples, sea lo suficientemente seguro. 

Se utiliza protección para evitar accidentes, eventos que se supone que no debiesen ocurrir Previo al establecimiento de los mecanismos de protección, en un sistema deben estar definidas las políticas de protección  las cuales definen qué elementos de dominio deben ser afectados por cada mecanismo de protección. Dichas políticas están definidas por distintas fuentes, ya sea el diseño del sistema políticas estáticas, administradores del sistema, o usuarios individuales para casos más locales.

la definición de procesos, tiene dos pasos.

política: que cosas se harán.
Mecanismo: Como se harán las cosas.

en resumen, los procesos que se ejecutan automáticamente, a parte de comunicarse entre ellos para saber cuanto y cuando sera que el proceso levanta, estos se blindan automáticamente aislándose de los demás para mejor funcionamiento y protección de estos mismos.






No hay comentarios:

Publicar un comentario