I'll try to clarify this a bit
Aservice in Tvheadend lingo is a channel but on the "input" side of Tvheadend. A service is not restricted to a TV channel but can rather be:
* A normal TV channel (as you would perceive it as an end-user)
* A radio channel
* A data stream (for firmware upgrades to SetTop boxes)
A service can also originate from IPTV or Analogue video (V4L)
And achannel in Tvheadned lingo is a channel on the "output" side. I.E. what you subscribe to when watching a live channel or what the recorder will try to record from.
Achannel can be comprised of multipleservices.
When you press the 'map service to channels' button, Tvheadend will try to decode TV on all services available on the DVB adapter. If it manage receive a complete video frame it will classify the service as a working TV channel and create a channel with that name (if a channel with that name already exist, it will just reuse that) and map that service to the channel.
When something (live TV or a record) subscribes to a channel, Tvheadend will find the best available service for that channel that is available. The services are prioritised depending on from what the originate, as follows:
# Unscrambled DVB/ATSC
# IPTV
# Scrambled DVB/ATSC
# Video4Linux (Analogue input)