Vous êtes sur la page 1sur 19

Corellium

Curso: Sistemas Operativos


Profesor: Huapaya
Ciclo: 6
Aula: 211
Semestre: 6

Coordinador: Lanasca cueva Eduado


Integrantes: Lanasca Cueva, Eduardo
Espejo Arroyo, Christopher Kevin
Encalada Maldonado, Katherine
Gonzales Girio, Juan

INGENIERIA DE SOFTWARE
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

1
Índice
Introducción………………………………………………………………………….. 3
Marco teórico………………………………………………………………………… 3
Herramientas y librerías utilizadas………………………………………………… 7
Diseño de pantallas…………………………………………………………………. 8
Explicación de las funciones desarrolladas……………………………………… 13
Bibliografía…………………………………………………………………………… 18
Conclusiones………………………………………………………………………… 18

2
Introducción:

El presente proyecto tiene como objetivo simular un sistema operativo que


contiene algunas funciones básicas de un S.O tales como gestor de archivos,
navegador web, calculadora, papelera de reciclaje, editor de texto, entre otros,
encargados de ayudar al usuario en los distintos trabajos que haga.

Marco teórico (Sistemas operativos, funciones y características de los


S.O, Tipos de Sistemas Operativos y administración de archivos)
Definición:

Un sistema operativo es el programa que oculta la verdad del hardware al


programador y presenta una vista simple y agradable de los archivos
nominados que pueden leerse y escribirse. Es sistema operativo resguarda al
programador del hardware del disco y presenta una interfaz simple orientada al
archivo, también disimula mucho del trabajo concerniente a interrupciones,
relojes o cronómetros, manejo de memoria y otras características de bajo nivel.

Desde su creación, las computadoras digitales han utilizado un sistema de


codificación de instrucciones en sistema de numeración binaria, es decir con
los 0S. Esto se debe a que los circuitos integrados funcionan con este principio,
es decir, hay corriente o no hay corriente.
En el origen de la historia de las computadoras (hace unos cuarenta
años), los sistemas operativos no existían y la introducción de un programa
para ser ejecutado se convertía en un increíble esfuerzo que solo podía ser
llevado a cabo por muy pocos expertos. Esto hacía que las computadoras
fueran muy complicadas de usar y que se requiriera tener altos conocimientos
técnicos para operarlas. Era tan complejo su manejo, que en algunos casos el
resultado llegaba a ser desastroso.
Además, el tiempo requerido para introducir un programa en aquellas
grandes máquinas de lento proceso superaba por mucho el de ejecución y
resultaba poco provechosa la utilización de computadoras para resolución de
problemas prácticos.
Se buscaron medios más elaborados para manipular la computadora,
pero que a su vez simplificaran la labor del operador o el usuario. Es entonces
cuando surge la idea de crear un medio para que el usuario pueda operar la
computadora con un entorno, lenguaje y operación bien definido para hacer un
verdadero uso y explotación de esta. Surgen los sistemas operativos.

3
Un sistema operativo es el encargado de brindar al usuario una forma
amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al
procesador central para que este realice las tareas necesarias y específicas
para completar una orden.
El sistema operativo, es el instrumento indispensable para hacer de la
computadora un objeto útil. Bajo este nombre se agrupan todos aquellos
programas que permiten a los usuarios la utilización de este enredo de cables y
circuitos, que de otra manera serian difíciles de controlar. Un sistema operativo
se define como un conjunto de procedimientos manuales y automáticos, que
permiten a un grupo de usuarios compartir una instalación de computadora
eficazmente.

Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay


una definición exacta, es decir una que sea estándar; a continuación, se
presentan algunas:
1.- Se pueden imaginar un Sistema Operativo como los programas, instalados
en el software o firmware, que hacen utilizable el hardware. El hardware
proporciona la "capacidad bruta de cómputo"; los sistemas operativos ponen
dicha capacidad de cómputo al alcance de los usuarios y administran
cuidadosamente el hardware para lograr un buen rendimiento.
2.- Los Sistemas Operativos son ante todo administradores de recursos; el
principal recurso que administran es el hardware del computador; además de
los procesadores, los medios de almacenamiento, los dispositivos de
entrada/salida, los dispositivos de comunicación y los datos.
3.- Un Sistema Operativo es un programa que actúa como intermediario entre
el usuario y el hardware del computador y su propósito es proporcionar el
entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo
principal de un Sistema Operativo es, lograr que el sistema de computación se
use de manera cómoda, y el objetivo secundario es que el hardware del
computador se emplee de manera eficiente. 4.- Un Sistema Operativo es un
conjunto de programas que controla la ejecución de programas de aplicación y
actúa como una interfaz entre el usuario y el hardware de una computadora,
esto es, un Sistema Operativo explota y administra los recursos de hardware
de la computadora con el objeto de proporcionar un conjunto de servicios a los
usuarios del sistema.
En resumen, se podría decir que los Sistemas Operativos son un conjunto de
programas que crean la interfaz del hardware con el usuario, y que tiene dos
funciones primordiales, que son:
Gestionar el hardware. - Se refiere al hecho de administrar de una forma más
eficiente los recursos de la máquina.
Facilitar el trabajo al usuario. -Permite una comunicación con los dispositivos
de la máquina.

4
El Sistema Operativo se encuentra almacenado en la memoria secundaria.
Primero se carga y ejecuta un pedazo de código que se encuentra en el
procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo
que carga todos los programas de aplicación y software variado.

Funciones y características.
La función del sistema operativo es la de presentar al usuario con el
equivalente de una máquina ampliada o máquina virtual que sea más fácil de
programar que el hardware implícito.
Interpreta los comandos que permiten al usuario comunicarse con el
ordenador.
Coordina y manipula el hardware de la computadora, como la memoria, las
impresoras, las unidades de disco, el teclado o el mouse.
Organiza los archivos en diversos dispositivos de almacenamiento, como
discos flexibles, discos duros, discos compactos o cintas magnéticas.
Gestiona los errores de hardware y la pérdida de datos.
Servir de base para la creación del software logrando que equipos de marcas
distintas funcionen de manera análoga, salvando las diferencias existentes
entre ambos.
Configura el entorno para el uso del software y los periféricos; dependiendo del
tipo de máquina que se emplea, debe establecerse en forma lógica la
disposición y características del equipo. Como, por ejemplo, una
microcomputadora tiene físicamente dos unidades de disco, puede simular el
uso de otras unidades de disco, que pueden ser virtuales utilizando parte de la
memoria principal para tal fin. En caso de estar conectado a una red, el sistema
operativo se convierte en la plataforma de trabajo de los usuarios y es este
quien controla los elementos o recursos que comparten. De igual forma, provee
de protección a la información que almacena.
Funciones de los sistemas operativos.
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.

5
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 está
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.
El software de aplicación son programas que se utilizan para diseñar, tal como
el procesador de palabras, lenguajes de programación, hojas de cálculo, etc.
6
El software de base sirve para interactuar el usuario con la máquina, son un
conjunto de programas que facilitan la ambiente plataforma, y permite el diseño
del mismo.
El Software de base está compuesto por:
 Cargadores.
 Compiladores.
 Ensambladores.
 Macros.

Herramientas y librerías utilizadas:


- JavaFX 2.0

JavaFX utiliza el patrón MVC, donde el modelo es el conjunto de objetos


(Containers, controls, menú, shapes, charts).

La vista, interfaz para el usuario, es representada por un archivo fxml y el


controlador por una clase java.

- Scene Builder 8.5.0

- openjdk version "11.0.3" 2019-04-16 LTS

7
Diseños de pantallas
Escritorio

Equipo

8
Buscador web

Calculadora

9
Microsoft Office

10
Bloc de notas

11
JUEGOS

Papelera

12
Desarrollo del simulador de Sistemas operativos

Explicación de las funciones desarrolladas


En el controlador se usa la notación @FXML para comunicarse con el archivo
fxml en cuestión.

En todos los controladores tenemos el método initialize, este método es


llamado después de que todos los componentes anotados con @FXML hayan
sido inyectados.

El proyecto se compone de la carpeta llamada “Corellium” y un archivo module-


info.

En el archivo module-info se declara las librerías que se requieren mediante la


palabra reservada “requires” y mediante “open” todas las carpetas a las que se
requiera acceso.

13
[NOTA]: El archivo module-info es necesario si se está usando el JDK11, si
tiene el JDK8 solo se requiere la carpeta Corellium en src.
src/Coellium/Ventana/Calculadora
Contiene las vistas y funciones necesarias para la interfaz calculadora
- src/Corellium/Ventana/Calculadora/CalculadoraController.java
public class CalculadoraController
controlador de calculadora
public void initialize
iniciamos la calculadora
void operacion(ActionEvent event)
Realiza una operación simple como raíz, potencia
void signo(@NotNull ActionEvent event)
Enlista la entrada anterior y la limpia para esperar por otra entrada
void cambiarSigno()
cambio de signo de operación
void borrar()
borra signo o número anterior
- src/Corellium/Ventana/Calculadora/Operaciones.java
class Operaciones
Realiza las operaciones de acuerdo al símbolo ingresado
static void Entrada(TextField textField, @NotNull String digito)
Actualiza la operación que estes realizando de acuerdo a como se va
agregando caracteres
static BigDecimal Operacion()
operaciones multiples
static BigDecimal OperacionUnica(String numero, String operador)
operación única, ejemplo: raiz cuadrada de 4

14
src/Corellium/Ventana/Escritorio

Contiene las vistas y los controladores necesarios para la interfaz Escritorio

-src/Corellium/Ventana/Escritorio/EscritorioController.java
public class EscritorioController
Controlador de escritorio

-src/Corellium/Ventana/Escritorio/BarraDeTareasController.java
void instanciarPrograma(@NotNull ActionEvent event)
Clase para instanciar y mostrar las ventanas
public class BarraDeTareasController
controlador de la barra de tareas
src/Corellium/Ventana/ExploradorArchivos
-src/Corellium/Ventana/ExploradorArchivos/ExploradorDeArchivosController
public class ExploradorDeArchivosController
controlador de explorador de archivos
private void nodoRaiz()
especificamos la dirección que queremos cargar
private void retroceder()
retroceder en el historial
private void avanzar()
avanzar en el historial
private void copiarBtn()
copiar archivo
void pegarBtn()
pegar archivo
void eliminarBtn()
eliminar archivo

15
void newArchivo()
Crear un nuevo archivo
private void busquedaArchivo(ObservableValue<? extends String> observable,
String oldValue, String newValue)
se busca el archivo escrito
void editTree()
Enlista todos los archivos del sistema y los actualiza conforme se hagan
modificaciones en estos
-src/Corellium/Ventana/ExploradorArchivos/NuevoArchivoController.java
public class NuevoArchivoController
Controlador de nuevo archivo
private void crearArchivo(KeyEvent keyEvent)
Cuando se crea un archivo y cierra ventana
private void crearArchivoDeLista(MouseEvent mouseEvent)
con doble click para seleccionar el tipo de archivo
private void crear(String nombre, Tipo tipo)
crea el archivo de acuerdo al nombre y tipo seleccionado
src/Corellium/Ventana/Juegos.Pingpong
-src/Corellium/Ventana/Juegos.Pingpong/Control.java
void start(Canvas canvas)
comienza el juego
private void run(GraphicsContext gc)
se mueve el jugador
src/Corellium/Ventana/Papelera
-src/Corellium/Ventana/Papelera/ArchivoBorrado.java
public class ArchivoBorrado
clase que maneja los archivos borrados
-src/Corellium/Ventana/Papelera/PapeleraController.java
Controlador de la papelera

16
void restaurar()
clase para restaurar archivo seleccionado
void restaurarTodos()
clase para restaurar todos los archivos
void eliminadoPermanente()
elimina permanentemente los archivos de papelera
void vaciarPapelera()
mensajes de confirmación para vaciar papelera
private void seleccionado()
selecciona archivo
private void busquedaArchivo(ObservableValue<? extends String> observable,
String oldValue, String newValue)
Buscar archivo en la papelera
src/Corellium/Ventana/WebController
-src/Corellium/Ventana/WebController
public class WebController
Controlador de WebController
void accionNavegar(ActionEvent event)
Acciones para el botón retroceder, avanzar, recargar y home
void realizarBusqueda(KeyEvent event)
Busca la direccion URL si el objeto es el TextField dirURL si es
TextField busqueda busca lo digitado por el usuario, los dos presionando
la tecla Enter,
en caso el usuario este en la pestaña agregar pestaña, se carga otra
pestaña automáticamente
void seleccionBusqueda(MouseEvent event)
Eventos para seleccion de la URL actual, con un click selecciona todo el texto,
con dos selecciona el final
void mostrarHistorial()
Carga el historial en el lado izquierdo del navegador
private void cargarDeHistorial()
Carga la pagina seleccionada del historial
17
void agregarPst()
Añade una pestaña limpiando los campos de URL y búsqueda
private void nuevaPagWeb(String url)
Añade una nueva página web, si el url es "Home" se carga buscador
predeterminado
private void pstSeleccionada(Tab tab, WebView webView)
Cambia la direccion URL de acuerdo a la ventana seleccionada así como los
botones de avanzar y retroceder
private void busquedaURL(WebView webView)
Busca la pagina digita por el usuario
private void getTituloWeb(Tab tab, WebView pagActual)
Obtiene la URL para dirURL y el titulo de pagina web para el Tab actual
private void setBotonesNav(WebView webView)
Inhabilita los botones de acuerdo al índice de la página web actualmente
visitada
src/Corellium/Ventana/BarraDeTituloController.java

Barra de Titulo de todos los programas a instanciar, contiene el título de la


ventana actual, así como los botones minimizar, maximizar y cerrar.

void cerrarVentana(MouseEvent event)

Cierra la ventana obteniendo la escena actual

void minimizarVentana(MouseEvent event)


Esconde la barra de tareas

void maximizarVentana(MouseEvent event)

Esconde la barra de tareas del escritorio maximizando la ventana


Void cerrarVentanaExterna(MouseEvent evento)
Cierra la ventana externa

18
void minimizarVentanaExterna(MouseEvent event)
Minimiza la ventana externa
src/Corellium/Ventana/Web/WebController.java
Controlador del navegador web

Conclusiones y recomendaciones

Bibliografías
 https://docs.oracle.com/en/java/javase/11/docs/api/index.html
 https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-
files/cssref.html
 https://stackoverflow.com/questions/17522686/javafx-tabpane-how-to-
listen-to-selection-changes
 https://blog.ngopal.com.np/2012/07/11/customize-scrollbar-via-css/
 https://stackoverflow.com/questions/13206193/how-to-make-an-
undecorated-window-movable-draggable-in-javafx
 https://todoelmed.blogspot.com/2012/05/copiar-ficheros-o-carpetas-con-
java.html
 https://stackoverflow.com/questions/55489225/image-resizing-with-
preserve-ratio-to-full-scene
 https://www.programcreek.com/java-ap4.219544457i-
examples/?class=javafx.scene.layout.GridPane&method=getChildren
 https://stackoverflow.com/questions/25534204/how-do-i-create-a-javafx-
transparent-stage-with-shadows-on-only-the-border
 https://stackoverflow.com/questions/31899275/difference-between-
optionalbuttontype-get-and-alert-getresult
 https://www.mkyong.com/java/java-how-to-create-and-write-to-a-file/

19

Vous aimerez peut-être aussi