Archivos y directorios:
- man → muestra manual del comando
- –help → da una ayuda de los comandos
- ls → lista de archivos y directorios
- sort → ordena alfabéticamente
- cd → cambio de directorio
- pwd → ruta al directorio actual
- tree → muestra la estructura de directorios
- mkdir → crea un directorio
- rmdir → borra directorios (vacíos)
- rm -r → borra directorios no vacíos
- cp → copiar
- rm → borra archivos
- mv → mueve o renombra archivos y directorios
- cat → ver el contenido
- more | less → ver el contenido de los archivos
- split → dividir archivos
- find → busca archivos
- locate → localiza archivos según una lista generada
- file → muestra el tipo de archivo
- tail → muestra el final de un archivo
- tr → reemplaza caracteres en un fichero de texto
- pico → edita un fichero de texto
- tar → empaqueta archivos
- gzip → comprime archivos gz
Usuarios:
- adduser / useradd → agrega nuevo usuario
- userdel → borra un usuario
- passwd → permite cambiar la contraseña
- su → cambio de usuario
- whoami → muestra el nombre de usuario
- id → muestra datos de identificación del usuario
- finger → da información de usuario
- write → manda un mensaje a la pantalla de un usuario
Procesos:
- top → muestra los procesos que se están ejecutando y permite matarlos
- ps → muestra la lista de procesos del usuario
- kill → mata proceso por ID
- killall → mata proceso por nombre
- time → mide el tiempo que tarda un proceso en ejecutarse
Disco:
- mount → monta un disco
- umount → desmonta un disco
- df → muestra el espacio libre de los discos
- mkfs → formatea un disco
- fsck → estado del disco
- reboot → reinicia la máquina
- shutdown → apaga el sistema
- uptime → muestra el tiempo transcurrido de encendida la máquina
- exit → cierro sesión actual
- hostname → muestra el nombre del servidor
- clear → borro la pantalla
Red:
- netstat → muestra estado de la red
- ifconfig → muestra la configuración del dispositivo de red
- nmap → escanea la red y muestra los puertos que se encuentran disponibles
- ping → indica si hay respuesta por parte del servidor
Impresoras:
- lpq → muestra colas de impresión
- lpc status → estado de impresoras
- lprm → eliminar un trabajo de la cola de impresión
- pr → imprime un archivo
- jobs → muestra los trabajos que están en una cola de impresión
Combinación de teclas:
- ctrl+l → borra pantalla
- ctrl+alt+F1 F2 → cambio de consola
- ctrl+F1 F2 → cambio de escritorio
- ctrl+z → suspendo proceso
- tab → completa nombre de carpetas o archivos
El sistema operativo es el software básico que gestiona todos los recursos hardware del SO y proporciona la base para la creación y ejecución de programas. Es el encargado de crear, eliminar, suspender, reanudar, comunicar y sincronizar procesos. Es el encargado de la memoria principal y de administrar los periféricos. Gestión de permisos y de usuarios y control de concurrencias, de errores y de seguridad.
Primera Gen (1945-1955) Tubos de vacío/paneles de control/no hay sistema operativo / lenguaje máquina
Segunda Gen (1955-1965) Transitores / Tarjetas perforadas / SO→ De trabajo único y por lotes / Cobol, fortran
Tercera Gen (1965-1975) Circuitos integrados / maquinas perforadas / SO→ multi: usuario/proceso/programación, tiempo real & compartido / Leng → cobol, C , Pascal…
Cuarta Gen (1975-1990) Circuitos integrados, ordenadores personales / en terminal / SO→ de red, cliente-servidor, Mac OS & MS-DOS
Quinta Gen (1991-actualidad) Circuitos integrados a gran escala, ordenadores personales potentes/ SO→ distribuido
Arquitectura de los Sistemas Operativos:
- Sistemas monolíticos: Sin estructura definida, compuestos por un conjunto de procedimientos, donde cada uno de ellos puede llamar a todos los demás.
- Sistemas por capas: Se organiza en una jerarquía de estratos estando construido cada uno de ellos sobre el otro que tiene menor jerarquía que él.
- Máquinas virtuales: Crea “ilusiones” de la máquina real que se ejecutan en un SO distinto. El programa de control es el que se ejecuta directamente sobre el propio hardware y ofrece al nivel inmediatamente superior varias máquinas virtuales.
- Sistema Cliente-servidor (microkernel): Kernel → es el núcleo central de un S.O y se encarga de realizar toda la comunicación segura entre el software y hardware. El objetivo de este sistema es minimizar el kernel desplazando el código de todos sus servicios a estratos lo más superiores posibles.
Clasificación de los sistemas operativos:
- Dependiendo del número de usuarios: monoproceso y multiproceso.
- Dependiendo del número de procesadores: monoproceso y multiprocesos (con 1 procesador → procesos concurrentes y con varios procesadores simultáneamente).
- Dependiendo del número de tareas: monotarea y multitarea.
- Dependiendo del tiempo de respuesta: tiempo real → respuesta inmediata y tiempo compartido → cada proceso utiliza ciclos de CPU hasta que concluyen.
Algoritmos de planificación:
- FIFO → Ejecuta los procesos por orden de llegada y las tareas esperan su turno.
- STF → Prioridad a los procesos cortos a la hora de elegir.
- SRTF → Los procesos con duración de CPU inferior al que se está ejecutando lo expulsan de la CPU.
- RR → Sencillo, justo y muy utilizado.
- Prioridades → El planificador selecciona el proceso más prioritario.
- Cola multinivel → Divide la cola de preparados en diversas colas.
Gestión de memoria: lleva un registro de las celdas de memoria (tanto si las utilizan como si no). Los procesos tienen que estar cargados en memoria para poder ejecutarse.
- Asignación continua: Particiones fijas / particiones variables.
- Asignación no continua: paginación y memoria virtual.