Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
32 Cards in this Set
- Front
- Back
In the Unix/Linux Model, what sits directly above the hardware and controls all access to hardware?
|
The Unix/Linux Kernel Hardware Control module.
|
|
Which two Linux Kernel entities interface directly with Hardware Control Module?
|
1.Device Drivers
and 2. The Process Control Subsystem. |
|
Of which 3 sub-modules is the Process Control Subsystem made?
|
Scheduler,
Memory Management, Inter-process Communication |
|
Which two kernel modules sit above the device driver module?
|
Character
and Block modules. |
|
To which other module does the Character module connect?
|
The File Subsystem
|
|
What separates the Block module from the File Subsystem Module?
|
the Buffer Cache module
|
|
To which 2 other modules does the File Subsystem connect?
|
The System Call Interface module
and the Process Control Subsystem module |
|
To which 4 modules does the System Call Interface connect?
|
1. User's programs and
2. Program's libraries, 3. File Subsystem, 4. Process Control Subsytem |
|
Name the 5 most commonly used function calls
|
1.open,
2. read 3. write 4. ioctl 5. close |
|
Name 3 Device Driver Supporting functions that allow the kernel to read/write user address space.
|
1. get_*fs (),
2. put_*fs (), 3. memcpy_*fs () |
|
How does a device driver obtain device identifying information?
|
Major ()
and Minor () supporting functions. |
|
Which supporting functions read and write a byte from device i/o ports as fast as possible?
|
1. inb ()
2. outb () |
|
Which supporting functions read and write a byte from device i/o ports after a pause?
|
1. inb_p ()
2. outb_p () |
|
How is the kernel made aware of the presence of a device?
|
register_*dev () REGISTERs the device with the kernel.
|
|
How does a device get the attention of the kernel?
|
Through the use of an interrupt request.
|
|
How does a device get an interrupt to use?
|
A device driver makes a call to
request_irq () |
|
How is an interrupt handler installed?
|
A successful call to
request_irq () installs the interrupt handler. |
|
How can a device driver prevent interrupts from being serviced?
|
The cli () function keeps interrupts from being acknowledged.
|
|
How does the device drive re-enable interrupt servicing?
|
the sti () function allows interrupt acknowledgement.
|
|
How can a process be notifies when an interrupt has occured?
|
The
irqaction () function call registers the interrupt like a signal. |
|
Must interrupts be returned after being obtained by
irqaction () and request_irq |
yes, with the function
free_irq () |
|
How does a device driver get and return a block of memory no larger than 4096 bytes?
|
kmalloc ()
and kfree *() |
|
How do you print within the kernel?
|
printk ()
|
|
How does a process wait for an event without wasting processor cycles?
|
*sleep_on ()
puts a wait_queue entry in the list so that the process can be awakened on that event. |
|
How does a process get restarted after the event for which it was waiting happens?
|
wake_up* ()
wakes up the process that was put to sleep by a matching *sleep_on(). |
|
How is a process added to a wait queue?
|
select_wait ()
adds a process to the correct select wait queue. |
|
Which system call returns information about the process, user or group?
|
sys_get* ()
|
|
How can a device driver determine if an inode is mounted on a file system with the specfied flag?
|
IS_* ()
|
|
What function is called when a request is satisfied or aborted?
|
end_request ()
|
|
How can a function be executed only after a specified amount of time has expired?
|
add_timer ()
|
|
A device driver provides which 4 features?
|
A set of routines that communicate with a hardware device and provide a uniform interface to the operating system kernel.
A self-contained component that can be added to, or removed from, the operating system dynamically. Management of data flow and c ontrol between user programs and a peripheral device. A user-defined section of the kernel that allows a program or a peripheral device to appear as a `` /dev '' device to the rest of the system's software. |
|
What is the function of the <xxx>_fops structure in the device driver?
|
It is a list (structure, of type "file_operations"), filled with the subroutines (xxx_open(), xxx_close(), xxx_init() ) found in the driver which is used to "register" the basic i/o functions with the Virtual File System Switch.
|