New trend in smart card operating systems is JavaCard Operating System. JavaCard OS was developed by Sun Microsystems and than promoted to JavaCard Forum. Java Card OS is popular because it gives independence to the programmers over architecture. And Java OS based applications could be used on any vendor of smart card that support JavaCard OS.
Most of the smart cards today use their own OS for underlying communication and functions. But to give true support for the applications smart cards operating systems go beyond the simple functions supplied by ISO7816 standards. As a result porting your application, developed on one vendor, to another vendor of smart card becomes very hard work.Another advantage of JavaCard OS is, it allows the concept of post-issuance application loading. This allows you to upgrade the applications on smart card after delivering the card to the end-user. The importance is, when someone needs a smart card he/she is in need of a specific application to run. But later the demand can change and more applications could be necessary.
Another operating system for smart cards is MULTOS (Multi-application Operating System). As the name suggests MULTOS also supports multi-applications. But MULTOS was specifically designed for high-security needs. And in many countries MULTOS has achieved "ITSec E6 High" in many countries.
And also Microsoft is on the smart card highway with Smart Card for Windows.
In a point of view the above Operating Systems are Card-Side API's to develop cardlets or small programs that run on the card. Also there is Reader-Side API's like OpenCard Framework and GlobalPlatform.