#
7. Optional Operating System Services

The modules described in this chapter provide interfaces to operating system features that are available on selected operating systems only. The interfaces are generally modeled after the Unix or C interfaces but they are available on some other systems as well (e.g. Windows or NT). Here's an overview:

`signal` |  | Set handlers for asynchronous events.
`socket` |  | Low-level networking interface.
`select` |  | Wait for I/O completion on multiple streams.
`thread` |  | Create multiple threads of control within one interpreter.
`threading` |  | Higher-level threading interface.
`dummy_thread` |  | Drop-in replacement for the `thread` module.
`dummy_threading` |  | Drop-in replacement for the `threading` module.
`Queue` |  | A synchronized queue class.
`mmap` |  | Interface to memory-mapped files for Unix and Windows.
`anydbm` |  | Generic interface to DBM-style database modules.
`dbhash` |  | DBM-style interface to the BSD database library.
`whichdb` |  | Guess which DBM-style module created a given database.
`bsddb` |  | Interface to Berkeley DB database library
`dumbdbm` |  | Portable implementation of the simple DBM interface.
`zlib` |  | Low-level interface to compression and decompression routines compatible with gzip.
`gzip` |  | Interfaces for gzip compression and decompression using file objects.
`bz2` |  | Interface to compression and decompression routines compatible with bzip2.
`zipfile` |  | Read and write ZIP-format archive files.
`tarfile` |  | Read and write tar-format archive files.
`readline` |  | GNU readline support for Python.
`rlcompleter` |  | Python identifier completion for the GNU readline library.