I don't know what MythTV is, but it's presumably not possible to 'skip forward' a programme one is watching in real ('broadcast') time?
Yes it does do ff/rew - but jump forward/back is far quicker and easier to use. Instead of going to FF and watching while the crazy high-speed people go running around, and still take a minute or two to skip a 4 minute ad break - just tap the right key and you're 30s (configurable) ahead, tap agin for another 30s. If you know how long the ad breaks are (e.g. a lot I find are 4 minutes) then press "4" and the jump forward key and you're 4 minutes ahead. It also has the ability to scan recordings and detect the ad breaks, but it tends not to be too reliable on UK TV.
MythTV is a free & open source PVR application which I believe can be run on Windows and Mac OS as well as Linux - but Linux is where the bulk of the development and support happens. It's not something to go for if you want "plug and play" as the learning/setup can be a fair hill to climb. But if you're prepared to put that effort in, you get a networked (one primary backend, additional backends if needed, multiple frontends) PVR where storage is limited only by the disk space you feed it, tuners only by your ability to connect them, amount recorded limited only the disks to handle the data, and it records programs by rules - so will automagically take care of (e.g.) recoding a second showing of one program to allow the tuner to be used for a program that doesn't have an alternative showing to record.
With DVB (T or S) it can record multiple programs off one transport - I have my new tuner set to limit this to 3, and there are four tuners on the card, making a total of 12 virtual tuners.
Each frontend can watch anything independently of the others, and independently of what's being recorded. You can start watching a recording while it's still in progress - and that does give you the ability to skip through the ads.
Using it to watch live TV is a bit weak - and TBH I don't actually do that. I think it's a case of few of the devs use that so it really doesn't get a lot of attention.
As I recently wrote, these machines are getting very clever at this 'multi-tasking'
In the case of MythTV it's fairly simple - each task is a separate process. So when a recording is going on, there is a process (actually two for reasons I won't go into unless you want a discussion on caching algorithms
) slurping data from the tuner to a file on disk - each recording is just a file on disk. The main program simply notes when a recording is due to start and fires up the relevant program to do it. Similarly, when a frontend starts showing a recording, a backend process starts up to stream the file to it. Scheduling (determining what to record, when, and on which tuner) is another process kicked off whenever anything changes - such as adding/deleting/changing a recording rules, new listings imported.
I must say that I've often wondered how the HDDs manage to avoid 'shaking themselves to bits' very rapidly, since the heads must be going crazy jumping backwards and forwards between different places on this disks at almost unimaginable speeds!
Recording is the hardest (sustained) load on disks. For a number of technical reasons, part of the process while recording is to "fsync" the file - which tells the OS (Operating System) to write out anything it currently has in it's buffers for that file. So the data in the buffers is written, and the file system tables must also be updated. This means a minimum of two separate writes, to two different places, every second - you can hear the disks ticking as the heads move.
Recording two programs ? 4 separate writes/second. 3 recordings ? 6 writes/second. I don't know what my system limits are, but in the past I've seen at least 6 recordings going across 2 disks.
Key here are two specifications for the disk - seek time and rotational latency. The head needs to seek to the right track, then it must wait for the right bit of that track to come round as the disk spins. Seek times are typically quoted for adjacent track (typically quite quick) and average (average time to seek from "any track" to "any other track") - worst case is seeking from innermost track to outermost track (or vice-versa). Rotational latency depends primarily on rotational speed - which is why a 15k (15,000 rpm) disk is a lot quicker than a 5400 rpm drive, but at the expense of needing more power and generating more heat. Hmm, I've just been looking up the specs of my drives, and neither manufacturer (WDC and Toshiba) quotes seek times - that's really strange, it always used to be one of the key parameters for a drive
But the WDC drive is one of their "Purple" drives which is optimised for surveillance systems use - i.e. recording multiple streams from multiple cameras, and is rated for "up to" 64 cameras. From discussions on the mailing list, it seems that people are managing far more consecutive recordings than I do per drive without seemingly hitting limits - 2,4,6, 8 seeks/second isn't actually very high at all, get a really busy system going and the drives can be "buzzing". With rotation latency a few ms, and typical seek times in a similar order of magnitude, you can see that even a modest spec (I think mine are 5400 and 7200 rpm) drive should be able to manage several recordings without too much trouble.
One key though is advice for MythTV setup is to never have your recordings and the OS & database on the same drive(s). The database can be very busy, and that can easily cause problems if it shares the same disk as a recording. I have everything but the recordings on a mirrored pair of SSDs.