Pomysł umieszczania kodu, a nie tylko danych, w zapisywalnej pamięci nieulotnej został uznany za właściwą drogę rozwoju. Nie zaakceptowano jednak konieczności trudnego modyfikowania systemu operacyjnego karty na potrzeby każdego realizowanego projektu. Wykluczało to bowiem możliwość szybkiego realizowania systemów wykorzystujących karty procesorowe oraz zwiększało bardzo koszty. Rozwiązaniem okazało się wprowadzenie aplikacji, która wykonuje się na karcie w oparciu o znajdujący się na niej system operacyjny. System operacyjny może wówczas dostarczać światu zewnętrznemu jedynie podstawowe operacje (takie jak dostęp do systemu plików). Musi za to definiować sposób ładowania i uruchamiania aplikacji, jak również zestaw operacji (wywołań systemowych), z których będą mogły korzystać aplikacje wykonujące się na karcie. Rozdzielenie aplikacji od systemu operacyjnego karty ma jeszcze jedną zaletę -- daje możliwość jednoczesnego umieszczenia na karcie nie jednej, lecz wielu aplikacji. Jest to cecha niezwykle ważna, gdyż współdzielenie jednej karty pomiędzy wiele zastosowań jest warunkiem powszechnego wykorzystania kart we współczesnym świecie. Użytkownicy nie zgodzą się na noszenie przy sobie 10 czy 20 kart służących do różnych celów. Oczekują, że zostaną wyposażeni w jedna kartę, którą otworzą drzwi do pracy, zalogują się do systemu komputerowego i zapłacą za zakupy w Internecie.
Pozostaje jeszcze jeden problem: przenośność. Twórcy systemów oczekują od producentów kart, że aplikacje napisane dla karty jednego z nich bez problemu dadzą się uruchomić na karcie drugiego. Jednym z pomysłów było stworzenie ustandaryzowanego systemu operacyjnego.
Przykładem takiego standardu jest MULTOS (Multi-application Operating System). System został stworzony przez firmę Mondex, lecz obecnie jest własnością konsorcjum zrzeszającego wielu producentów kart oraz organizacji wykorzystujących karty w swoich systemach. W skład konsorcjum wchodzą między innymi firmy: Gemplus, Hitachi, Motorola, Siemens-Nixdorf oraz organizacje finansowe takie jak American Express, EuroPay oraz MasterCard. MULTOS jest standardem otwartym -- każdy kto chce może stworzyć system operacyjny i kartę z nim zgodną. Wszystkie aplikacje napisane dla systemu MULTOS powinny działać w tak stworzonym środowisku. MULTOS definiuje sposób bezpiecznego ładowania aplikacji do pamięci karty oparty na wystawianych certyfikatach. Możliwe jest współistnienie wielu aplikacji, jak i ich usuwanie z karty. Aplikacje w systemie MULTOS pisze się w języku MEL (MULTOS Execution Language), który jest językiem niskiego poziomu. Istnieją jednak kompilatory języka C do kodu MEL. Wzorcowa implementacja systemu operacyjnego MULTOS mieści się w 32 kilobajtach pamięci ROM. Dla aplikacji przeciętnie wystarcza 16 kilobajtów pamięci nieulotnej, co jest standardem na dzień dzisiejszy.