Asalna UNIX?

Salam kanggo sadayana 🙂 minggu-minggu ieu kuring rada ngahibur maca sababaraha buku ngeunaan program, saleresna nyaéta cara anu pangsaéna pikeun diajar program nyaéta salawasna ku buku, tulisan naon, tutorial, pituduh anu tiasa dipendakan (kalebet milik kuring) ngan saukur tolok ukur nalika ngabandingkeun kana buku anu nyata ngeunaan hal éta. Ayeuna, urang kedah nangtoskeun naon ogé buku "asli", kumargi henteu sadayana buku biasana saé, sareng seueur di antawisna bahkan hargana langkung mahal tibatan anu leres-leres berharga sareng nyéépkeun waktos.

Salami mangtaun-taun ieu daptar buku anu kuring kantos baca sareng daptar buku anu tiasa kuring nyarankeun tiasa nyimpang sakedik, tapi tanpa diragukeun diantara sababaraha karesep kuring anu kami gaduh (teu aya urutan anu khusus):

  • Peretas Étika CEH Certified ku Matt Walker.
  • Mimiti Python: Ti novice dugi ka Profesional ku Magnus Lie Hetland.
  • Hacking: seni garapan ku Jon Erickson.
  • Ngamimitian sareng Arduino ku Massimo Banzi.
  • Diajar bash Shell ku Cameron Newbam & Bill Rosenblatt.
  • Diajar éditor vi sareng vim ku Arnold Robbins, Elbert Hana & Linda Lamb.
  • Linux Kernel dina Nutshell ku Greg Kroah-Hartman (pamekar Gentoo ogé).
  • Modern C ku Jens GUSTt
  • Buku Panduan The Shellcoder urang ku Chris Anley, John Heasman, Felix «FX» Linder & Gerardo Richarte.
  • Bahasa pamrograman C ku Brian W. Kernighan & Dennis M. Ritchie (panyipta C)
  • Debugging sareng GDB ku Richard Stallman, Roland Pesch, Stan Shebs, dkk.
  • Peretasan Linux Terkenal: Rahasia Kaamanan Linux sareng Solusi tina sakumpulan panaliti ISECOM, kalebet Pete Herzog, Marga Barcelona, ​​Rick Tucker, Andrea Barisani (pangembang Gentoo anu sanés), Thomas Bader, Simon Biles, Colby Clark, Raoul Chiesa, Pablo Endres , Richard Feist, Andrea Ghirardini, Julian "HammerJammer" Ho, Marco Ivaldi, Dru Lavigne, Stephane Lo Presti, Christopher Low, Ty Miller, Armand Puccetti & et al.
  • Sistem Operasi: Pendekatan Berbasis Konsép ku Dhananjay M. Dhamdhere
  • Pro Git ku Scott Chacon sareng Ben Straub
  • Pemrograman Ahli C: Rahasia jero ku Peter Van Der Linden.

Kuring tiasa nyarios pisan masing-masing tina buku ieu, tapi pikeun ayeuna urang bakal nyandak sababaraha bagian tina anu terakhir dina daptar, kumargi seueur anectoda ieu anu narik kuring sareng ngabantosan kuring langkung ngartos sababaraha rahasia rumit C sareng program. sacara umum. 🙂

Unix sareng C

Nalika urang nyarioskeun UNIX, sajarah aya hubunganana sareng asal tina sistem ieu sareng kamekaran basa anu dugi ka ayeuna mangrupikeun salah sahiji anu pang dianggo dina pamekaranana sareng turunanana (kalebet Linux). Sareng panasaran, dua ieu lahir tina "kasalahan."

multrics Éta mangrupikeun proyék mega anu ngahijikeun Bell Laboratorium, General Electric sareng MIT nyalira pikeun nyiptakeun sistem operasi, saur sistem ngagaduhan seueur kasalahan, sareng diantara salah sahiji anu paling penting, kagagalan kinerja anu ngajantenkeun sistem sacara praktis henteu tiasa digunakeun. Urang nyarioskeun ngeunaan taun 1969, janten perangkat keras waktos éta henteu tiasa ngadukung jumlah parangkat lunak anu diperyogikeun pikeun ngajalankeun sistem éta nyalira.

Henteu dugi ka taun 1970 yén sababaraha insinyur Bell mimiti damel dina sistem operasi anu saderhana, gancang, sareng enteng kanggo PDP-7. Sakabeh sistem parantos ditulis dina Assembler sareng parantos ditelepon UNIX salaku parodi tina multrics kumargi anjeunna ngan ukur badé ngalakukeun sababaraha hal, tapi pikeun ngalakukeunana kalayan saé tibatan padamelan boros anu hébat anu hartosna anu kadua. Ayeuna anjeun tiasa ngartos kunaon epoch dimimitian kaping 1 Januari 1970. 🙂 Fakta anu rada panasaran pikeun kuring. Dina waktos éta masih teu aya cariosan C nyalira, tapi a Anyar B kumargi ideu Ritchie asalna tina basa B anu parantos dianggo dina waktos éta.

Mimiti C

Salami sababaraha taun (1972-3) istilah C mimiti dianggo nalika basa anyar mimiti ngawangun, sareng sakitar waktos ieu lahir deui kanyataan anu panasaran, seueur programer sareng lulucon programmer nyarios:

Programmer terang yén anjeun mimiti ngitung tina 0 tibatan 1.

Nya, ieu henteu leres-leres leres reason alesan anu leres kunaon ieu dianggap sapertos kieu dugi ka ayeuna sabab kusabab didamelna, pikeun panulis kompilér langkung gampang ngitung susunan ngagunakeun offset, ieu nunjukkeun jarak anu aya ti titik asal kana tujuan anu dipikahoyong, éta sababna:

array[8]=2;

Éta nyaritakeun yén unsur éta tina susunan didefinisikeun salaku 2, kusabab 8 unit ditambih kana larik pikeun ngahontal rohangan mémori dimana unsur 2. Sateuacan C, seueur basa mimiti diitung ti 1, berkat C, ayeuna ampir sadayana dimimitian ku 0 🙂 tah éta sanés programmer, tapi kasalahan panulis kompiler yén ieu leres.

The Bourne Shell

Ieu mangrupikeun topik anu, sanaos henteu langsung hubunganana sareng C, tiasa ngabantosan langkung ti hiji pikeun ngartos naha pamrograman Shell sapertos anu aneh, sareng pastina panasaran terang. Steve Bourne nyerat kompiler pikeun Algol-68 dina usum éta, ieu mangrupikeun basa anu koncina ( {} ) diganti ku kecap, janten urang tiasa ngahartikeunana sapertos kieu di C:

#define IF if(

#define THEN ){

#define ELSE }else{

#define FI };

Ieu mangrupikeun sababaraha conto naon anu dipikaharti ku Algol, tapi upami urang diterapkeun kana program cangkang ayeuna, anjeun bakal ngartos naha dina program anjeun peryogi program fi pikeun masing-masing if 🙂 pastina pikaresepeun.

Mimiti maca

Kuring henteu tiasa nyaritakeun anjeun sadayana detil buku, khususna sabab seueur ieu parantos ngagaduhan topik pamrograman anu peryogi latar anu sateuacanna pikeun dipikaharti, tapi panginten kuring bakal ngabagi sababaraha anekdot panasaran anu kuring mendakan sapanjang jalan teu acan gaduh waktos kanggo ngagarap sababaraha barang anu parantos aya dina daptar hal anu kedah dilakukeun sabab ngan saukur buku-buku terakhir ieu anu nyanggap kuring sareng kuring resep unggal dinten na langkung-langkung kuring nyobian ngartos sapinuhna. Salam sareng moal lami deui kuring bakal tiasa ngabagi langkung seueur jejer, salam.


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

13 koméntar, tinggalkeun anjeun

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun.

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.

  1.   Juan cenahna

    Tulisan anjeun parantos narik pisan kuring. Hatur nuhun pisan.

  2.   HO2Gi cenahna

    Pisan pikaresepeun sakumaha biasa.

  3.   Jose Rafael cenahna

    Menarik pisan klarifikasi na saé.

  4.   Alex cenahna

    Excelente

  5.   danielga cenahna

    Pikaresepeun !!! Hatur nuhun pisan.

  6.   kadua cenahna

    multrics? éta moal seueur (https://en.wikipedia.org/wiki/Multics)

    basa kalayan indéks tina 1 mangrupikeun ciptaan sétan ...

    1.    ChrisADR cenahna

      Catetan anu pikaresepeun 🙂 Kuring anggap yén dina sababaraha waktos dina sajarah duanana istilah parantos dianggo:

      https://www.landley.net/history/mirror/collate/unix.htm

      sareng jelas buku anu sami anu ditulis dina pertengahan taun 90an.

      Nuhun kana klarifikasi 🙂 salam

      1.    kadua cenahna

        wa, naon hal anu anéh, anjeun parantos ngajantenkeun kuring ragu, kuring parantos ningalian salinan "anu dibeli" Programming C C: Rahasia anu jero sareng aya multik anu datang, éta mangrupikeun kahiji kalina kuring nguping multrics éta. Kumaha panasaran, éta ngingetan sakedik kelinci trix

        1.    ChrisADR cenahna

          hahaha pastina panasaran, kuring mariksa salinan rahasia Inggris kuring, aya ogé anu nyarios Multrics (sabab anjeun ogé parantos nyieun ragu) ... panginten éta mangrupikeun ungkapan jaman 😛

          Wasalam

  7.   ED774 cenahna

    Kontribusi hébat

  8.   henteu aya namina cenahna

    Narikna, sanaos pastina, Multrics disababkeun ku salah cirian, kumargi nami aslina tina sistem operasi éta Multics, sareng Unix, anu tadina disebat Unics, justru ngarujuk kana sistem operasi anu hébat, antukna sareng ku fonétik, Unics janten ngajantenkeun Unix, ayeuna , anjeun ngan ukur kedah nyebatkeun nami anu dianggap panulis Unix; Ken Thompson, legenda nyatakeun yén duanana Thompson sareng Ritchie aya di kantin di Bell Labs anu masihan koméntar kana proyék-proyékna sareng éta Ritchie nyarankeun ka Thomposon yén anjeunna nyerat deui program Unics with C na, basa anu ditulisna ... sareng istirahat, nyaéta sajarah. 😉

    Ku jalan kitu, saacanna sadaya program ditulis ku paréntah mesin, anu ngajantenkeun aranjeunna sadayana gumantung kana pakakas hardware, inovasi C, sajaba ti langkung gampang nyerat program, nyaéta basa éta mandiri tina pakakas anu ngalaksanakeun panyusun, filsafat anu sababaraha taun ka pengker bakal nyandak Java, dina hartos yén programna henteu gumantung kana sistem operasi, nambihan mesin virtual java anu kawéntar.

    1.    ChrisADR cenahna

      Hal anu goréng ngeunaan legenda nyaéta yén aranjeunna nyimpang sajarah, ku sababaraha cara ti hiji ... sareng aranjeunna tiasa ngajantenkeun anjeun panginten aya kajadian nalika henteu ... sapertos kanyataan paguneman anu aya antara Thompson sareng Ritchie (anu kuring leupaskeun sakarepna) sabab éta nyababkeun kasalahan sajarah sareng téknis (C henteu sateuacan UNIX) ...

      Sareng kanggo anu kadua ... legenda anu sanés anu nyimpangkeun kanyataan, ti sateuacan C aya B, A, pascal, Ada, algol-60, PL / 1 sareng sababaraha deui anu leres-leres basa pemrograman (bénten pisan sareng Assembly sareng dialekna ku arsitektur anu gumantung kana hardware prosesorna) janten C henteu "berinovasi" dina pengertian ieu, anjeunna ngan saukur nganggo solusi anu parantos aya dina basa anu sanésna sareng tungtungna janten populér langkung gancang sareng langkung saé tibatan ieu. ... Hiji-hijina bagian Kaleresan nyaéta yén Java didasarkeun kana konsép portabilitas ieu pikeun engké nyiptakeun mesin virtual na, tapi henteu ngan ukur ngandelkeun C pikeun ieu, tapi éta nuturkeun modél anu sanés, upami henteu urang moal ngagaduhan obyék- paradigma program anu berorientasi di jawa ...

      Kuring ngarasa yén kuring kedah netelakeun kaayaan sabab saha waé anu henteu kurang pinter tiasa nganggap hal éta leres teras percaya yén éta kajantenan sapertos kieu ... wasalam

  9.   Ignatius Esquivel cenahna

    Sakumaha biasana, tulisan éta pikaresepeun pisan, hatur nuhun kana sumbangan.