#
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.
`Queue` |  | A synchronized queue class.
`mmap` |  | Interface to memory-mapped files for Unix and Windows.
`anydbm` |  | Generic interface to DBM-style database modules.
`dumbdbm` |  | Portable implementation of the simple DBM interface.
`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
`zlib` |  | Low-level interface to compression and decompression routines compatible with gzip.
`gzip` |  | Interfaces for gzip compression and decompression using file objects.
`zipfile` |  | Read and write ZIP-format archive files.
`readline` |  | GNU readline support for Python.
`rlcompleter` |  | Python identifier completion for the GNU readline library.