Oscillations: The Rhythmic Heartbeat of Physics Oscillations describe any system that moves back and forth in a periodic manner. The most familiar example might be the swinging of a pendulum, but oscillatory behavior occurs in countless natural systems, from the vibrations of molecules to the orbits of celestial bodies. Key Concepts in Oscillations: Simple Harmonic Motion (SHM) : This is the most basic type of oscillation, where the restoring force acting on an object is proportional to its displacement. Classic examples include a mass on a spring or a pendulum swinging with small amplitudes. The equations governing SHM are simple, but they form the basis for understanding more complex oscillatory systems. Damped and Driven Oscillations : In real-world systems, oscillations tend to lose energy over time due to friction or air resistance, leading to damped oscillations . In contrast, driven oscillations occur when an external force continuously adds energy to the system, preventing i
I/O Systems
Overview
* Management of I/O devices is a very important part of the operating system - so important and so different that entire I/O subsystems are constant to its operation. (Consider the range of devices on a modern computer, from mice, keyboards, disk drives, display adapters, USB devices, network connections, audio I/O, printers, special devices for the handicapped, and many special-purpose peripherals. )
* I/O Subsystems must contend with two trends: (1) The gravitation
towards standard interfaces for a long range of devices, making it easier to add newly developed devices to existing systems, and (2) the development of entirely new types of devices, for which the existing standard interfaces are not always easy to apply.
* Device drivers are modules that can be plugged into an OS to handle a specific device or group of similar devices.
I/O Hardware
* I/O devices can be roughly grouped as storage, communications, user-interface, and other
* Devices communicate with the computer via signals sent through wires or through the air.
* Devices linked with the computer via ports, e.g. a serial or parallel port.
* A common set of wires linking multiple devices is termed a bus.
• Buses include stiff protocols for the types of messages that can be sent across the bus and the procedures for resolving contention issues.
• Three of the four bus types commonly found in a modern PC:
1. The PCI bus joints high-speed high-bandwidth devices to the memory
subsystem ( and the CPU. )
2. The expansion bus links slower low-bandwidth devices, which typically deliver data one character at a time ( with buffering. )
3. The SCSI bus joints a number of SCSI devices to a common SCSI controller.
4. A daisy-chain bus, ( not shown) is when a string of devices is linked to each other like beads on a chain, and only one of the devices is directly connected to the host.
• One way of communicating with devices is through registers associated with each port. Registers may be one to four bytes in size, and may typically adds ( a subset of ) the following four:
1. The data-in register is read by the host to get input from the device.
2. The data-out register is written by the host to send output.
3. The status register has bits read by the host to ascertain the status of the device,
such as idle, ready for input, busy, error, transaction complete, etc.
4. The control register has bits written by the host to issue commands or to change
settings of the device such as parity checking, word length, or full- versus half-
duplex operation.
* Above Figure shows some of the most common I/O port address ranges.
* Another technique for communicating with devices is memory-mapped I/O.
• In this case a certain portion of the processor's address space is mapped to the device, and communications occur by reading and writing directly to/from those
memory areas.
• Memory-mapped I/O is suitable for devices which must move large quantities of data quickly, such as graphics cards.
• Memory-mapped I/O can be used either instead of or more often in combination
with traditional registers. For example, graphics cards still use registers for
control information such as setting the video mode.
• A potential problem exists with memory-mapped I/O, if a process is allowed to
write directly to the address space used by a memory-mapped I/O device.