ex05 char driver with semaphore