Jump to page: 1 2
Thread overview
İşletim Sistemleri Mimarisi, Bilgisayar Donanımı ve Derleyici/Yorumlayıcı Tasarımı
Aug 31, 2018
İbrahim
Sep 01, 2018
İbrahim
Sep 01, 2018
kerdemdemir
Sep 01, 2018
İbrahim
Sep 01, 2018
kerdemdemir
Sep 02, 2018
İbrahim
Sep 02, 2018
kerdemdemir
Sep 03, 2018
İbrahim
Sep 03, 2018
fatih (fatih)
Sep 03, 2018
Abdullah
August 31, 2018

Selamün Aleyküm;

İşletim sistemlerinin nasıl işlediğine, nasıl çalıştığına, ne yaptıklarına dair bilgiler edinmek istiyorum. Bunun için şu kitapları buldum:
Modern Operating Systems (4th Edition):
https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum-dp-013359162X/dp/013359162X/ref=mt_hardcover?_encoding=UTF8&me=&qid=

Operating Systems Design and Implementation (3rd Edition):
https://www.amazon.com/Operating-Systems-Design-Implementation-3rd/dp/0131429388/ref=sr_1_10/143-6078147-9338852?s=books&ie=UTF8&qid=1535752203&sr=1-10&refinements=p_27%3AAndrew+S.+Tanenbaum

Bilgisayar Mimarisi:

Structured Computer Organization (6th Edition):

2013:
https://www.amazon.com/Structured-Computer-Organization-Andrew-Tanenbaum/dp/812034720X/ref=sr_1_9/143-6078147-9338852?s=books&ie=UTF8&qid=1535752203&sr=1-9&refinements=p_27%3AAndrew+S.+Tanenbaum

https://www.amazon.com/Structured-Computer-Organization-Andrew-Tanenbaum/dp/0132916525/ref=pd_cp_14_1?_encoding=UTF8&pd_rd_i=0132916525&pd_rd_r=dc8a814d-ad7a-11e8-b9b0-b9c4745829eb&pd_rd_w=QXKsv&pd_rd_wg=jGUsg&pf_rd_i=desktop-dp-sims&pf_rd_m=ATVPDKIKX0DER&pf_rd_p=ef4dc990-a9ca-4945-ae0b-f8d549198ed6&pf_rd_r=JF5PZQS5MKW1J06G192J&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=JF5PZQS5MKW1J06G192J

Bu kitabın paperback olanı var ve 2016 diyor ama içerik mi 2016 yoksa içerik eski ama basım 2016 mı bilmiyorum:

https://www.amazon.com/Structured-Computer-Organization-Andrew-Tanenbaum/dp/9332571244/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1535752203&sr=1-7

Bilgisayar Ağları Kitabı:
**
Computer Networks (5th Edition):**
https://www.amazon.com/Computer-Networks-5th-Andrew-Tanenbaum/dp/0132126958/ref=pd_cp_14_2?_encoding=UTF8&pd_rd_i=0132126958&pd_rd_r=99a7a1a1-ad7c-11e8-bcdb-932140fb8169&pd_rd_w=vqGE1&pd_rd_wg=RqCaV&pf_rd_i=desktop-dp-sims&pf_rd_m=ATVPDKIKX0DER&pf_rd_p=ef4dc990-a9ca-4945-ae0b-f8d549198ed6&pf_rd_r=N6V6XQAYG97H4810YQJK&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=N6V6XQAYG97H4810YQJK

Bunun International Economy Edition sürümü varmış:
https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742/ref=sr_1_4/143-6078147-9338852?s=books&ie=UTF8&qid=1535752203&sr=1-4&refinements=p_27%3AAndrew+S.+Tanenbaum

Derleyici Tasarımı Kitabı:
Compilers: Principles, Techniques, and Tools:
https://www.amazon.com/Compilers-2e-Aho/dp/9332518661/ref=pd_sim_14_4/259-9015889-7214458?_encoding=UTF8&pd_rd_i=9332518661&pd_rd_r=18881a32-ad7d-11e8-9d19-530a15f05916&pd_rd_w=Wk3cx&pd_rd_wg=nIWMz&pf_rd_i=desktop-dp-sims&pf_rd_m=A1VBAL9TL5WCBF&pf_rd_p=8cade672-599c-474c-bed1-879f0464084b&pf_rd_r=1S6TCXGCYZGE576ENKFW&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=1S6TCXGCYZGE576ENKFW

Bu kitaplar sizce bu konuları tam tekmil öğrenmek için iyi midir? Piyasada daha iyi dediğiniz kitaplar nelerdir? Bu kitaplarla işletim sistemi çekirdeği, derleyici geliştirme, bilgisayar ağlarını, bilgisayar parçalarının a'dan z'ye nasıl çalıştığı vs. konuları sonuna kadar öğrenebilir miyim?

Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 01, 2018

@acehreli :)
Hocam aslında çoğunluğun bu konularda en çok tercih ettiği kitaplar nelerdir desem daha doğru olur. Yani bu konularda adı çıkmış kitaplar hangileridir? Ben işletim sistemleri için Tanenbaum'un kitaplarını duydum ama tabi adı daha çok duyulan başka kitaplar var mı bilmiyorum.
Bir de bu Dragon kitabı en son 2006 basımlı diye biliyorum. Acaba günümüz derleyici mimarisiyle aynı şeyleri mi anlatıyordur? Yani okuyacağım kitaplar zorlu olacak, o yüzden günümüz mimarilerinin özellikleriyle öğreneyim istiyorum. Amazon'da falan 1980'li yıllarda çıkmış kitaplar bile var bu konular hakkında. O zamanların mimarisiyle günümüz mimarisinde koca bir değişim olmuştur herhalde diye düşünüyorum.

Yanlış anlamadıysam Modern Operating Systems kitabı bir işletim sisteminin nasıl işlediği ve nasıl kodlanabileceği ile alakalı bilgiler içeriyor diye anladım.
Operating Systems Design and Implementation kitabı ise Minix üzerinden işletim sistemi nasıl kodlanır diye anlatıyor sanırım.
Structured Computer Organization kitabı bilgisayarın donanımını a'dan z'ye nasıl çalıştığını, ne yaptığını ayrıntılı olarak anlatıyor diye anladım.
Computer Networks kitabı adı üstünde bilgisayar ağlarını ayrıntılı olarak anlatıyor galiba.
Compilers: Principles, Techniques, and Tools kitabı ise bir programlama dili ve derleyicisi nasıl üretiliri anlatıyor.
Umarım doğru kitaplardır :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 01, 2018

Şu Modern Operating Systems kitabını hakkıyla bitir bilgisiyar denen şeyin donanımının ve işletim sisteminin nasıl çalıştığı a-z 'ye anlarsın diye düşünüyorum. Bunu hakkıyla okursan şunlara çokta gerek olduğunu düşünmüyorum.

https://www.amazon.com/Operating-Systems-Design-…?s=book…
https://www.amazon.com/Structured-Computer-Organ…?s=book…

İstersen tabi oku ama bildiklerini tekrar gibi olur. (Ben sadece Modern Operating Systems kitabını okudum diğerlerini bilmiyorum ama kitap okadar kapsamlıydıki böyle olacağını varsayıyorum.)

Bu kitabı okumak iş yoğunluğuna göre değişir ama 2-3 ay alacaktır diye düşünüyorum.

Diğer kitapları bilmediğimden yorum yapmıyorum.

Erdemdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 01, 2018

Teşekkürler @kerdemdemir Hocam. Bu Modern Operating Systems kitabı bir işletim sisteminin nasıl çalıştığının dışında sistem çekirdeği nasıl kodlanır diye de öğretiyor mu?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 01, 2018

Kitap çok güzeldi gerçekten.

Zaten yazarı hem teoride kuvvetli bir Profesör hemde Minix denen işletim sisteminin sahibi. Yani işletim sistemini pratik olarakda ele adam bir adam. Linus Torvalds ' la çok ünlü bir atışması var https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate. Bilgisayarların nerdeyse ilk çıktığından beri kullandığı için işin tarihinide çok iyi biliyor ve ilk bölümde işin geçmişinden bahsediyor.

Sistem çekirdeği nasıl kodlanır sorusunu bence cevaplıyor sebebide kitabın çok detaylı olması. Ama şöyle bir şeyde var kitap detayları anlatınca bunun tek kişinin yapamacağı bir iş olacağınıda anlatıyor(bu benim kendi çıkarımım olmuştu).

Erdemdem .

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 01, 2018

Derleyici için bazen "the dragon book" diye bilinen kitap önerilir. Senin bulduğunla farklarını bilmiyorum ve ne o kitabı okudum ne de yazdığın diğerlerini. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 02, 2018

Derleyici tasarımı konusunda şu kitaplar var:

1- Compilers: Principles, Techniques, and Tools
https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811/ref=pd_sbs_14_2?_encoding=UTF8&pd_rd_i=0321486811&pd_rd_r=c4eac186-af00-11e8-a3d9-8f6065affc51&pd_rd_w=8X8xz&pd_rd_wg=LC5qj&pf_rd_i=desktop-dp-sims&pf_rd_m=ATVPDKIKX0DER&pf_rd_p=0bb14103-7f67-4c21-9b0b-31f42dc047e7&pf_rd_r=Q4SPQ11MAJF3DGBCREPG&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=Q4SPQ11MAJF3DGBCREPG

2- Modern Compiler Design
https://www.amazon.com/Modern-Compiler-Design-Dick-Grune/dp/1461446988/ref=pd_sbs_14_3?_encoding=UTF8&pd_rd_i=1461446988&pd_rd_r=04ded320-af01-11e8-b369-ffe841fc31b4&pd_rd_w=kpDPg&pd_rd_wg=9hacl&pf_rd_i=desktop-dp-sims&pf_rd_m=ATVPDKIKX0DER&pf_rd_p=0bb14103-7f67-4c21-9b0b-31f42dc047e7&pf_rd_r=ERE2HQDN24HMJ090GM63&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=ERE2HQDN24HMJ090GM63

3- Engineering: A Compiler
https://www.amazon.com/Engineering-Compiler-Keith-Cooper/dp/012088478X/ref=zg_bs_3970_6/139-0664338-6197701?_encoding=UTF8&psc=1&refRID=RJWF6FC9Y23WVP29AHWV

Hocam okumamış olabilirsiniz lakin siz olsanız bu konuyu öğrenmek için hangi kitabı alırdınız?
Dragon kitabı 2. baskı 2006 yılında, 2. sıradaki kitap 2012 yılında ve 3. sıradaki kitap 2011 yılında basılmış.

Tabii birde bu kitapları 800-1000 sayfa arası ve İngilizce olduğu için benim daha fazla İngilizce çalışmam gerekiyor :) Lakin İngilizcemi nasıl hızlı geliştirebileceğimi bilmiyorum ama deniyorum işte :)
Bu kitaplar hazırda dursunlar, zamanı gelince başlayacağım.

İşletim sistemleri mimarisi, bilgisayar donanımı ve ağları ve derleyici / yorumlayıcı tasarımı. Programlama dili bilen ve bu konularda da çok çok temel bilgiye sahip olan benim gibi birisi ilk önce hangisini öğrenmelidir?
Sonuçta, atıyorum X konulu kitabı okurken bir yerde "acaba burada ne demek istiyor?" veyahut da "Bu xxx ne demek acaba?" gibi takılmalar yaşamamak için en temel olan ilk konu hangisidir?
Mesela Modern Operating Systems kitabından mı başlamalıyım? Dediğim gibi programlama dili bilen ve çok temel bilgilere sahip birisi bu kitaptan mı başlamalı?

Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 02, 2018

Derleyici yorumu ve bilgisayar aglari'nin %99'u ve isletim sistemleri mimarisinin %80 'i eger bu dallarda calismayacaksan hic bir isine yaramiyacaktir genel kultur haric.

Bence kendine bir dal sec. Oyun gelistirme olabilir, networking,gomulu sistemler olabilir vs... ondan sonra okuyacagin kitaplari ona gore sec. Cunku kitaplari hakkiyla okumak benim icin cok uzun suruyor. Ingilizce sikintisida olabilir ama teknik kitaplari anlamak cok zor roman okumaya benzemiyor bazen bir sayfayi 10 kere okumak geri donmek bir daha okumak gerekiyor. Ve oyun gelistirmeyi sectiysen mesela kitabi okurken birde oyun projesi gelistirmeye calismak pratik olarak da seni cok gelistiricek, iyice uzmanlastiricaktir.

Bizim ilk tartistigimiz modern operating systems kitabini cok genel oldugu icin kendime cok faydasini gordum. O kitap hangi dala secersen sec bir temel olacagini dusunuyorum.

Erdemdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 03, 2018

@kerdemdemir Hocam benim aslında bilgisayarda asıl uğraşmak istediğim konular bunlar olduğu için ben bu konuları öğrenmek istiyorum. Belki mobil ve masaüstü yazılımlar geliştirerek para kazanabilirim lakin yine de öğrenmek istediğim konular bunlar: İşletim sistemleri mimarisi, bilgisayar donanımı, ağları ve bunların yazılımı, derleyici / yorumlayıcı tasarımı. Hocam aslında dediğiniz gibi, bir Android / iOS yazılımcısı bu kadar alt seviyeli konulara girmesine gerek yoktur lakin her ne kadar bunları bilmeden de mobil yazılım geliştirilebilse de yazılımcı bir şekilde bu konularla karşılaşıyor. Mesela benim Android kitabımda şöyle bir şey var:
Alıntı:

>

Linux kernel'ı Android için bir tür HAL (Hardware Abstraction Layer) katmanı oluşturur. Bu katmanda aşağı seviyede ve kritik işlemler yapan çeşitli alt sistemler söz konusudur. Bu katman cihaz uyku modunda iken bile uygulamaların yerine getirmesi gereken görevler için bir Alarm Timer, Binder isimli bir process'ler arası haberleşme mekanizması, PMEM ve ASHMEM gibi bellek paylaşım mekanizmaları, Viking Killer gibi bellek kullanımını düzenleyen kernel modülleri vardır.

Zygote ise cihaz açılınca (boot edince) birtakım çekirdek kernel servislerini aktifleştiren, daha sonra çalışacak uygulamalar için Dalvik örneklerini başlatan bir uygulama process'idir.

Mesela ben bu bölümü okuduğumda doğru düzgün hiçbir şey anlamadım. Aslında Android yazılımcıya "Zygote nedir? HAL (Hardware Abstraction Layer) nedir? Bunlar ne yapar?" gibi sorular sorulduğunda (misal ben :) ) bu kaynaklarda yazan ve aslında kendimizin de doğru düzgün ne anlama geldiğini tam olarak bilmediğimiz / anlamadığımız cevapları ezbere veriyor. Böyle olunca ben ne kendimi tatmin edebiliyorum ne de bunları bana soran kişiyi tatmin edici yanıtlar verebiliyorum.

Yine Android kitabımda bir Android uygulamasının çalıştırılmasının arka planda gerçekleşen aşamalar anlatılıyor:
Alıntı:

>
  1. BootLoader, Linux kernel'ını yükler ve init process'ini başlatır.
  2. init process'i kendi içerisinde bazı native servisleri (usbd, adbd, debuggerd, rild, vold, netd, installd, qemud) başlatır.
  3. init process'i tarafından Zygote başlatılır.
  4. Service Manager başlatılır. Bu mekanizma, uygulamaların kullandığı bazı servisleri (TelephonyService, LocationService, vb.) yönetir.
  5. Zygote, forking işlemi ile Dalvik örneği oluşturup çalışmaya başlatır.
  6. Native system service'ler başlatılır. Bunlar System Manager'a IPC odakları olarak kaydedilir.
  7. Android managed services başlatılır.

Bu maddelerde anlatılan her ne kadar Android ile alakalı olsa da tam olarak anlaşılabilmesi için işin alt kısmını bilmek gerekiyor, aksi halde benim gibi yazılımcılar bunları sadece ezber yapıyorlar :)

Diğer bir örnek olarak işlemciler:
https://s33.postimg.cc/izcnrcxbj/Donan_m_Birimleri_-_lemciler.png
Mesela bu bilgileri ben okuduğumda aslında anlamadığımın ama anlamış gibi görünüp ezberlediğimin farkındayım :)
Son örneği ise: Thread'ler ve Process'ler. Bunların ne olduğunu kaba taslak bilsem de gerçek manada ne olduklarına dair bilgim yok lakin yine de gerek masaüstü, gerek mobil uygulama geliştirirken kullanıyorum ama işin doğrusu şu ki yaptıklarım sadece ezberlediklerim oluyor.
Daha bunun gibi birçok konu var ve ben alt seviyeli konuları bilmediğim için bunları hakkıyla öğrenemediğim bir gerçek. O yüzden benim bunlar tam tekmil öğrenmeye ihtiyacım var :) Ayrıca ben bilgisayar ve yazılıma aslında bu konular yüzünden girdim zaten.

Uzun yazıyorum, bunun için kusura bakmayın.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 03, 2018

Bahsettiginiz konularin hepsi genel olarak computer systems dedigimiz alanda olsa da, ornegin programming languages ile operating systems pek alakali konular degil. Compiler konusunda dragon book gayet iyidir, teoirisiyle birlikte ogretir, fakat biraz uzun bir kitap, sikma ihtimali yuksek. Dogrudan alani olan biri compiler sorunuzu daha iyi cevaplayabilir.

Isletim sistemleriyle ilgili calistigim icin daha dogrudan cevap verebilirim. Modern operating systems dogrudan sizin bir OS yazabilmenizi saglayacak bir kitap degil, daha cok konulari anlatan, iste thread ile process farki nedir, file system yapilari, semaphore'lar gibi isletim sisteminin biraz daha naptigini anlatip bilgi almanizi saglayan bir kitap. Dogrudan OS yazdiran bir kitap ariyorsaniz yine tanenbaum'dan MINIX book olarak gecene (design and implementation olan) bakabilirsiniz. Dogrudan x86 ile calisan bir isletim sistemini anlatiyor nerdeyse dosya dosya.

Daha genel bir sistem kitabi su var, asagi yukari sistem alanindaki her konuya deginiyor: https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X

Spesifik olarak bu alanda calismak istiyorsaniz bu kitaplar faydali olabilir, fakat asiri buyuk bir alan, dolayisiyla bir konuya odaklanmaniz daha faydali olabilir.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2