Yönünü en modern sistemlerde büyüme yığını nedir?
C bazı eğitim materyalleri hazırlıyorum ve benim örnekler tipik yığın modeli uyacak şekilde istiyorum.
Ne yönde bir C Linux, Windows, Mac OS X () PPC ve 86, Solaris, ve en son Unix büyümek yığını mı?
CEVAP
Büyüme genellikle işletim sistemine bağlı değildir yığını kendisi, ama işlemci üzerinde çalışan. Solaris, örneğin, x 86 ve SPARC üzerinde çalışır. Mac OS bahsettiğiniz gibi PPC ve x 86 üzerinde çalışır. Benim büyük gürültücü gelen her şeyi Linux üzerinde çalıştığı işyerinde' Sistemi z puny little wristwatch.
İşlemci ve yönü vardır:
x86 down
SPARC in a circle, very clever architecture, see below.
PPC down, I think.
System z in a linked list, I kid you not.
(but still down, at least for zLinux).
ARM selectable (thanks, Michael Burr).
Mostek6502 down (but only 256 bytes).
RCA1802A any way you want, subject to SCRT implementation.
PDP11 down.
Gösterilen yaşım şu son birkaç 1802 oldu çip kullanılan kontrol erken servisleri (algılama ise kapı açık mıydı, şüpheli, temel işlem gücü vardı :-) ve benim ikinci bilgisayar, COMX-35 (aşağıdaki benim ZX80).
Bir kenara olarak:
PDP11 detaylar here panoda.
SPARC mimarisi, bu arada, sürgülü bir pencere ile bir dairesel tampon, sınırlı bir adımı vererek garip bir yığın mimarisinin bir örneğidir. Ayrıntılar için here bkz.
Yukarıda belirtilen SCRT tekniği başka bir şeydir - 1802 bazı kullanılan ya da on altı 16-bit SCRT için kaydeder (standart arama ve dönüş tekniği). SEP Rn
bir talimat PC gibi herhangi bir kayıt kullanabilirsiniz program sayacı. Bir yığın gösterici ve iki her zaman SCRT kod adresine işaret edecek şekilde ayarlanmış, Ara, geri dönmek için.Hayırkayıt özel bir şekilde tedavi edildi. Bu ayrıntıları hafızamdan akılda tutulması, tamamen doğru olmayabilir.
Örneğin, R3 oldu PC, R4 oldu SCRT çağrı Adres, R5 oldu SCRT iade adresi ve R2 oldu "yığın" (tırnak olarak uygulanan yazılım), SEP R4
ki set R4 için PC ve başla çalışan SCRT çağrı kodu.
Daha sonra "" (R6 depolama sıcaklığı) için kullanılmış sanırım, yukarı veya aşağı, R3, yükü aşağıdaki iki bayt al onları . ayarlama yığın R2 R3 store olurdu ^em>içineR3, SEP R3
ve yeni adresi de çalışıyor olması.
Dönmek, olur SEP R5
hangisi eski numarayı Adres R2 yığını, iki Ekle (atla adresi bayt çağrı), yük içine R3 SEP R3
başlangıç çalışan önceki kod.
Çok zor kafanda başlangıçta yol 6502/6809/z80 yığın tabanlı bir kod ama bang-----duvara kafası hala zarif falan sonra sarmak için. Ayrıca çipin büyük satış özelliklerinden biri 16 16-bit kaydeder ve hemen o 7 (SCRT, DMA için iki ve bellekten kesmeleri için 5) kaybetti. Gerçeklik üzerinden pazarlama zaferi Ahh.
Sistem z aslında oldukça benzer, çağrı/r 14 ve R15, kayıtları geri kullanıyor.
Bir Bellek Yığını nedir?...
Bir LAMBA yığını nedir?...
Modern bir Linux kutusu açık TCP bağla...
Base pointer ve işaretçi yığını nedir ...
Neden modern Perl varsayılan olarak UT...