Kategoriler


SON YORUMLAR
Aleyna
Merhabalar.. Bilgisayar mühendisliği okumak istiyorum ve seçeneklerim Kocaeli Üni, Akdeniz Üni, Uludağ Üni ve Sakarya Üni. Sizce hangi üniversitenin eğitimi daha iyi bilgilendirirseniz çok sevinirim. Bir de bilgisayar mühendisliğini ingilizce okumak/okumamak ne kadar etkiliyor?

"Salim(14.07.2017 14:20:25) İstanbul Bilgisayar mühendisliği tutacak gibi ama dili türkçe olması ve internette gördüğüm kötü yorumlar beni korkutuyor.Bu yüzden ankarada ingilizce bölüm olduğu için yıldırım beyazıt üniversitesine gitmeyi düşünüyorum.Sizce İstanbul üniversitesinin bilgisayar mühendisliği söylendiği gibi kötü mü ve türkçe olması benim uluslararası bir mühendis olmamı engeller mi." İstanbul Bilgisayar Müh.ü yaz. Eğitimi İTÜ ve Boğaziçi.nin altındadır ama genel olarak Hacettepe.den, bazı açılardan da ODTÜ ve Yıldız.dan iyidir. İngilizce.yi de kendin hallet. Yıldırım Beyazıt.a gidince gerçek bir İngizlice eğitim mi alacaksın sence? Reklama bakma. Hem akademik hem piayasa şartları açısından İTÜ, Boğaziçi, Koç ve İstanbul diğer tüm üniversitelerden iyi.
Selçuk Yılmaz
Admin helal olsun sana beni bu önemli konuda çok fazla bilgilendirmiş oldun çok teşekkür ederim sana. Bütün yazanları okuyun sizinle ilgili tüm makaleleri okuyun çok işinize yarayacaktır
dolar kuru
bu siteyi uzun zamandır takip ediyorum. dolar kuru düşükken bu maaşlar çok az diye mesajlar vardı burada. dolar kuru yükselince de bu maaşlara çalışan yok diyorlar. hep anlık bakıyorlar bu yazıya... ormana üstten bakın dallarla uğraşmayın.
Tatar Ramazan
Kemalizmin temel prensipleri aşkına iş dünyası bizden isteklerini ya küçültsün ya da maaşlarını ona göre büyütsün. Sadece T-SQL bilgimle en az 2000, sadece C# bilgimle 3000TL almam lazım. Bilgisayar bilgim: C#, Java, ASP.NET, ADO.NET, T-SQL, Silverlight, WPF, LINQ, XML, XSL, HTML, Javascript, CSS, JQuery, Ajax, Web Servisleri, PL/SQL, Reporting Services. İngilizce: YDS 72 Puan. Hala afra tafra. yetersiz görmeler, mülakatta surat yapmalar, bilmem neler. Haddiniz bilin lan. Uyduruk adamlar bi ton para kazanıyo bu ülkede. Bizi 3 kuruşa s..kecekler. Yeter be!..Am buldular kılsızını arıyorlar. Biz kıllıyı da bulamıyoruz.
Salim
İstanbul Bilgisayar mühendisliği tutacak gibi ama dili türkçe olması ve internette gördüğüm kötü yorumlar beni korkutuyor.Bu yüzden ankarada ingilizce bölüm olduğu için yıldırım beyazıt üniversitesine gitmeyi düşünüyorum.Sizce İstanbul üniversitesinin bilgisayar mühendisliği söylendiği gibi kötü mü ve türkçe olması benim uluslararası bir mühendis olmamı engeller mi.
Tatar Ramazan
Rekürsif Scalar Function ALTER FUNCTION [dbo].[TSEBelgeBul] ( @BasvuruUN uniqueidentifier ) RETURNS varchar(72) AS BEGIN DECLARE @TSEBelge VARCHAR(72) DECLARE @BasvuruUN2 uniqueidentifier Select @TSEBelge=BelgeNo from Belge where BelgeUN= (select BelgeUN from BelgeBasvuru where BasvuruUN=@BasvuruUN) Select @BasvuruUN2= Basvuru.BasvuruUN FROM Belge INNER JOIN Urun ON Belge.UrunUN = Urun.UrunUN INNER JOIN Basvuru ON Urun.BasvuruUN = Basvuru.BasvuruUN where Belge.BelgeUN=(select BelgeUN from BelgeBasvuru where BasvuruUN=@BasvuruUN) IF PATINDEX(.%YLD%., @TSEBelge) b 0 set @TSEBelge=dbo.[TSEBelgeBul](@BasvuruUN2) return @TSEBelge END
Sahibe
Makalenizi beğendim.Peki Adnan Menderes ve Celal Bayar üniversitelerinin bilgisayar mühendislikleri için fikriniz varmı ?

"Merve Şefaat(05.11.2015 09:36:22) Sizce İTÜ mü Boğaziçi mi?" ALINTI Soru çok doğru sorulmuş.
Orkun
En önemli kısma geldim burayı anlatmayacağız dediniz ne yapayım subnetworkingde teorik bilgiyi ben ?

İTÜ.nün yazılımının zayıf olduğuna dair bir yanlış bilgi var. İTÜ donanımcıdır doğru ama poiyasada rastladığım en iyi yazılımcılar ya İTÜ ya da Boğaziçi mezunuydu. Birçok İTÜ bilgisayar müh öğrencisi bu durumdan şikayetçi. Utanmasalar bütün kodlamaları assembly de isteyecekler falan diyenleri var. Onlara tek sözüm İTÜde aldığınız eğitimin ne anlama geldiğini okulu bitirmeden anlayamazsınız. ABDdeki en iyi ünivlerde önünüzü açar, sizi piayasa ortamı olsun akademik ortam olsun her yerde öne çıkartır.
Tatar Ramazan
En iyi bilg. müh. eğitimini veren yerler: 1- İTÜ 2- YILDIZ TEKNİK 3- İSTANBUL Bazı cahiller bir şey bilmeden buradaki sıralamaya itiraz ediyor. Ulan ben iyi üniversite okusaydım mesleğimden şikayet eder miydim? Başıma ne geldiyse ilgisiz, bilgisiz hocaların yüzünden geldi. İTÜ C++ dilini iyi öğretir. YILDIZ da C dilini iyi verir. Bu kadar basit. Çoğu üniversite bunu bile yapamaz öğrencileri harcar. Çünkü C dilinde struct yapısını öğrenince sınıfları da öğrenirsin. Sonra kalıtım, interface halledersin. Gerisi çorap söküğü gibi gelir. Hadi görüşürük..
Tatar Ramazan
En iyi bilg. müh. eğitimini veren yerler: 1- İTÜ 2-YILDIZ TEKNİK 3- İSTANBUL Bazı cahiller bir şey bilmeden buradaki sıralamaya itiraz ediyor. Ulan ben iyi üniversite okusaydım mesleğimden şikayet eder miydim? Başıma ne geldiyse ilgisiz, bilgisiz hocaların yüzünden geldi. İTÜ C++ dilini iyi öğretir. YILDIZ da C dilini iyi verir. Bu kadar basit. Çoğu üniversite bunu bile yapamaz öğrencileri harcar. Çünkü C dilinde struct yapısını öğrenince sınıfları da öğrenirsin. Sonra kalıtım, interface halledersin. Gerisi çorap söküğü gibi gelir. Hadi görüşürük..

"Merve Şefaat(05.11.2015 09:36:22) Sizce İTÜ mü Boğaziçi mi?" ALINTI türkiyedeki en iyi ikisi bu. itünün eğitimi türkiyedeki başka hiçbir ünivde yok. itü bitirirsen yurtdışı mastır doktorada çok rahat edersin. gittiğin yer isterse mit stanford olsun öne çıkar sivrilirsin. onu söyleyebilirim. çünkü amerikadaki en iyi ünivlerden mezun birçok bilgisayar mühendisinin bile bilmediği beceremediği bazı şeyleri becerebilir hale geleceksin bitirdiğinde. boğaziçi de en iyi iki ünivden biri bu arada. hakkını yemeyelim.

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Sanal Bellek Nedir?
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisliği ÖSS Taban Puanları 2009
Neden Bilgisayar Mühendisliği?
Bilgisayar Mühendsileri için CV hazırlama rehberi - 1
Mezunları en kolay iş bulan üniversiteler
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
BİLGİSAYAR MÜHENDİSLİĞİ GEREKSİZ BİR MESLEKTİR !!!
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
Dünyanın En İyi 500 üniversitesi 2007 Sıralaması Açıklandı
Mezunları en kolay iş bulan üniversiteler
Microsoftda Çalışan Bir Türk ile Yapılmış Röportaj
Bilgisayar Mühendisleri için CV hazırlama rehberi - 3
İşsizlik psikolojisi
Askerlik ve Bilgisayar Mühendisliği

Bilgisayar Mühendisleri Portalı

Sanal Bellek Nedir?

SANAL BELLEK - Virtual Memory
Çalışabilmesi için var olan bellek kapasitesinden fazlasını isteyen programların çalışabilir kılınması eski bir bilgisayar problemidir. Buna üretilen genel çözüm katman (overlay) yaklaşımı idi. Katmanlar programın parçalara bölünmüş hali idi. Sıfırıncı katman ilk olarak çalışmalı, işi bittikten sonra başka bir katmanı çağırmalıydı. Bunun yanında karmaşık yapılı, bellekte çoklu katmanlar çalıştırılmasını sağlayan yaklaşımlar da vardı. Katmanlar diskte bulunmalı, işletim sistemi tarafından belleğe yüklenmesi veya bellekten kaldırılması yapılmalı idi.

Bu yaklaşımdaki temel sorun, programın parçalara bölünme işinin programcı tarafından yapılmak zorunda olması idi. Bu işin büyük bir program için yapılması da oldukça zaman kaybına sebep olacağı açık idi.

Sonuçta sanal bellek kavramı ortaya çıktı. Temel mantığı program kodunun, programda kullanılan değişkenler, veri yapıları, vs.nin (data) ve de programın yığın alanının (stack) var olan bellek alanına sığmamasına dayanır.Bu durumda işletim sistemi programın kullanılan parçalarından kullanılanları bellekte, kalanını ise diskte tutar.

Kısaca söylemek gerekirse, sanal bellek bir bilgisayar programının var olan gerçek fiziksel bellekten daha fazla bellek varmış gibi davranmasını sağlayan sistemdir.

SAYFALAMA VE SAYFA HATASI

Pekçok bilgisayar sistemi sanal bellek adı verilen bir teknik kullanmaktadır. Her bilgisayarda kullanılabilecek bir adres uzayı vardır. Adres uzayı ile işlemcinin, bir sürecin veya bellek ve işlemci dışındaki bir bilgisayar donanımının erişebileceği adress genişliği/sınırı kastedilmektedir. Aşağıdaki program kodunu inceleyelim.

MOVE x, 1000

Mimari tasarımın, bu kod parçasının 1000 numaralı adresteki verinin, X ile gösterilen yazmaca veya değişkene atanmasını sağlayacak şekilde yapıldığını düşünelim. Programda üretilen/kullanılan adresler sanal bellek sisteminin kullanıldığı bir tasarımda gerçek fiziksel adresler değildir. Programda üretilen adreslere sanal adres denir ve bu adresler sanal adres uzayını oluşturur. Sanal adresler yazılımsal veya donanımsal olarak gerçek fiziksel adreslere çevrilmektedir. Sanal adres uzayı eşit büyüklükteki parçalara bölünür. Bunların herbirine sayfa (page) denir. Bu sayfalara karşılık gelen fiziksel bellek alanlarına ise sayfa çerçevesi denir. Eşit büyüklükte ve adreslenebilirlikteki kolaylığı nedeniyle 4K seçilen sayfa ve sayfa çerçevelerinden oluşan bir gösterim aşağıdaki gibi olabilir.

 mapping from virtual memory to physical memeory

Görüldüğü gibi sanal bellek üzerindeki bazı alanlar gerçek fiziksel bellek üzerindeki alanlara karşılık gelmektedir. Bire-bir şekilde yapılan iki yapı arasındaki bu eşlemeye haritalama (mapping) denir. Yazının bundan sonraki kısmında bellekteki sayfa ile, sanal bellek üzerinde fiziksel belleğin bir alanını referans eden sayfa ve bunun referans ettiği alan içindeki bilgiler kastedilecektir.

SAYFA HATASI
Yukarıdaki şekilde sayfaların bazılarının fiziksel belleğe referans etmediği görülmektedir. (X ile işaretli alanlar) Programın çalışması sırasında program kodu, erişim yetkisi olmayan bir alana erişmeye çalışabilir veya sanal bellek üzerinde fiziksel belleğe henüz referans edilmemiş bir alana erişmeye çalışabilir. Sayfa Hatası olarak adlandırılan bu durumda, işletim sisteminin bellekten uygun bir sayfayı boşaltması ve istekte bulunan programa bunu tahsis etmesi gerekmektedir. Bellekte uygun bir sayfa ayarlandıktan sonra, sayfa hatasına sebep olan kod tekrar çalıştırılır. Gözden kaçırılmaması gereken nokta, tahsis edilecek bellek gözündeki veriler değiştiyse, önce bunların takas alanına aktarılarak saklanması gerekliliğidir. Değişmediyse, ayarlanan sayfa üzerine veriler yazılacaktır.

Yukarıda bahsi geçen, sayfa hatası durumunda bellekteki uygun bir sayfanın seçimi ele alınması gereken bir noktadır. Eğer sıklıkla kullanılan bir sayfa seçilirse, takas alanından bu sayfanın sık çağrılmasından dolayı performans kaybı olacaktır. Şimdi sayfa hatası durumunda seçilecek sayfayı belirlemeye getirilen yaklaşımlardan biri olan FIFO (first in- first out)'yu inceleyelim.

FIFO (First In - First Out)
Bu yaklaşımda işletim sistemi bellekte bulunan sayfalar için bağlı bir liste yapısı oluşturur. Listedeki yapıların bellekteki sayfaları işaret eden yapılar olduğunu düşünebiliriz. Bu listenin baş (head) kısmı en eski (belleğe ilk gelen) sayfayı tutarken, kuyruk (tail) kısmı en yeni (en son gelen) sayfayı tutar. Bir sayfa hatası durumunda, listede baş kısmın işaret ettiği sayfa seçilmektedir. Belleğe yeni yüklenen sayfa da liste sonuna eklenir.

Uygulaması ve yazılması kolay bir metoddur. Fakat sadece sayfaların belleğe geliş sıralarına bakmakta, sayfaların kullanım sıklığını göz ardı etmektedir. Sıklıkla kullanılan sayfaların da bellekten çıkarılmasına sebep olabilmektedir. Ayrıca belleğe her sayfa giriş çıkışında da bağlı listenin güncellenmesi gerekecektir. Bunun için tercih edilen bir metod değildir.

Sadece 3 tane sayfayla referans edilebilen bir bellekte sirasiyla 1,5,3,1,6,1,6,5 numarali sayfalara erişim gerekliliği olsun. Bellekteki sayfaların durumu sırasıyla aşağıdaki gibi olacaktır.

FIFO Gösterimi

1 numarali sayfaya istekte bulunulduğunda sayfa belleğe yüklenecektir. Daha sonra 5 numarali sayfaya istekte 5 ve ardindan da 3 numarali sayfa belleğe yüklenecektir. Bu anda belleğe ilk yüklenen 1 numarali sayfa en eski durumunda, son eklenen 3 ise en yeni durumundadır. Daha sonra 1 numaralı sayfaya tekrar istekte bulunulur ve bellekte zaten olduğu için herhangi bir yerdeğiştirme yapılmadan sıradaki 6 numaralı sayfaya istek ele alınır. Henüz bellekte referans edilmemiş bir sayfa numarasına istek verildiğinden sayfa hatası oluşur ve bunun FIFO ile çözümünün yapılabilmesi için en eski sayfanın çıkarılıp yerine yeni gelen sayfanın yüklenmesi gerekmektedir. Buradaki çıkarma işleminin eger çıkarılacak sayfada bir değişiklik olduysa takas alanına yazmak ya da kullanılmayacaksa üzerine yazmak şeklinde olacağı unutulmamalıdır. Böylece 6 numaralı sayfa 1 numaralı sayfanın olduğu konuma yüklenir. Bu durumda en yeni olan sayfa 6, en eski olan sayfa ise 5 dir. 1 numaralı sayfaya tekrar istek geldiğinde artık bellekte olmadığından tekrar sayfa hatası oluşur ve bu sefer 5 numaralı sayfa çıkarılarak yerine 1 numaralı sayfa yüklenir. Tekrar 6 numaralı sayfaya istekte bulunulduğunda zaten bellekte olduğu için sıradaki isteğe geçilir ve 5 numaralı sayfa isteğiyle sayfa hatası tekrar oluşur ve diğerlerine göre daha uzun süredir bellekte beklemekte olan 3 numaralı sayfa çıkarılarak yerine 5 numaralı sayfa yüklenir.

Oğuz Yarımtepe

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

busee(14.01.2016 17:37:34)
çok yardımcı oldu teşekkür ederim :)
%50 %0 %50
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.