Bir bilgisayarın çalışma ortamı kullanıcı arayüzü ve yazılımın yürütüldüğü fiziksel olmayan ortamdır. Kullanıcı arayüzü, grafiksel bir masaüstü ortamı veya metin tabanlı bir konsol olabilir. Bu terim ayrıca programcılar tarafından kullanılan entegre bir geliştirme ortamına veya programları yürütmek için kullanılan bir çalışma zamanı ortamına işaret edebilir.
Grafik masaüstü ortamına atıfta bulunurken, "işletim ortamı" terimi, arayüzün görünüşünü ve kullanıcıların gerçek programlarla nasıl etkileşimde bulunduğunu belirtir. Kullanıcı simgeleri, yazı tipini ve metnin boyutunu değiştirerek ortamın görünüşünü değiştirebilir. Programlarla etkileşim kurmak, ikonlara tıklanarak ve menüler arasından seçim yapılarak yapılır.
Metin tabanlı bir ortamda, terim komut istemine, çalıştırılabilir programların yoluna ve kullanılan kabuk anlamına gelir. Kabuk, kullanıcıdan girdi alan ve çekirdeğe ileten metin tabanlı arabirimdir. Kullanıcı, klavyeyi kullanarak komutları yazarak metin tabanlı bir ortamla etkileşime girer.
Tüm işletim ortamları, işletim sistemine yazılım ve sistem işlemlerinin nasıl davranacağını söyleyen çevresel değişkenlere sahiptir. Bu çevresel değişkenler, kullanılan işletim sisteminin türüne bağlı olarak farklı şekilde ele alınır. Çoğu işletim sisteminde, bu değişkenler kullanıcının tercihine göre değiştirilebilir. Programlar ve sistem işlemleri de değişkenleri değiştirebilir.
Bilgisayar programlamasında, çalışma ortamı bir program oluşturmaya yardımcı olmak için kullanılan bütünleşik geliştirme ortamını (IDE) ifade eder. IDE'ler genellikle bir kaynak kod editörü, bir derleyici veya tercüman, derleme otomasyon araçları ve bir hata ayıklayıcıdan oluşur. Belirli bir programlama dili ve işletim sistemi için birçok IDE oluşturulur. Diğer IDE'ler birçok farklı programlama dilini destekler ve birden fazla işletim sistemine kurulabilir.
Çalışma zamanı ortamı, bilgisayar programlarını yürütmek için kullanılan bir çalışma ortamı türüdür. Bazı çalışma zamanı ortamları, tek bir programın birden fazla işletim sisteminde çalışmasına izin verir. Ayrıca, programcı gerçekten bu görevin kodunu yazmak zorunda kalmadan, bir ağ bağlantısı oluşturma gibi düşük düzeydeki görevleri yerine getirmek için kullanılır.


