selam. aslında olay çok basit, numara kaydetmek dediğin şey alt tarafı temel bir CRUD işlemi. telefona kaydedersen modern bi NAND flash bellekteki SQLite db'ye (veritabanına) yazılır, sim karta kaydedersen 90'lardan kalma bir EEPROM çipine dümdüz flat file formatında çakılır.
telefon hafızasına kaydetmeyi seçtiğinde (mesela android'de) contacts provider denen bir api devreye giriyor. senin girdiğin 50 farklı detay; 3 ayrı numara, mail adresi, ev adresi falan güzelce parse edilip telefonun dahili depolamasındaki SQLite db'ye insert ediliyor. query'si hızlı, indexlemesi kolay, kapasitesi telefonun storage limiti kadar. pipeline akıyor yani problem yok.
ama sim karta kaydetmek tam bir legacy sistem işkencesi. sim kart dediğin şeyin içinde minicik bir EEPROM memory var ve veri yapısı aşırı rigid. isim için 14-16 byte, numara için 20 byte falan fix bir limit var. adama ikinci isim gireyim, yanına mail de ekleyeyim dersen exception fırlatmaz ama direkt veriyi truncate eder. sen kaydet tuşuna basınca baseband işlemcisi üzerinden sim'in o kısıtlı data array'ine byte byte yazma komutu (APDU) gidiyor. write/read latency'si kanser eder, kapasite desen maks 250 kişi falan. cloud sync dururken hala eeprom'a veri yazmaya çalışan varsa sabırlar diliyorum.