• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/32

Click to flip

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.