<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_global_driver(keytab=None, principal=None, log=None, log_level=None, java_options=None):
 """Start the global driver. No-op if the global driver is already running. Parameters keytab : str, optional Path to a keytab file to use when starting the driver. If not provided, the driver will login using the ticket cache instead. principal : str, optional The principal to use when starting the driver with a keytab. log : str, bool, or None, optional Sets the logging behavior for the driver. Values may be a path for logs to be written to, ``None`` to log to stdout/stderr, or ``False`` to turn off logging completely. Default is ``None``. log_level : str or skein.model.LogLevel, optional The driver log level. Sets the ``skein.log.level`` system property. One of {'ALL', 'TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', 'OFF'} (from most to least verbose). Default is 'INFO'. java_options : str or list of str, optional Additional Java options to forward to the driver. Can also be configured by setting the environment variable ``SKEIN_DRIVER_JAVA_OPTIONS``. Returns ------- address : str The address of the driver """

        address, pid = _read_driver()

        if address is not None:
            try:
                Client(address=address)
                return address
            except ConnectionError:
                if pid_exists(pid):
                    # PID exists, but we can't connect, reraise
                    raise
                # PID doesn't exist, warn and continue as normal
                context.warn("Previous driver at %s, PID %d has died. Restarting."
                             % (address, pid))
        address, _ = _start_driver(set_global=True,
                                   keytab=keytab,
                                   principal=principal,
                                   log=log,
                                   log_level=log_level,
                                   java_options=java_options)
        return address