domingo, 29 de noviembre de 2015

Partes del Sistema Operativo.


UI "interfaces de usuario" S.O

al iniciar cualquier sistema, siempre nos encontraremos una UI "interfaz de usuario" esta es la encargada de mostrarnos el mundo que esconde un sistema operativo, es la encargada de guiarnos por los elementos y procesos que ejecutamos en nuestros dispositivos, la interfaz de usuario constituye la manera en que el usuario interactúa con la computadora. En los sistemas operativos actuales es común el uso de una interfaz gráfica de usuario: una colección de objetos sobre un fondo coloreado (basada en la metáfora del escritorio) con iconos, ventanas dinámicas, menús y cuadros de diálogo.




 Las aplicaciones diseñadas para correr o ser ejecutadas en un particular sistema operativo utilizan los mismos elementos de interfaz, de modo que los usuarios permanecen bajo una interfaz coherente y familiar.

Tipos de interfaces.
como sabemos, sistemas operativos existen muchos, y es lógico que todos estos no van a tener la misma IU que otros, atractivas visualmente, mas amigables con el usuario o simplemente de protocolo.

  • Interfaz de línea de comando. SHELL Requiere que el usuario introduzca la instrucción o comando por medio del teclado. El usuario teclea o escribe los comandos, carácter a carácter ante un indicador, usando la sintaxis y nomenclatura correctas y luego oprime “Enter” para ejecutarlo. Los usuarios experimentados en esta interfaz afirman que es más simple, más rápida y que proporcionan mejor información que las interfaces gráficas.


  • Interfaz controlado por menús. Esta interfaz proporciona menús para seleccionar opciones del programa, así el usuario no tiene que memorizar comandos. En lugar de esto los comandos son seleccionados del menú presentado en pantalla, como cuando se escoge algún plato en un restaurante. 


  • Interfaz gráfica del usuario (GUI - Graphical User Interfaz). En este tipo de interfaz, los usuarios controlan el sistema señalando y haciendo clic en gráficos o iconos de la pantalla que representan las características del programa. Se basa en el hecho de que la gente reconoce con más rapidez y facilidad las representaciones gráficas que las palabras o frases que lee. Se le asocia generalmente a otras características, como el uso de una interfaz de ratón activo con menús de despliegue descendente, cajas de diálogo, cajas de verificación, botones de radio y elementos semejantes.



en resumen, la UI tiene muchas facetas, tiene muchas ramas, pero todas son dirigidas a lo mismo al manejo de dispositivos mediante menús, o lineas de códigos implementadas por el usuario con un fin.

2000 daniel 

Kernel.


Núcleo o corazón, Parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora. Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo.




El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente al hardware, proceso que puede ser complicado.

Las funciones más importantes del mismo, aunque no las únicas, son:
  • Administración de la memoria para todos los programas y procesos en ejecución.
  • Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.
  • Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.




   

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.






viernes, 27 de noviembre de 2015

Funciones de un Sistema Operativo. I -Parte


¿ cuales son las funciones de un SO?


Abstracción.
permite ocultar lo más posible los detalles de más bajo nivel intentando dar a los niveles superiores una visión más sencilla, global y abstracta ofreciendo operaciones para manipular dichas estructuras ocultas desconocidas por completo para la gestión interna de la estructura.

  • Gracias a ella, los sistemas operativos enmascaran los recursos físicos permitiendo su manejo con funciones mas generales que ocultan las básicas constituyendo verdaderos recursos ficticios o virtuales que mejoran o son más potentes que los físicos.
Administración y organización de archivos. 

Un archivo es una colección de registros que se encuentran relacionados entre si, estos archivos se diseñan para manejar grandes cantidades de datos.



Todos los programas que contengan datos, u algún tipo de compilación.  usan estructuras de datos de alguna clase; y muchos otros usan archivos. Aquellos que diseñan y desarrollan software para aplicaciones comerciales y tecnológicas, así como quienes diseñan y desarrollan sistemas de computo,  sistemas operativos, compiladores, sistemas de administración de bases de datos y sistemas de comunicación entre procesadores, requieren de conocimientos de archivos y estructuras de datos. Las estructuras de datos y la organización de archivos son los elementos principales que determinan el rendimiento de los programas.

Cualquier aplicación encargada de la manipulación de ficheros en dispositivos de almacenamiento. Estos programas hacen más fácil el manejo de los archivos en discos duros, discos flexibles, discos ópticos, etc.


Sistema de Archivos.


  • Es un método para el almacenamiento y organización de archivos de computadora y los datos que estos contienen, para hacer más fácil la tarea encontrarlos y acceder a ellos.
  • Los sistemas de archivos son usados en dispositivos de almacenamiento como discos duros y CD-ROM e involucran el mantenimiento de la localización física de los archivos.

en resumen un sistema de archivos es un conjunto de tipo de datos abstractos que son implementados para el almacenamiento, la organización jerárquica, la manipulación, el acceso, el direccionamiento y la recuperación de datos. Los sistemas de archivos comparten mucho en común con la tecnología de las bases de datos.


Administración de recursos SO.

Los recursos de un sistema operativo son el espacio en el disco rígido, la disponibilidad de la red, el uso de las impresoras o los scanners, la conexión a Internet, la administración de la memoria RAM , el administrador es la persona que tiene acceso para poder administrarlo y dosificarlo de acuerdo a la cantidad de usuarios que usan el sistema. 

Administra la entrega y la salida de correo electrónico, abre y cierra puertos de comunicaciones para que los hackers no ingresen sin permiso desde Internet, administra la asignación de contraseñas, y tiene poder absoluto para moverse dentro del sistema para poder corregir y administrarlo. 
En sistemas operativos como el LINUX el administrador se llama Root, en WIndows server se llama Administrador.

Administrar los recursos de un computador cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de CPU, memoria o impresora). 

Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otro computador). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas. 



   

Sistemas Operativos I, temas.




  1. A finales de la década de 1940, con lo que se podría considerar la aparición de la primera generación de computadoras en el mundo, se accedía directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitían introducir directamente el programa en la memoria de la computadora.
  2. A principios de los años 50 con el objeto de facilitar la interacción entre persona y computadora, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.

se le conoce como  sistema operativo a el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escaners, etc.

En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.

funcionamiento de  un Sistema Operativo

Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.
algunos de los sistemas operativos mas conocidos.

Familia Windows


  • Windows 95
  • Windows 98
  • Windows ME
  • Windows NT
  • Windows 2000
  • Windows 2000 server
  • Windows XP
  • Windows Server 2003
  • Windows CE
  • Windows Mobile
  • Windows XP 64 bits
  • Windows Vista (Longhorn)

Familia Macintosh


  • Mac OS 7
  • Mac OS 8
  • Mac OS 9
  • Mac OS X

Familia UNIX


  • AIX
  • AMIX
  • GNU/Linux
  • GNU / Hurd
  • HP-UX
  • Irix
  • Minix
  • System V
  • Solaris
  • UnixWare


Hardware.







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.