Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Origen y características básicas de Linux: sistema de archivos, permisos y comandos, Apuntes de Informática

Este documento ofrece información sobre el origen y desarrollo inicial de Linux, enfatizando su objetivo de ser compatible con UNIX y la ejecución de programas gratuitos de la Free Software Foundation. Además, se abordan características básicas de Linux como el sistema de archivos, el sistema de permisos de ficheros y directorios, y se presentan algunos comandos básicos.

Tipo: Apuntes

2020/2021

Subido el 18/10/2021

espruclin-astraprusorro
espruclin-astraprusorro 🇵🇾

6 documentos

1 / 44

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c

Vista previa parcial del texto

¡Descarga Origen y características básicas de Linux: sistema de archivos, permisos y comandos y más Apuntes en PDF de Informática solo en Docsity!

Historia de Linux

Aunque la historia de Linux se comienza a escribir un poco más tarde, sus orígenes nos hacen remontar hasta principios de los años 80, cuando Richard Stallman, inició el Proyecto GNU con el propósito de crear un sistema operativo similar y compatible con UNIX. En el año 1985, se creó la Fundación del Software Libre y se desarrolló la Licencia pública general de GNU para tener un marco legal que permitiera difundir libremente este software. Posteriormente, en 1991, fue Linus Torvalds, un estudiante de informática de 23 años de la Universidad de Helsinki, quien propone hacer un sistema operativo que se comporte como UNIX pero que además, funcione sobre cualquier ordenador. En este momento, el propio Torvalds estableció como requisito mínimo que el ordenador tuviera un procesador i386. El principal objetivo de este estudiante era crear el núcleo del sistema operativo que fuese totalmente compatible con UNIX y que de esta manera, permitiese ejecutar todos los programas gratuitos compatibles con UNIX y desarrollador por la Free Software Foundation que vienen con licencia GNU. Para el desarrollo de este núcleo, Torvalds se inspiró en Minix, una versión reducida de UNIX. Pocos meses después, a finales de agosto de 1991, Torvalds ya contaba con la versión 0.01 de Linux, pero como todavía era algo muy básico y con escasa funcionalidad, decidió seguir desarrollando lo que sería la versión 0.02, que vio la luz en el mes de octubre de ese mismo año y que ya era capad de ejecutar dos herramientas básicas de GNU, el intérprete de órdenes (bash) y el compilador de C. El joven siguió trabajando en el desarrollo del sistema operativo y tras la versión 0.03, el gran apoyo de otras personas que empezaron a participar con Linus en el desarrollo, hizo que se saltase rápidamente hasta la versión 0.1. Año y medio después, en diciembre de 1993, nacía la versión de Linux 1.0 y la base de este sistema operativo de código abierto que durante el paso de los años ha ido creciendo hasta nuestros días con el apoyo de todos y cada uno de los desarrolladores que han ido aportando su granito de arena.

Distribuciones populares de Linux

Entre las distribuciones Linux más populares están:  Arch Linux, una distribución basada en el principio KISS, con un sistema de desarrollo continuo entre cada versión (no es necesario volver a instalar todo el sistema para actualizarlo).  Canaima, es un proyecto socio-tecnológico abierto, construido de forma colaborativa, desarrollado en Venezuela y basado en Debian.  CentOS, una distribución creada a partir del mismo código del sistema Red Hat pero mantenida por una comunidad de desarrolladores voluntarios.

 Chakra project, una popular distribución para escritorio, inicialmente basada en Arch Linux, actualmente se encuentra en un desarrollo independiente.  Debian, una distribución mantenida por una red de desarrolladores voluntarios con un gran compromiso por los principios del software libre.  Dragora y Trisquel, que van adquiriendo importancia entre las distribuciones que sólo contienen software libre.  Elementary OS Es una distribución Linux basada en Ubuntu 12.  Fedora, una distribución lanzada por Red Hat para la comunidad.  Fuduntu, distribución ligera y rápida basada en Fedora y orientada al uso en notebooks.  Gentoo, una distribución orientada a usuarios avanzados, conocida por la similitud en su sistema de paquetes con el FreeBSD Ports, un sistema que automatiza la compilación de aplicaciones desde su código fuente.  Huayra, distribución Educativa, desarrollada por el estado Argentino, desde el Anses /Programa Conectar Igualdad. Está basada en Debian Jessie con entorno de escritorio MATE.  Knoppix, fue la primera distribución live en correr completamente desde un medio extraíble. Está basada en Debian.  Kubuntu, la versión en KDE de Ubuntu.  Linux Mint, una popular distribución derivada de Ubuntu.  Mageia, creada por ex trabajadores de Mandriva, muy parecida a su precursor.  Mandriva, mantenida por la compañía francesa del mismo nombre, es un sistema popular en Francia y Brasil. Está basada en Red Hat.  openSUSE, originalmente basada en Slackware es patrocinada actualmente por la compañía SUSE (Micro Focus International).  PCLinuxOS, derivada de Mandriva, pasó de ser un pequeño proyecto a una popular distribución con una gran comunidad de desarrolladores.  Puppy Linux, versión para equipos antiguos o con pocos recursos que pesa unos 130 MiB.  Red Hat Enterprise Linux, derivada de Fedora, es mantenida y soportada comercialmente por Red Hat.  Slackware, una de las primeras distribuciones Linux y la más antigua en funcionamiento. Fue fundada en 1993 y desde entonces ha sido mantenida activamente por Patrick J. Volkerding.  Slax, es un sistema Linux pequeño, moderno, rápido y portable orientado a la modularidad. Está basado en Slackware.  Tuquito Basada en Ubuntu, distribución desarrollada en Argentina con buenas interfaces gráficas y drivers universales. Recomendada para usuarios iniciales.  Trisquel Distribución 100 % libre, utiliza el núcleo Linux-Libre y es apropiada para usuarios finales.  Ubuntu, una popular distribución para escritorio basada en Debian y mantenida por Canonical.  Zorin OS, distribución basada en Ubuntu y orientada a los usuarios de Windows que quieren pasar a Linux de la forma más fácil y sencilla posible.  El sitio web DistroWatch ofrece una lista de las distribuciones más populares; la lista está basada principalmente en el número de visitas, por lo que no ofrece resultados muy confiables acerca de la popularidad de las distribuciones.

La seguridad es una de las características más importantes de Linux. Debido a que se trata de un sistema libre, son pocos los que se interesan en crear virus para el sistema. Además, contiene una arquitectura para el manejo de archivos, procesos y memoria que no permite fácilmente la permanencia de virus o malware. Es más, una vez que algún usuario detecta alguna amenaza, ésta es eliminada y con una simple actualización está solucionado el problema. Multitarea El hecho de que Linux sea un sistema operativo multitarea significa que permite ejecutar varios programas de forma simultánea. Por lo tanto, permite el uso de numerosas aplicaciones para poder navegar por Internet, procesar documentos, escuchar música, ver vídeos, etc, al igual que podemos hacer con otros sistemas como el propio Windows o macOS. Multiusuario Otra de las características de Linux es que se trata de un sistema multiusuario. Es decir, múltiples usuarios pueden acceder a los recursos y las aplicaciones de Linux de manera simultánea y siempre de forma segura. Personalizable Puedes usarlo a tu antojo, prepararlo, modificarlo. Alto control de dispositivos El sistema operativo Linux, a diferencia de otros sistemas, ofrece la posibilidad de contar con los controladores de cada dispositivo y de poder instalar nuevos controladores en el momento que incorporemos nuevos elementos al sistema. Esto permite disponer de mayor independencia y capacidad para maniobrar ante cualquier problema o por el simple hecho de controlar a fondo cada dispositivo. Independiente Otra de las grandes características de Linux es que se trata de un sistema operativo que puede ser modificado y distribuido libremente. Es decir, cualquier puede acceder a su código, modificar o desarrollar nuevas capacidades sin necesidad de permisos ni protocolos previos. Estable Linux es considerado uno de los sistemas más robustos y estables, de ahí que sea el sistema más utilizado en servidores y ordenadores que tienen que permanecer siempre encendidos sin que nada falle. Escalable Es un sistema operativo que debido en gran medida a muchas de las características mencionada anteriormente cuenta con una gran capacidad para reacción y adaptarse a las necesidades. Puede administrar de manera sencilla un crecimiento continuo y puede crecer rápidamente sin perder la calidad sin ningún problema.

Ventajas y desventajas de Linux

Aunque ya hemos mencionado algunas, lo cierto es que las principales ventajas que nos ofrece Linux es que se trata de un sistema operativo totalmente gratuito, por lo tanto, podemos probarlo cuando queramos sin ningún problema. Hace años estaba más etiquetado como un sistema pensado para usuarios más expertos por la necesidad de controlar prácticamente todo desde la línea de comandos, pero a día de hoy ofrece una gran facilidad de uso, incluso podemos elegir la interfaz gráfica que más nos guste o más fácil de manejar nos parezca. ¿Es el más seguro? La seguridad es sin duda uno de sus grandes ventajas. Lo cierto es que es una garantía frente a la mayoría de virus y amenazas, aunque no es seguro 100%. Podríamos decir que cualquier distro es más segura que Windows. Su personalización también es un punto a destacar, ya que el entorno Linux nos permite usar diferentes interfaces gráficas, es decir, no limita a una única interfaz como ocurre en otros sistemas. Multitarea, multiusuario Su robustez, un mayor control sobre los dispositivos, las grandes posibilidades para trabajar en modo multiusuario y las capacidades multitarea son sin duda otras de las características a destacar de Linux. Ahora bien, también hay ciertas limitaciones o inconvenientes a la hora de usar el sistema. No es para juegos de PC Si somos de los que nos gusta los juegos de PC, lo cierto es que aquí es donde podemos encontrar uno de los principales inconvenientes de Linux, ya que existen pocos juegos en comparación con la gran oferta o mercado de videojuegos que rodea a Windows. Muchos de los principales desarrolladores de videojuegos únicamente sacan sus títulos compatibles para el sistema operativo de Microsoft. Problemas de compatibilidad Aunque cada vez hay más aplicaciones o software compatible con Linux, puede que determinadas herramientas de las que estamos acostumbrados a usar cada día si venimos del entorno de Windows, no estén disponibles para Linux y no encontremos ninguna otra que cumpla con nuestras necesidades. La curva de aprendizaje de Linux es mayor, además, la necesidad de tener que usar la línea de comandos, puede ser también un inconveniente para muchos usuarios con menos conocimientos

Como ya dijimos, Linux es un sistema operativo multitarea y Multiusuario. Bajo UNIX, para que los usuarios puedan identificarse en el sistema, deben registrarse (login), proceso que consta de dos pasos: Introducir el nombre de usuario (login) (el nombre con que ser identificado por el sistema), y una palabra clave o contraseña (password), la cual es su llave personal secreta para entrar en la cuenta. Como solo usted conoce su palabra clave, nadie más podrá logearse en el sistema con su nombre de usuario. Por esto es muy importante tomarse unos minutos para elegir una palabra clave que no sea fácil de adivinar o desencriptar, es común en los novatos usar palabras claves que tiene algo que ver con ellos, por ejemplo el nombre de la novia, esposa, madre, hija, fecha de nacimiento, numero de documento, hasta el nombre de su mascota, de esta manera los hackers usan diccionarios con nombres femeninos para lograr adivinar claves de usuarios desprevenidos. En los sistemas UNIX tradicionales, el administrador del sistema asignara el nombre de usuario y una palabra clave inicial en el momento de crear la cuenta de usuario. Además, cada sistema UNIX tiene un nombre del sistema (hostname. Este "hostname" le da nombre a la máquina, además de carácter y encanto, por ejemplo la mía se llama Amankay, (que es el nombre de una flor de la puna Jujeña) la anterior fue Newton y la anterior Leonardo. El nombre del sistema es usado para identificar maquinas en una red, pero incluso aunque la maquina no este en red, deberá tener un nombre. Antes de poder usar el sistema, deber crear una cuenta de usuario. Esto es necesario porque no es buena idea usar la cuenta de root para los usos normales. La cuenta de root debería reservarse para el uso de comandos privilegiados y para el mantenimiento del sistema.

Las Interfaces de Usuario

Antes de nada, siempre es interesante contextualizar las cosas. En el caso que nos ocupa, es interesante conocer el concepto de interfaz de usuario, que no es otra cosa que el medio o método de interacción entre el usuario y la máquina. Se trata de un concepto general, que aplica a todos los sistemas informáticas que requieran de interacción humana. En el ámbito con que nos ocupa, podemos distinguir entre dos tipos de interfaces de usuario. Por un lado tenemos a la interfaz de línea de comandos o CLI, y por otro lado tenemos a la interfaz gráfica o GUI, que es sobre la que vas a leer en este página.

En la imagen superior tienes una representación de cada una de ellas. Es importante destacar que cuando hablamos de CLI o GUI nos estamos refiriendo a métodos de interacción, no una herramienta o programa informática. De hecho, a la herramienta que posibilita cualquiera de estas formas de interacción se la suele conocer como shell. Una shell es una herramienta que acepta ordenes o instrucciones por parte del usuario y ejecuta operaciones. En Linux podemos interactuar con multitud de shells diferentes, tanto a nivel de interfaz de línea de comandos, como a nivel de interfaz gráfica.

escalabilidad, ya que conforme se añaden nuevos usuarios, sólo hay que añadirlos al grupo que nos interese, y no hay que redefinir los permisos del fichero. Por defecto el sistema crea un grupo con cada nombre de usuario, pero eso no suele ser muy útil. Algunos grupos que si tienen sentido son los siguientes:

  • audio - > tienen permisos para escribir en los dispositivos de audio del sistema (/dev/dsp)
  • cdrom - > tienen permisos para escribir cdrom's, que requiere privilegios especiales
  • lp - > pueden escribir en el puerto paralelo, y por lo tanto imprimir video - > tienen permisos de escritura en los dispositivos gráficos, para acceder directamente a ellos, sin pedir permiso al sistema. Por lo tanto, cada fichero, tiene 3 campos de permisos, cada uno de ellos con 3 tipos de acceso distintos. Los tres campos son:
  • el propietario del fichero
  • los miembros del grupo al que pertenece el fichero
  • el resto de usuarios del sistema Para cada uno de estos grupos, se pueden definir 3 permisos: lectura, escritura y ejecución. Obviamente, un usuario solo puede definir los permisos de un fichero si es el propietario del mismo, y tiene permisos de escritura sobre el mismo. Aunque parezca una tonteria que un usuario no tenga permisos de escritura en sus ficheros, es útil como medida de protección a borrados accidentales, y cuando necesite escribir puede habilitarlo, ya que es el propietario. En el entorno gráfico, para cambiar los permisos de un fichero basta con ver sus propiedades (botón derecho del ratón sobre el fichero) en un Administrador de ficheros como Nautilus (GNOME) o Konqueror (KDE). Para finalizar el tema de los permisos, volver a hacer incapie en que es peligroso manejar la máquina bajo la figura de root, ya que tiene privilegios de escritura sobre casi todos los ficheros del sistema, y lo mismo todos los programas que ejecutemos bajo su mando. El uso de permisos es la causa de que en LINUX no haya virus, ya que un virus necesitaría entrar como un usuario en el sistema para hacer algo de daño, y para corromper todo el sistema de forma irreversible, necesitaría hacerse root, lo que es muy complicado por el sistema de claves. Pero si ejecutamos un archivo que haga algo pernicioso para el sistema, mientras no sea como root, como mucho corromperá los datos de ese usuario y puede que de su grupo. Pero esto no es nada irreversible, y sobre todo, es justo, porque paga el pato aquel que no mira lo que ejecuta, y no el resto de los usuarios que no han hecho nada.

Tipos de archivos

La base del sistema de archivos de Linux, es obviamente el archivo, que no es otra cosa que la estructura empleada por el sistema operativo para almacenar información en un dispositivo físico como un disco duro, un disquete, un CDROM o un DVD. Como es natural un archivo puede contener cualquier tipo de información, desde una imagen en formato PNG o JPEG a un texto o una página WEB en formato HTML, … El sistema de archivos es la estructura que permite que Linux maneje los archivos que contiene. Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:  Un nombre de archivo puede tener entre 1 y 255 caracteres.  Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los caracteres con significado especial en Linux, que son los siguientes: = \ ^ ~ ' " ` * ; -? [ ] ( )! & ~ < >. Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del fichero entre comillas. Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas se consideran diferentes, y por lo tanto no es lo mismo carta.txt que Carta.txt ó carta.Txt Como en Windows, se puede emplear un cierto criterio de "tipo" para marcar las distintas clases de ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt, .htm (o .html), .png y .jpg (o .jpeg) respectivamente. Pese a esto Linux sólo distingue tres tipos de archivos:  Archivos o ficheros ordinarios, son los mencionados anteriormente.  Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma estructurada.  Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.

Herencias del Unix

El sistema de archivo de Linux sigue todas las convenciones de Unix, lo cual significa que tiene una estructura determinada, compatible y homogénea con el resto de los sistemas Unix.

/usr/bin Programas de uso general, lo que incluye el compilador de C/C++. /usr/doc Documentación general del sistema. /usr/etc Ficheros de configuración generales. /usr/include Ficheros de cabecera de C/C++ (.h). /usr/info Ficheros de información de GNU. /usr/lib Librerías generales de los programas. /usr/man Manuales accesibles con el comando man. /usr/sbin Programas de administración del sistema. /usr/src Código fuente de programas. Existen además de los anteriores otros directorios que se suelen localizar en el directorio /usr, como por ejemplo las carpetas de los programas que se instalen en el sistema. /var Este directorio contiene información temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho, ¡no se debe hacer!)

Enlaces

Los enlaces son un tipo de archivo ordinario cuyo objetivo es crear un nuevo nombre para un archivo determinado. Una vez creado el enlace simbólico éste permite acceder al fichero que enlaza de igual modo que si se hubiera copiado el contenido del mismo a otro fichero, con la ventaja de que este realmente no se ha copiado. Los enlaces simbólicos son especialmente útiles cuando se quiere que un grupo de personas trabajen sobre un mismo fichero, puesto que permiten compartir el fichero, pero centralizan las modificaciones. Como ejemplo se puede suponer la existencia de un fichero llamado balance.1999.txt, al que se crea un enlace simbólico balance.txt. Cualquier acceso a balance.txt es traducido por el sistema de forma que se accede al contenido de balance.1999.txt.

El camino o Path

En cualquier sistema operativo moderno la estructura de archivos es jerárquica y depende de los directorios. En general la estructura del sistema de archivos se asemeja a una estructura de árbol, estando compuesto cada nudo por un directorio o carpeta, que contiene otros directorios o archivos. En Windows cada unidad de disco se identifica como una carpeta básica que sirve de raíz a otras, y cuyo nombre es especial a:, c:, d: etc. En los sistemas Unix, y por lo tanto en Linux, existe una única raíz llamada / de la que cuelgan todos los ficheros y directorios, y que es independiente de qué dispositivos estén conectados al ordenador. El camino o path de un fichero o directorio es la secuencia de directorios que se ha de recorrer para acceder a un determinado fichero separados por /. Observemos el siguiente ejemplo:

Existen dos formas del path o camino: A) el camino absoluto que muestra toda la ruta a un fichero, /home/Ana/Carta.txt. B) El path relativo a un determinado directorio, por ejemplo, si no encontramos en el directorio /home, el path relativo al fichero Carta.txt es Ana/Carta.txt Para complicar aún más las cosas, todos los directorios contienen dos directorios especiales: El directorio actual, representado por el punto. El directorio padre representado por dos puntos .. Estando en el directorio /home/Maria se puede acceder a Carta.txt con /home/Ana/Carta.txt (path absoluto) o bien ../Ana/Carta.txt (path relativo). En Ana como ./Carta.txt o simplemente Carta.txt.

Proceso Zombie

En sistemas operativos Unix un proceso zombie es un proceso que ha completado su ejecución, pero aún tiene una entrada en la tabla de procesos. Esto se debe a que dicho proceso (proceso hijo) no recibió una señal por parte del proceso de nivel superior (proceso padre) que lo creó informándole que su vida útil ha terminado. Se pueden deber a errores de programación, a situaciones no contempladas por el programador y generalmente provocan lentitud y/o inestabilidad en el Sistema. Los principales estados en los que pueden encontrarse los procesos en Linux/Unix son los siguientes:  running (R): Procesos que están en ejecución.  sleeping (S): Procesos que están esperando su turno para ejecutarse.  stopped (D): Procesos que esperan a que se finalice alguna operación de Entrada/Salida.  zombie (Z): Procesos que han terminado pero que siguen apareciendo en la tabla de procesos. Todos los procesos que corren en nuestro Sistema Operativo dependen del primer proceso que se lanza después del arranque: el proceso init, el padre de todos los procesos. Muchas veces los procesos no son únicos, sino que dan lugar a muchos procesos secundarios. Teóricamente el padre de cada uno de ellos debería en todo momento vigilar que es lo que hacen estos hijos. Si por alguna razón este padre falla en el control se pueden llegar a producir

procesos de tipo zombie que pueden llenar el árbol de procesos, ocasionando que tengamos que reiniciar el equipo. ¿Podemos ver el árbol de procesos? En nuestro Sistema Operativo está representado en el directorio /proc, que es una estructura de árbol virtual que genera y monta nuestro kernel durante el arranque. En virtud de esto, cada vez que queramos ver un proceso debemos mirar por esta ventana que nos muestra realmente qué es lo que está ocurriendo con nuestro kernel. Para ver el estado de los procesos en el sistema operativo tenemos varios comandos. Tecleando el comando top desde una terminal se nos mostrarán todos estos procesos; este comando monitoriza dinámicamente los procesos del sistema mostrando su estado, uso de CPU, cantidad de memoria, tiempo desde su inicio, nombre, etc. El comando ps es el encargado de mostrar todos los procesos que están ocurriendo en el sistema. Este comando no es interactivo, saca una foto de los procesos que están corriendo en ese mismo momento.

Y si queremos usar la terminal como tal, podemos encontrar una app dedicada, que se ejecuta en una ventana, dentro del panel de aplicaciones de nuestra distro. En el caso de Ubuntu, por ejemplo, podemos encontrar este terminal dentro del cajón de programas del entorno gráfico GNOME.

Comandos básicos para Terminal

Aunque puede parecer complicada de usar, no debemos tener miedo a la consola de Linux. Podemos usarla desde para administrar las partes más avanzadas del sistema operativo (como los daemon que se ejecutan junto con systemd), hasta para ejecutar aplicaciones normales. Cada programa de Linux tiene asociado un nombre, el nombre de su paquete. Por ello, si introducimos el nombre de dicho paquete en la Terminal (por ejemplo, firefox), podremos ver cómo se nos abre directamente el navegador. Incluso que abra directamente una página web. Esto es lo más sencillo y básico de la Terminal. Pero hay también muchos otros comandos esenciales que debemos conocer y que nos ayudarán a controlar mucho mejor esta consola.

Movernos por los directorios

Algo esencial para poder empezar a defendernos con la terminal de Linux es saber cómo movernos por los distintos directorios. Lo primero que nos llamará la atención es el símbolo ~ que aparece a la izquierda de los comandos. Este indica el directorio inicial (/home/usuario) donde hemos empezado.