Cuốn sách “Nội bộ Linux. Nội bộ Linux Nội bộ Linux

Trang hiện tại: 1 (cuốn sách có tổng cộng 30 trang) [đoạn đọc có sẵn: 17 trang]

Phường Brian

Nội bộ Linux

Người phiên dịch S. Chernikov

Biên tập viên kỹ thuật N. Grinchik

biên tập văn học O. Andrievich

nghệ sĩ A. Bartsevich, V. Shimkevich

Người soát lỗi T. Kuryanovich, E. Pavlovich

Cách trình bày A. Bartsevich

Phường Brian

Nội bộ Linux. – St. Petersburg: Peter, 2015.

ISBN 978-5-496-01952-1

© Nhà xuất bản LLC "Piter", 2015

Đã đăng ký Bản quyền. Không phần nào của cuốn sách này được phép sao chép dưới mọi hình thức nếu không có sự cho phép bằng văn bản của người giữ bản quyền.

Lời nói đầu

Tôi viết cuốn sách này với niềm tin rằng để thành công và hiệu quả, bạn phải hiểu cách hoạt động và hoạt động của phần mềm máy tính.

Hệ điều hành Linux rất tốt cho việc học tập vì hầu hết cấu hình hệ thống được lưu trữ trong các tệp đơn giản, khá dễ đọc. Bạn chỉ cần tìm ra trách nhiệm của từng bộ phận và sau đó kết hợp mọi thứ lại với nhau. Đây chính là mục đích của cuốn sách này.

Sự quan tâm đến thiết kế của hệ điều hành Linux có thể do nhiều lý do. Các chuyên gia công nghệ thông tin và nhà phát triển phần mềm Linux sẽ tìm thấy trong cuốn sách này hầu như mọi thứ họ cần biết để tận dụng tối đa hệ điều hành. Các nhà nghiên cứu và sinh viên, những người thường phải tùy chỉnh hệ thống cho riêng mình, sẽ tìm thấy ở đây những lời giải thích thực tế về lý do tại sao mọi thứ lại hoạt động như vậy. Ngoài ra còn có những “người giải trí” - những người dùng thích dành thời gian trên máy tính để giải trí, kiếm lợi nhuận hoặc cả hai.

Bạn muốn biết tại sao một số thứ hoạt động còn những thứ khác thì không? Bạn đang tự hỏi điều gì sẽ xảy ra nếu bạn thay đổi điều gì đó? Vậy thì bạn là một trong những “nghệ sĩ giải trí”.

Những điều kiện cần thiết

Bạn không cần phải là một lập trình viên để đọc cuốn sách này. Bạn sẽ chỉ cần những kỹ năng sử dụng máy tính cơ bản: bạn phải điều hướng giao diện đồ họa (khi cài đặt và định cấu hình giao diện hệ thống), cũng như hiểu biết về các tệp và thư mục (thư mục). Bạn cũng nên chuẩn bị sẵn sàng để tìm kiếm tài liệu bổ sung trên hệ thống của mình và trực tuyến. Như đã lưu ý ở trên, điều quan trọng nhất là sự sẵn lòng và mong muốn khám phá máy tính của bạn.

Khi nói đến các môn kỹ thuật, việc truyền tải đầy đủ những kiến ​​thức cần thiết không phải là một việc dễ dàng. Một mặt, người đọc bị sa lầy vào những chi tiết không cần thiết và khó nắm bắt được bản chất, vì đơn giản là tâm trí con người không thể xử lý một số lượng lớn các khái niệm mới cùng một lúc. Mặt khác, việc thiếu chi tiết dẫn đến việc người đọc chỉ nhận được một ý tưởng mơ hồ về chủ đề và chưa sẵn sàng để tiếp thu thêm tài liệu.

Trong cuốn sách này, tôi đã đơn giản hóa cách trình bày và cấu trúc tài liệu. Trong hầu hết các chương, thông tin quan trọng cần thiết cho công việc tiếp theo sẽ được trình bày trước tiên. Khi bạn đọc chương này, bạn sẽ gặp những tài liệu bổ sung trong đó. Bạn có cần phải nắm bắt ngay những chi tiết này không? Trong hầu hết các trường hợp tôi nghĩ là không. Nếu mắt bạn bắt đầu đờ đẫn trước số lượng chi tiết liên quan đến tài liệu bạn vừa học, đừng ngần ngại chuyển sang chương tiếp theo hoặc nghỉ ngơi. Những điều quan trọng khác đang chờ đợi bạn.

Tiếp cận thực tế

Để làm việc, bạn sẽ cần một máy tính có hệ điều hành Linux. Bạn có thể thích cài đặt ảo hơn—Tôi đã sử dụng VirtualBox để kiểm tra hầu hết tài liệu trong cuốn sách này. Bạn phải có quyền truy cập siêu người dùng (root), mặc dù bạn nên sử dụng tài khoản người dùng tiêu chuẩn trong hầu hết thời gian. Bạn sẽ làm việc chủ yếu ở dòng lệnh, cửa sổ đầu cuối hoặc phiên từ xa. Nếu bạn chưa từng làm việc trong môi trường này thường xuyên thì cũng không sao; bạn sẽ tìm hiểu thêm về nó ở Chương 2.

Thông thường các lệnh sẽ có dạng như sau:

Nhập văn bản được tô đậm; Văn bản phản hồi mà máy sẽ tạo ra được hiển thị bằng phông chữ bình thường. Biểu tượng $ là lời nhắc dành cho người dùng có tài khoản thông thường. Nếu bạn nhìn thấy ký hiệu # tại dấu nhắc, bạn nên sử dụng tài khoản superuser (xem thêm về điều này trong Chương 2).

Cuốn sách này được tổ chức như thế nào?

Cuốn sách bắt đầu với phần tổng quan về hệ thống Linux và sau đó cung cấp một loạt bài tập thực hành với các công cụ bạn cần để bắt đầu sử dụng hệ thống. Tiếp theo, bạn sẽ khám phá chi tiết từng phần của hệ thống, từ quản lý phần cứng đến cấu hình mạng, theo thứ tự thông thường khi hệ thống khởi động. Cuối cùng, bạn sẽ hiểu được một số chi tiết của hệ thống làm việc, học một số kỹ năng quan trọng và làm quen với các công cụ mà các lập trình viên sử dụng.

Hầu hết các chương đầu (ngoại trừ Chương 2) tập trung chủ yếu vào nhân Linux, nhưng khi đọc hết cuốn sách, bạn cũng sẽ làm việc trong không gian người dùng của mình. Nếu bạn không hiểu những gì tôi đang nói, đừng lo lắng, lời giải thích sẽ được đưa ra ở Chương 1.

Tài liệu được trình bày bất cứ khi nào có thể mà không cần tham chiếu đến bất kỳ bản phân phối hệ thống nào. Sẽ rất nhàm chán khi mô tả tất cả các biến thể của hệ thống, vì vậy tôi đã cố gắng nói về hai họ phân phối chính: Debian (bao gồm cả Ubuntu) và RHEL/Fedora/CentOS. Sự nhấn mạnh là các phiên bản máy chủ và máy trạm. Các hệ thống nhúng như Android và OpenWRT cũng được trình bày, nhưng việc tìm hiểu sự khác biệt giữa các nền tảng này là việc của bạn.

Có gì mới trong phiên bản thứ hai

Ấn bản đầu tiên của cuốn sách này chủ yếu đề cập đến phía người dùng làm việc trên hệ thống Linux. Trọng tâm chính là thiết kế các bộ phận của nó và cách làm cho chúng hoạt động. Vào thời điểm đó, nhiều thành phần của hệ thống khó cài đặt và cấu hình chính xác.

Nhờ sự làm việc chăm chỉ của các nhà phát triển phần mềm và người tạo bản phân phối Linux, điều này đã thay đổi. Tôi đã xem lại tài liệu của ấn bản đầu tiên về các bản cập nhật, đặc biệt chú ý đến quá trình khởi động của hệ thống và cách nó quản lý phần cứng, đồng thời loại bỏ các tài liệu lỗi thời (chẳng hạn như giải thích chi tiết về quy trình in) để mở rộng cuộc thảo luận về vai trò của Linux. kernel trong mỗi bản phân phối. Bạn có thể tương tác với kernel thường xuyên hơn bạn nhận ra và tôi đã đặc biệt lưu ý những thời điểm điều này xảy ra.

Tôi cũng đã sắp xếp lại cách trình bày cuốn sách cho phù hợp với sở thích và nhu cầu của độc giả ngày nay. Điều duy nhất không thay đổi là độ dài của cuốn sách.

Tôi muốn cung cấp cho bạn thông tin bạn cần để bắt đầu nhanh chóng. Họ sẽ phải nỗ lực để thành thạo, nhưng tôi không có ý định biến bạn thành “vận động viên cử tạ” để bạn có thể vượt qua cuốn sách này. Khi bạn hiểu được những điểm quan trọng được nêu ở đây, bạn sẽ dễ dàng tìm thấy thông tin chi tiết và hiểu chúng.

Tôi đã lược bỏ một số chi tiết lịch sử có trong ấn bản đầu tiên, chủ yếu để bạn chú ý. Nếu bạn quan tâm đến hệ thống Linux và mối quan hệ của nó với lịch sử của hệ thống Unix, hãy xem cuốn sách của Peter H. Salus Daemon, Gnu và Penguin(Reed Media Services, 2008) - Nó nói về phần mềm chúng tôi sử dụng đã phát triển như thế nào.

Lưu ý về thuật ngữ

Hiện nay đang có tranh luận về tên gọi của một số thành phần trong hệ điều hành. Ngay cả tên của hệ thống Linux cũng có liên quan - nó nên được gọi là Linux hay GNU/Linux (để phản ánh việc sử dụng một số thành phần của dự án GNU)? Trong cuốn sách, tôi đã cố gắng sử dụng những cái tên phổ biến nhất và ít rườm rà nhất có thể.

Sự nhìn nhận

Tôi cảm ơn tất cả những người đã giúp tôi hoàn thành ấn bản đầu tiên. Đó là James Duncan, Douglas N. Arnold, Bill Fenner, Ken Hornstein, Scott Dickson, Dan Ehrlich, Felix Lee Felix Lee, Scott Schwartz, Gregory P. Smith, Dan Sully, Karol Jurado và Gina Steele. Đối với ấn bản này, tôi đặc biệt cảm ơn Jordi Gutiérrez Hermoso vì bài đánh giá kỹ thuật xuất sắc của anh ấy; những đề xuất và lời giải thích của ông là vô giá. Cũng xin cảm ơn Dominique Poulain và Donald Karon vì phản hồi nhanh chóng của họ trong giai đoạn đầu của tác phẩm, và cảm ơn Hsinju Hsieh, người đã kiên nhẫn làm việc với tôi để hiệu đính cuốn sách này.

Tôi cũng muốn cảm ơn biên tập viên phát triển của tôi, Bill Pollock, và biên tập viên sản xuất, Laurel Chun. Serena Yang, Alison Law, và tất cả mọi người ở No Starch Press, như mọi khi, đã hoàn thành xuất sắc công việc xuất bản ấn bản mới này của cuốn sách.

Từ nhà xuất bản

Vui lòng gửi ý kiến, đề xuất và câu hỏi của bạn qua email [email được bảo vệ](Nhà xuất bản Peter, ấn bản máy tính).

Chúng tôi muốn nghe ý kiến ​​​​của bạn!

Trên trang web của nhà xuất bản http://www.piter.com bạn sẽ tìm thấy thông tin chi tiết về sách của chúng tôi.

1. Bức tranh lớn

Thoạt nhìn, một hệ điều hành hiện đại, chẳng hạn như Linux, khá phức tạp và bao gồm một số lượng lớn các bộ phận hoạt động và tương tác đồng thời với nhau. Do đó, máy chủ web có thể giao tiếp với máy chủ cơ sở dữ liệu, máy chủ này sử dụng thư viện dùng chung được nhiều chương trình khác sử dụng. Mọi chuyện diễn ra như thế nào?

Bạn có thể hiểu cấu trúc của hệ điều hành một cách hiệu quả nhất bằng cách sử dụng sự trừu tượng là một cách nói gọn gàng rằng bạn bỏ qua hầu hết các chi tiết. Ví dụ, khi bạn lái một chiếc ô tô, bạn thường không phải suy nghĩ về những chi tiết như những bu lông lắp giữ động cơ bên trong ô tô hay những người trải đường và bảo trì nó ở tình trạng tốt. Nếu bạn đang ngồi trên ô tô với tư cách là hành khách, tất cả những gì bạn cần biết là ô tô được thiết kế để làm gì (nó đưa bạn đến một nơi nào đó) và một số quy tắc cơ bản khi sử dụng ô tô (cách xử lý cửa và dây an toàn).

Nếu bạn lái xe, bạn cần phải biết nhiều hơn. Bạn sẽ cần phải làm quen với các nút điều khiển (chẳng hạn như vô lăng và bàn đạp ga) và những việc cần làm trong trường hợp xảy ra trục trặc.

Giả sử ô tô đang chuyển động giật cục. Bạn có thể chia khái niệm trừu tượng về “ô tô lái trên đường” thành ba phần: ô tô, đường và phong cách lái xe của bạn. Điều này sẽ giúp xác định nguyên nhân. Nếu đường gập ghềnh, bạn không cần phải đổ lỗi cho chiếc xe hay chính mình. Thay vào đó, bạn có thể cố gắng tìm hiểu lý do tại sao con đường lại xuống cấp hoặc nếu con đường còn mới thì tại sao những người xây dựng lại làm một công việc tồi tệ như vậy.

Các nhà phát triển phần mềm sử dụng tính trừu tượng như một công cụ khi tạo hệ điều hành và ứng dụng. Có nhiều thuật ngữ dành cho các lĩnh vực trừu tượng của phần mềm máy tính, bao gồm hệ thống con, mô-đuntúi nhựa. Tuy nhiên, trong chương này chúng ta sẽ sử dụng thuật ngữ thành phần bởi vì nó đơn giản. Khi tạo một thành phần phần mềm, các nhà phát triển thường không quan tâm nhiều đến cấu trúc bên trong của các thành phần khác, nhưng họ phải suy nghĩ về những thành phần nào họ có thể sử dụng và cách họ có thể sử dụng chúng.

Chương này cung cấp một cái nhìn tổng quan chung về các thành phần tạo nên một hệ thống Linux. Mặc dù mỗi bộ phận trong số chúng đều có số lượng chi tiết kỹ thuật đáng kinh ngạc liên quan đến cấu trúc bên trong, nhưng chúng tôi sẽ không chú ý đến chúng và tập trung vào chức năng của các thành phần này đối với toàn bộ hệ thống.

1.1. Các mức độ và lớp trừu tượng trong hệ điều hành Linux

Sử dụng sự trừu tượng hóa để chia hệ thống máy tính thành các thành phần làm cho chúng dễ hiểu hơn, nhưng sẽ không có tác dụng nếu không có cấu trúc. Chúng ta sẽ sắp xếp các thành phần thành các lớp hoặc cấp độ. Lớp, hoặc mức độ, là cách phân loại (hoặc nhóm) các thành phần theo vị trí của chúng giữa người dùng và phần cứng. Trình duyệt, trò chơi, v.v. nằm ở lớp trên cùng; ở lớp dưới cùng, chúng ta thấy bộ nhớ của máy tính: số không và số một. Hệ điều hành chiếm số lượng lớp lớn nhất giữa hai lớp này.

Có ba cấp độ chính trong hệ điều hành Linux. Trong bộ lễ phục. Hình 1.1 cho thấy các cấp độ cũng như một số thành phần trong mỗi cấp độ đó. Tại cơ sở được đặt phần cứng. Chúng bao gồm bộ nhớ và một hoặc nhiều bộ xử lý trung tâm (CPU) thực hiện các phép tính và yêu cầu đọc và ghi vào bộ nhớ. Các thiết bị như ổ cứng và giao diện mạng cũng được coi là phần cứng.

Tầng trên nằm ở cốt lõi, là cốt lõi của hệ điều hành. Hạt nhân là một chương trình nằm trong bộ nhớ của máy tính và đưa ra các hướng dẫn cho bộ xử lý trung tâm. Hạt nhân quản lý phần cứng và hoạt động chủ yếu như một giao diện giữa phần cứng và bất kỳ chương trình đang chạy nào.

Các tiến trình—chạy các chương trình được quản lý bởi kernel—gọi chung là cấp cao nhất của hệ thống, được gọi là không gian người dùng.

Ghi chú

Một thuật ngữ chính xác hơn "quy trình" là "quy trình người dùng", bất kể người dùng có tương tác trực tiếp với quy trình đó hay không. Ví dụ: tất cả các máy chủ web đều chạy dưới dạng tiến trình của người dùng.

Có một sự khác biệt quan trọng giữa cách bắt đầu các tiến trình kernel và tiến trình người dùng: kernel được khởi động trong chế độ hạt nhân và quy trình người dùng - trong chế độ người dùng. Mã chạy ở chế độ kernel có quyền truy cập không giới hạn vào bộ xử lý và RAM. Đây là một lợi thế mạnh mẽ nhưng có thể nguy hiểm vì nó cho phép các tiến trình kernel dễ dàng phá vỡ toàn bộ hệ thống. Vùng chỉ có thể truy cập được bởi kernel được gọi là không gian lõi.

Trong chế độ người dùng, để so sánh, chỉ có một lượng bộ nhớ hạn chế (thường nhỏ) và chỉ cho phép các hướng dẫn bộ xử lý an toàn. Không gian người dùng là những vùng RAM mà tiến trình người dùng có thể truy cập được. Nếu một quá trình thất bại, hậu quả sẽ được hạn chế và kernel sẽ có thể dọn sạch nó. Điều này có nghĩa là nếu trình duyệt của bạn gặp sự cố chẳng hạn, các phép tính khoa học mà bạn đã chạy ở chế độ nền trong vài ngày sẽ không bị gián đoạn.

Cơm. 1.1. Cấu trúc chung của hệ điều hành Linux

Về mặt lý thuyết, một quy trình người dùng không được kiểm soát sẽ không có khả năng gây ra tác hại đáng kể cho hệ thống. Nó thực sự phụ thuộc vào những gì bạn cho là "tác hại đáng kể" và các đặc quyền của quy trình, vì một số quy trình được phép thực hiện nhiều hơn những quy trình khác. Ví dụ: quy trình người dùng có thể hủy hoàn toàn dữ liệu trên ổ cứng không? Nếu bạn định cấu hình quyền đúng cách, điều đó có thể xảy ra và sẽ cực kỳ nguy hiểm cho bạn. Có các biện pháp bảo vệ để ngăn chặn điều này và hầu hết các quy trình sẽ không được phép gây ra sự tàn phá theo cách này.

1.2. Phần cứng: RAM

Trong số tất cả phần cứng máy tính ĐẬP có lẽ là quan trọng nhất. Ở dạng thô sơ nhất, RAM chỉ là một kho lưu trữ khổng lồ gồm các chuỗi số 1 và số 0. Mỗi số 0 hoặc một được gọi chút. Đây là nơi chứa kernel và các tiến trình đang chạy - chúng chỉ là những tập hợp lớn các bit. Tất cả dữ liệu đầu vào và đầu ra từ các thiết bị ngoại vi đều truyền qua RAM ở dạng tập hợp bit. CPU chỉ hoạt động trên bộ nhớ: nó đọc hướng dẫn và dữ liệu từ bộ nhớ, sau đó ghi dữ liệu trở lại bộ nhớ.

Bạn sẽ thường xuyên gặp thuật ngữ "tình trạng", sẽ đề cập đến bộ nhớ, quy trình, hạt nhân và các phần khác của hệ thống máy tính. Nói đúng ra, một trạng thái là bất kỳ sự sắp xếp có trật tự nào của các bit. Ví dụ: nếu có bốn bit trong bộ nhớ thì các chuỗi 0110, 0001 và 1011 biểu thị ba trạng thái khác nhau.

Khi bạn cho rằng một quá trình có thể dễ dàng bao gồm hàng triệu bit bộ nhớ, thì việc sử dụng các thuật ngữ trừu tượng khi nói về trạng thái thường dễ dàng hơn. Thay vì mô tả trạng thái bằng bit, bạn nói về những gì đã xảy ra hoặc đang xảy ra vào lúc này. Ví dụ: bạn có thể nói "quy trình này đang chờ đầu vào" hoặc "quy trình đang thực hiện bước thứ hai của quy trình khởi động".

GHI CHÚ

Bởi vì các trạng thái thường được mô tả bằng cách sử dụng các khái niệm trừu tượng thay vì các bit thực tế, nên thuật ngữ "hình ảnh" được sử dụng để chỉ bất kỳ sự sắp xếp vật lý nào của các bit.

1.3. Cốt lõi

Hầu hết mọi thứ mà kernel thực hiện đều liên quan đến RAM. Một trong những công việc của kernel là phân phối bộ nhớ thành nhiều phần con, sau đó kernel phải liên tục duy trì thông tin về trạng thái của các phần con này theo thứ tự. Mỗi tiến trình sử dụng một vùng bộ nhớ được phân bổ cho nó và kernel phải đảm bảo rằng các tiến trình bám sát vào vùng của chúng.

Hạt nhân chịu trách nhiệm quản lý các tác vụ trong bốn lĩnh vực chính của hệ thống.

Quy trình. Hạt nhân chịu trách nhiệm về những tiến trình nào được phép truy cập vào bộ xử lý trung tâm.

Ký ức. Kernel cần theo dõi trạng thái của tất cả bộ nhớ: phần nào hiện được phân bổ cho các quy trình nhất định, phần nào có thể được phân bổ để chia sẻ giữa các quy trình và phần nào là miễn phí.

Trình điều khiển thiết bị. Hạt nhân hoạt động như một giao diện giữa phần cứng (chẳng hạn như ổ cứng) và các tiến trình. Thông thường, việc quản lý phần cứng được thực hiện bởi kernel.

Cuộc gọi hệ thốngủng hộ. Các tiến trình thường sử dụng lệnh gọi hệ thống để giao tiếp với kernel.

Bây giờ chúng ta sẽ xem xét ngắn gọn từng lĩnh vực này.

GHI CHÚ

Để biết thêm thông tin về cách thức hoạt động của hạt nhân, hãy xem Các khái niệm hệ điều hành, tái bản lần thứ 9, của Abraham Silberschatz, Peter B. Galvin và Greg Gann. Gagne (Wiley, 2012) và Hệ điều hành hiện đại, tái bản lần thứ 4 của Andrew S. Tanenbaum và Herbert Bos (Prentice Hall, 2014).

1.3.1. Quản lý quy trình

Quản lý quy trình mô tả việc bắt đầu, dừng, tiếp tục và kết thúc các quá trình. Các khái niệm đằng sau quá trình bắt đầu và dừng khá đơn giản. Sẽ khó hơn một chút để mô tả cách một tiến trình sử dụng CPU trong quá trình hoạt động bình thường.

Trong bất kỳ hệ điều hành hiện đại nào, một số quy trình hoạt động "đồng thời". Ví dụ: bạn có thể khởi chạy trình duyệt trên máy tính và mở bảng tính cùng lúc. Tuy nhiên, trên thực tế, mọi thứ không như vẻ ngoài của chúng: các quy trình chịu trách nhiệm cho các ứng dụng này thường không khởi động. V.sự chính xác tại một thời điểm

Hãy xem xét một hệ thống có một bộ xử lý trung tâm. Nhiều quy trình có thể sử dụng bộ xử lý, nhưng tại bất kỳ thời điểm nào chỉ có một quy trình thực sự có thể sử dụng bộ xử lý. Trong thực tế, mỗi tiến trình sử dụng CPU trong một phần nhỏ giây rồi tạm dừng; sau đó, một quy trình khác sử dụng bộ xử lý trong một phần nhỏ giây; sau đó đến lượt quy trình thứ ba, v.v. Hành động trong đó một quy trình chuyển quyền điều khiển của bộ xử lý sang quy trình khác được gọi là chuyển đổi ngữ cảnh.

Mỗi khoảng thời gian lượng tử thời gian– cho quá trình đủ thời gian để thực hiện tính toán quan trọng (và tất nhiên, quá trình thường hoàn thành nhiệm vụ hiện tại của nó trong một lượng tử). Vì các lát thời gian quá nhỏ nên một người không nhận thức được chúng và đối với anh ta dường như có nhiều tiến trình đang chạy đồng thời trong hệ thống (khả năng này được gọi là "đa nhiệm").

Hạt nhân chịu trách nhiệm chuyển đổi ngữ cảnh. Để hiểu cách thức hoạt động của điều này, hãy tưởng tượng một tình huống trong đó một tiến trình đang chạy ở chế độ người dùng nhưng phần thời gian của nó sắp hết. Đây là những gì sẽ xảy ra.

1. Bộ xử lý (phần cứng thực) làm gián đoạn quá trình hiện tại bằng cách sử dụng bộ hẹn giờ bên trong, chuyển sang chế độ kernel và trả lại quyền điều khiển cho nó.

2. Kernel ghi lại trạng thái hiện tại của bộ xử lý và bộ nhớ, những thông tin cần thiết để tiếp tục quá trình vừa bị gián đoạn.

3. Hạt nhân thực hiện bất kỳ tác vụ nào có thể đã xuất hiện trong lát thời gian trước đó (ví dụ: thu thập dữ liệu hoặc thao tác I/O).

4. Kernel bây giờ đã sẵn sàng để bắt đầu một tiến trình khác. Nó phân tích danh sách các tiến trình sẵn sàng chạy và chọn một trong số chúng.

5. Kernel chuẩn bị bộ nhớ cho tiến trình mới và sau đó chuẩn bị bộ xử lý.

6. Hạt nhân cho bộ xử lý biết khoảng thời gian dành cho quy trình mới sẽ kéo dài bao lâu.

7. Hạt nhân đặt bộ xử lý vào chế độ người dùng và chuyển quyền điều khiển cho bộ xử lý.

Chuyển ngữ cảnh trả lời một câu hỏi quan trọng: Khi kernel có chạy không? Câu trả lời là: kernel đang hoạt động giữa các lát thời gian được phân bổ cho các tiến trình khi xảy ra chuyển đổi ngữ cảnh.

Trên một hệ thống có nhiều bộ xử lý, mọi thứ phức tạp hơn một chút, vì kernel không cần ngừng điều khiển bộ xử lý hiện tại để cho phép một số tiến trình chạy trên bộ xử lý khác. Chưa hết, để tận dụng tối đa tất cả các bộ xử lý có sẵn, kernel vẫn thực hiện điều này (và có thể sử dụng một số thủ thuật nhất định để có thêm thời gian xử lý).

1.3.2. Quản lý bộ nhớ

Bởi vì kernel phải quản lý bộ nhớ trong quá trình chuyển đổi ngữ cảnh nên nó được trang bị chức năng phức tạp này. Hoạt động của kernel rất phức tạp vì phải tính đến các điều kiện sau:

Hạt nhân phải có vùng bộ nhớ riêng mà tiến trình người dùng không thể truy cập được;

Mỗi tiến trình người dùng cần có vùng nhớ riêng;

Bất kỳ tiến trình người dùng nào cũng không được có quyền truy cập vào bộ nhớ được cấp phát cho một tiến trình khác;

Tiến trình người dùng có thể chia sẻ bộ nhớ;

Một số bộ nhớ dành cho tiến trình của người dùng có thể ở chế độ chỉ đọc;

Hệ thống có thể sử dụng nhiều bộ nhớ hơn mức có sẵn bằng cách sử dụng dung lượng ổ đĩa làm thiết bị phụ trợ.

Hạt nhân có một người trợ giúp. Bộ xử lý hiện đại chứa mô-đun quản lý bộ nhớ(MMU), kích hoạt mạch truy cập bộ nhớ được gọi là "bộ nhớ ảo". Khi sử dụng bộ nhớ ảo, một tiến trình không truy cập bộ nhớ trực tiếp từ vị trí vật lý của nó trong phần cứng. Thay vào đó, kernel cấu hình từng tiến trình như thể nó có quyền kiểm soát toàn bộ máy. Khi một quy trình truy cập bộ nhớ, MMU sẽ chặn yêu cầu và sử dụng bản đồ địa chỉ bộ nhớ để dịch vị trí bộ nhớ đã học được từ quy trình sang vị trí bộ nhớ vật lý trên máy tính. Tuy nhiên, kernel vẫn phải khởi tạo, liên tục duy trì và sửa đổi bản đồ địa chỉ này. Ví dụ: trong quá trình chuyển đổi ngữ cảnh, kernel phải thay đổi bản đồ sau quá trình khởi hành và chuẩn bị cho quá trình sắp tới.

Ghi chú

Việc thực hiện bản đồ địa chỉ bộ nhớ được gọi là bảng trang.

Bạn sẽ học cách giám sát hiệu suất bộ nhớ trong Chương 8.

1.3.3. Trình điều khiển và quản lý thiết bị

Công việc của kernel đối với các thiết bị khá đơn giản. Thông thường, các thiết bị chỉ có thể truy cập được ở chế độ kernel, vì việc truy cập không chính xác (ví dụ: khi quá trình người dùng cố gắng tắt nguồn) có thể khiến máy tính gặp sự cố. Một vấn đề khác là các thiết bị khác nhau hiếm khi có giao diện phần mềm giống nhau, ngay cả khi chúng thực hiện cùng một tác vụ: chẳng hạn như hai card mạng khác nhau. Vì lý do này, trình điều khiển thiết bị theo truyền thống là một phần của kernel và cố gắng cung cấp giao diện thống nhất cho các quy trình của người dùng để giúp công việc của các nhà phát triển phần mềm trở nên dễ dàng hơn.

1.3.4. Cuộc gọi và hỗ trợ hệ thống

Có nhiều loại hàm kernel khác có sẵn cho tiến trình người dùng. Ví dụ, cuộc gọi hệ thống thực hiện các tác vụ đặc biệt mà quy trình người dùng không thể thực hiện tốt hoặc hoàn toàn không thể tự thực hiện được. Do đó, tất cả các hành động liên quan đến mở, đọc và ghi tệp đều liên quan đến các lệnh gọi hệ thống.

Hai lệnh gọi hệ thống, fork() và exec(), rất quan trọng để hiểu cách bắt đầu các quy trình:

Cái nĩa(). Khi một tiến trình gọi fork(), kernel sẽ tạo một bản sao gần như giống hệt của tiến trình đó;

Thực thi(). Khi một tiến trình gọi exec( chương trình), kernel chạy chương trình chương trình, thay thế quy trình hiện tại.

Ngoại trừ quá trình init (Chương 6), Tất cả các quy trình của người dùng trên hệ thống Linux bắt đầu do kết quả của lệnh gọi fork() và trong hầu hết các trường hợp, lệnh gọi exec() được thực hiện để bắt đầu một chương trình mới thay vì bản sao của quy trình hiện có. Một ví dụ đơn giản là bất kỳ chương trình nào bạn chạy từ dòng lệnh, chẳng hạn như lệnh ls hiển thị nội dung của một thư mục. Khi bạn nhập lệnh ls trong cửa sổ terminal, shell chạy bên trong cửa sổ terminal sẽ gọi fork() để tạo một bản sao của shell, sau đó bản sao mới đó của shell sẽ gọi exec(ls) để chạy lệnh ls. Trong bộ lễ phục. Hình 1.2 cho thấy trình tự các tiến trình và lệnh gọi hệ thống để chạy các chương trình như ls.

Cơm. 1.2. Bắt đầu một quy trình mới

GHI CHÚ

Các cuộc gọi hệ thống thường được biểu thị bằng dấu ngoặc đơn. Trong ví dụ được hiển thị trong Hình. 1.2, một tiến trình yêu cầu kernel tạo một tiến trình khác phải đưa ra lệnh gọi hệ thống fork(). Ký hiệu này xuất phát từ cách các lệnh gọi được viết bằng ngôn ngữ lập trình C. Bạn không cần phải biết C để hiểu cuốn sách này. Chỉ cần nhớ rằng lệnh gọi hệ thống là sự tương tác giữa một tiến trình và kernel. Hơn nữa, cuốn sách này đơn giản hóa một số nhóm lệnh gọi hệ thống. Ví dụ: lệnh gọi exec() biểu thị toàn bộ nhóm lệnh gọi hệ thống thực hiện một tác vụ tương tự nhưng khác nhau trong cách triển khai phần mềm của chúng.

Kernel cũng hỗ trợ các tiến trình của người dùng có chức năng khác với các lệnh gọi hệ thống truyền thống. Nổi tiếng nhất trong số đó là thiết bị giả. Từ quan điểm của quy trình người dùng, các thiết bị giả trông giống như các thiết bị thông thường nhưng chúng được triển khai hoàn toàn bằng phần mềm. Trên thực tế, chúng không nên có mặt chính thức trong kernel, nhưng chúng vẫn hiện diện trong đó vì những lý do thực tế. Ví dụ: một thiết bị tạo số ngẫu nhiên (/dev/random) sẽ khó triển khai với mức độ bảo mật cần thiết bằng quy trình người dùng.

ghi chú

Về mặt kỹ thuật, quy trình người dùng truy cập thiết bị giả vẫn buộc phải thực hiện lệnh gọi hệ thống để mở thiết bị đó. Vì vậy, các tiến trình không thể tránh hoàn toàn các cuộc gọi hệ thống.

1.4. Không gian người dùng

Vùng RAM mà kernel phân bổ cho các tiến trình của người dùng được gọi là không gian người dùng. Vì một tiến trình chỉ là một trạng thái (hoặc hình ảnh) trong bộ nhớ nên không gian người dùng cũng truy cập vào bộ nhớ của toàn bộ tập hợp các tiến trình đang chạy. Bạn cũng có thể gặp thuật ngữ "đất người dùng", được sử dụng thay vì không gian người dùng.

Hầu hết hành động thực sự của hệ thống Linux xảy ra trong không gian người dùng. Mặc dù tất cả các tiến trình đều giống nhau theo quan điểm của kernel, nhưng chúng thực hiện các nhiệm vụ khác nhau cho người dùng. Các thành phần hệ thống đại diện cho các quy trình của người dùng được tổ chức thành cấu trúc cơ bản - lớp (hoặc lớp) dịch vụ. Trong bộ lễ phục. Hình 1.3 cho thấy một tập hợp gần đúng các thành phần được kết nối và tương tác với hệ thống Linux. Các dịch vụ đơn giản được đặt ở cấp dưới cùng (gần kernel nhất), các chương trình tiện ích ở giữa và các ứng dụng mà người dùng làm việc cùng được đặt ở trên cùng. Hình 1.3 là một sơ đồ cực kỳ đơn giản khi chỉ hiển thị sáu thành phần, nhưng bạn có thể nhận thấy rằng các thành phần trên cùng gần gũi nhất với người dùng (giao diện người dùng và trình duyệt); các thành phần tầng giữa có máy chủ thư sử dụng trình duyệt; Có một số thành phần nhỏ hiện diện ở phía dưới.

Cấp độ thấp hơn thường bao gồm các thành phần nhỏ thực hiện các nhiệm vụ đơn giản. Tầng giữa chứa các thành phần lớn hơn như dịch vụ thư, máy chủ in và cơ sở dữ liệu. Các thành phần cấp cao nhất thực hiện các tác vụ phức tạp thường do người dùng trực tiếp kiểm soát. Nếu một thành phần muốn sử dụng thành phần khác thì thành phần thứ hai đó có cùng cấp độ dịch vụ hoặc thấp hơn.

Hình 1.3 chỉ mô tả sơ bộ bố cục không gian người dùng. Trên thực tế, không có quy tắc nào trong không gian người dùng. Ví dụ: hầu hết các ứng dụng và dịch vụ đều ghi lại các thông báo chẩn đoán được gọi là tạp chí thời sự. Hầu hết các chương trình sử dụng dịch vụ nhật ký hệ thống tiêu chuẩn để ghi nhật ký tin nhắn, nhưng một số chương trình chọn tự ghi nhật ký.

Cơm. 1.3. Các loại quy trình và tương tác

Ngoài ra, một số thành phần không gian người dùng có thể khó phân loại. Các thành phần phía máy chủ, chẳng hạn như máy chủ web hoặc máy chủ cơ sở dữ liệu, có thể được coi là các ứng dụng cấp rất cao vì chúng thực hiện các tác vụ khá phức tạp. Các ứng dụng như vậy có thể được đặt ở đầu hình. 1.3. Đồng thời, các ứng dụng của người dùng có thể phụ thuộc vào các ứng dụng máy chủ để thực hiện các tác vụ mà chúng không thể tự xử lý được. Trong trường hợp này, các thành phần máy chủ nên được đặt ở mức trung bình.

1.5. Người dùng

Nhân Linux hỗ trợ khái niệm truyền thống về người dùng hệ thống Unix. Người dùng là một thực thể có thể chạy các tiến trình và sở hữu các tập tin. Liên kết với người dùng tên tài khoản. Ví dụ: hệ thống có thể có một người dùng tên là billyjoe. Tuy nhiên, kernel không hoạt động với tên người dùng, thay vào đó nó xác định người dùng bằng một dãy số đơn giản. tên người dùng(Chương 7 nói về cách ánh xạ ID tới tên người dùng).

Chúng tôi đang tuyển dụng một nhóm phát hành cho trình theo dõi của mình .
Thanh toán có thể thương lượng.
Đơn đăng ký được chấp nhận qua thư trang [email protected], có thể thông qua phản hồi
Vui lòng cho chúng tôi biết ngắn gọn về bản thân bạn, bạn có thể dành bao nhiêu thời gian cho trang web của chúng tôi và thu nhập dự kiến ​​của bạn.

Bandicam cho phép bạn ghi lại một khu vực cụ thể trên màn hình PC hoặc trong chương trình sử dụng công nghệ đồ họa DirectX/OpenGL. Bandicam giúp bạn quay video có độ nén cao....


Mô tả:Wondershare Filmora là trình chỉnh sửa video tiện lợi chứa tất cả các công cụ cần thiết để chỉnh sửa video. Bạn có thể tạo phim chất lượng cao với tiêu đề, ...


EmEditor chuyên nghiệp- phiên bản chuyên nghiệp của trình soạn thảo văn bản mạnh mẽ dành cho lập trình viên, nhà phát triển web và người dùng thông thường với tính năng tô sáng cú pháp và hỗ trợ Unicode. Biên tập viên có...

Phục hồi trình điều khiển là một ứng dụng sẽ quét hệ thống của bạn để tìm các trình điều khiển lỗi thời và đề nghị cập nhật chúng. Quá trình quét được thực hiện dựa trên một trong những cơ sở dữ liệu trình điều khiển lớn nhất, đảm bảo...


Ứng dụng trò chuyện- một chương trình miễn phí để liên lạc bằng văn bản, giọng nói và video với bạn bè trên khắp thế giới. Mạng Skype sử dụng công nghệ P2P để kết nối với những người dùng khác và có chất lượng cao....


Bandizip là một chương trình nhanh chóng và đáng tin cậy hỗ trợ làm việc với các định dạng WinZip, 7-Zip và WinRAR cũng như các kho lưu trữ tương tự khác. Nó sử dụng thuật toán nén và giải nén rất nhanh....

Opera là một trình duyệt Chrome mới của Opera Software. Opera đã từ bỏ trình duyệt cổ điển của mình và hiện đang phát triển một trình duyệt mới dựa trên dự án Chrome của Google....

Mô tả: Một chương trình làm việc với các tài liệu PDF cung cấp một tập hợp các công cụ và tiện ích để sửa đổi và tối ưu hóa các tệp PDF cũng như nội dung của chúng. Nhờ vào...


Snappy Driver Installer (SDI) là một chương trình di động để cài đặt và cập nhật trình điều khiển không yêu cầu kết nối Internet. Đây là bản làm lại của chương trình SDIO gốc của Glenn Delahoy....

Hành động Mirillis! - chương trình cho phép bạn ghi lại hình ảnh màn hình trong thời gian thực thành các tệp video ở nhiều định dạng khác nhau. Bạn có thể quay video trình phát web, chơi trò chơi, chèn bình luận âm thanh trực tiếp....

Nội bộ Linux Phường Brian

(Chưa có xếp hạng)

Tiêu đề: Nội bộ Linux

Giới thiệu về cuốn sách Nội bộ Linux của Brian Ward

Hệ điều hành Linux là một sự thay thế xứng đáng cho Windows, một số phiên bản không tiện lợi lắm và quá “nặng” về tài nguyên máy tính. Brian Ward đã viết một cuốn sách self-help tuyệt vời phù hợp cho bất kỳ ai muốn làm quen với hệ thống này và các khả năng phong phú của nó gần như từ đầu. Nên đọc cuốn sách “Nội bộ Linux” dành cho những ai muốn tìm hiểu sâu hơn về tất cả các cơ chế của nhân Linux, hiểu cấu trúc và triết lý bên trong của nó. Công việc này không phù hợp cho việc nghiên cứu hời hợt về nguyên lý hoạt động và chuyển giao các sơ đồ mẫu từ hệ điều hành này sang hệ điều hành khác.

Cuốn sách này sẽ được nhiều độc giả quan tâm - cả các nhà khoa học máy tính và những người mới bắt đầu. Bạn không cần phải là một chuyên gia lập trình để đọc tác phẩm này, chỉ cần những kỹ năng máy tính cơ bản. Nếu bạn hiểu giao diện đồ họa của hệ điều hành là gì và biết cách làm việc với các thư mục, thư mục thì bạn sẽ hiểu được cuốn sách này.

Tác phẩm máy tính “Linux Internals” rất chi tiết và được chia thành 17 chương. Trong bốn phần đầu tiên, tác giả nói về các khái niệm chung của hệ thống này và nguyên lý hoạt động của nó: cấu trúc của kernel và shell, các lệnh cơ bản và cấu trúc thư mục cũng như chức năng của hệ thống tệp và đĩa. Tiếp theo là thông tin thêm về cách bắt đầu với hệ thống này: cách tải nhân Linux và khởi động không gian người dùng. Các chương tiếp theo sẽ nghiên cứu sâu hơn về quy trình làm việc và cách sử dụng tài nguyên của Linux. Ngoài ra, Brian Ward còn đề cập đến các vấn đề về lập trình shell script và làm việc với ngôn ngữ C. Từ tài liệu tổng quát, tác giả dần dần đi sâu hơn vào các chi tiết mà các nhà phát triển phần mềm quan tâm.

Cuốn sách không chỉ là cái nhìn tổng quan về hệ thống Linux mà còn bao gồm các nhiệm vụ thực tế cho phép người đọc tạo không gian người dùng của riêng mình và thu được các kỹ năng làm việc trong shell này.

Brian Ward trình bày tài liệu bằng ngôn ngữ dễ tiếp cận với nhiều ví dụ và giải thích. Cuốn sách có cấu trúc tốt và có thể được sử dụng như một cuốn sách tham khảo. Tác giả xác nhận rằng Linux shell tiện lợi và đầy đủ chức năng, đồng thời tiết lộ các khả năng về cách bạn có thể điều chỉnh nó theo nhu cầu của mình. Đối với những người quan tâm đến cấu trúc của một số chương trình nhất định, cuốn sách này sẽ là một phát hiện tuyệt vời vì nó tiết lộ các cơ chế của các quy trình máy tính và chứng minh mối quan hệ nhân quả giữa chúng.

Trên trang web về sách của chúng tôi, bạn có thể tải xuống trang này miễn phí mà không cần đăng ký hoặc đọc trực tuyến cuốn sách “Linux Internals” của Brian Ward ở các định dạng epub, fb2, txt, rtf, pdf cho iPad, iPhone, Android và Kindle. Cuốn sách sẽ mang đến cho bạn nhiều giây phút thú vị và niềm vui thực sự khi đọc sách. Bạn có thể mua phiên bản đầy đủ từ đối tác của chúng tôi. Ngoài ra, tại đây bạn sẽ tìm thấy những tin tức mới nhất từ ​​thế giới văn học, tìm hiểu tiểu sử của các tác giả bạn yêu thích. Đối với những người mới bắt đầu viết văn, có một phần riêng với những mẹo và thủ thuật hữu ích, những bài viết thú vị, nhờ đó bản thân bạn có thể thử sức mình với nghề văn chương.

Tải xuống cuốn sách miễn phí “Nội bộ Linux” của Brian Ward

Ở định dạng fb2: Tải xuống
Ở định dạng rtf: Tải xuống
Ở định dạng epub: Tải xuống
Ở định dạng txt:

Chúng tôi đã xuất bản một cuốn sách của Brian Ward, cuốn sách đã trở thành sách bán chạy nhất ở phương Tây. Nó mô tả tất cả những điều phức tạp khi làm việc với hệ điều hành Linux, quản trị hệ thống và các cơ chế sâu cung cấp chức năng Linux cấp thấp. Trên các trang của ấn phẩm này, bạn sẽ có được kiến ​​thức cơ bản về cách làm việc với nhân Linux và các nguyên tắc hoạt động đúng đắn của mạng máy tính. Cuốn sách cũng đề cập đến các vấn đề về lập trình tập lệnh shell và xử lý ngôn ngữ C, bao gồm các chủ đề về bảo mật thông tin, ảo hóa và những thứ không thể thay thế khác.

Ai nên đọc sách

Sự quan tâm đến thiết kế của hệ điều hành Linux có thể do nhiều lý do. Các chuyên gia công nghệ thông tin và nhà phát triển phần mềm Linux sẽ tìm thấy trong cuốn sách này hầu như mọi thứ họ cần biết để tận dụng tối đa hệ điều hành. Các nhà nghiên cứu và sinh viên, những người thường phải tùy chỉnh hệ thống cho riêng mình, sẽ tìm thấy ở đây những lời giải thích thực tế về lý do tại sao mọi thứ lại hoạt động như vậy. Ngoài ra còn có những “người giải trí” - những người dùng thích dành thời gian trên máy tính để giải trí, kiếm lợi nhuận hoặc cả hai. Bạn muốn biết tại sao một số thứ hoạt động còn những thứ khác thì không? Bạn đang tự hỏi điều gì sẽ xảy ra nếu bạn thay đổi điều gì đó? Vậy thì bạn là một trong những “nghệ sĩ giải trí”.

Những điều kiện cần thiết

Bạn không cần phải là một lập trình viên để đọc cuốn sách này. Bạn sẽ chỉ cần những kỹ năng sử dụng máy tính cơ bản: bạn phải điều hướng giao diện đồ họa (khi cài đặt và định cấu hình giao diện hệ thống), cũng như hiểu biết về các tệp và thư mục (thư mục). Bạn cũng nên chuẩn bị sẵn sàng để tìm kiếm tài liệu bổ sung trên hệ thống của mình và trực tuyến. Như đã lưu ý ở trên, điều quan trọng nhất là sự sẵn lòng và mong muốn khám phá máy tính của bạn.

Cách đọc một cuốn sách

Khi nói đến các chủ đề kỹ thuật, việc truyền tải đầy đủ những kiến ​​thức cần thiết không phải là một việc dễ dàng. Một mặt, người đọc bị sa lầy vào những chi tiết không cần thiết và khó nắm bắt được bản chất, vì đơn giản là tâm trí con người không thể xử lý một số lượng lớn các khái niệm mới cùng một lúc. Mặt khác, việc thiếu chi tiết dẫn đến việc người đọc chỉ nhận được một ý tưởng mơ hồ về chủ đề và chưa sẵn sàng để tiếp thu thêm tài liệu.

Trong cuốn sách này, tác giả đã đơn giản hóa cách trình bày và cấu trúc tài liệu. Trong hầu hết các chương, thông tin quan trọng cần thiết cho công việc tiếp theo sẽ được trình bày trước tiên. Khi bạn đọc chương này, bạn sẽ gặp những tài liệu bổ sung trong đó. Bạn có cần phải nắm bắt ngay những chi tiết này không? Trong hầu hết các trường hợp, tác giả tin là không. Nếu mắt bạn bắt đầu đờ đẫn trước số lượng chi tiết liên quan đến tài liệu bạn vừa học, đừng ngần ngại chuyển sang chương tiếp theo hoặc nghỉ ngơi. Những điều quan trọng khác đang chờ đợi bạn.

Cuốn sách này được tổ chức như thế nào?

Cuốn sách bắt đầu với phần tổng quan về hệ thống Linux và sau đó cung cấp một loạt bài tập thực hành với các công cụ bạn cần để bắt đầu sử dụng hệ thống. Tiếp theo, bạn sẽ khám phá chi tiết từng phần của hệ thống, từ quản lý phần cứng đến cấu hình mạng, theo thứ tự thông thường khi hệ thống khởi động. Cuối cùng, bạn sẽ hiểu được một số chi tiết của hệ thống làm việc, học một số kỹ năng quan trọng và làm quen với các công cụ mà các lập trình viên sử dụng.

Hầu hết các chương đầu (ngoại trừ Chương 2) tập trung chủ yếu vào nhân Linux, nhưng khi đọc hết cuốn sách, bạn cũng sẽ làm việc trong không gian người dùng của mình. Nếu bây giờ bạn không hiểu tác giả đang nói về điều gì, đừng lo lắng, lời giải thích sẽ được đưa ra trong Chương 1. Tài liệu được trình bày, bất cứ khi nào có thể, mà không tham chiếu đến bất kỳ bản phân phối hệ thống nào. Sẽ rất nhàm chán nếu mô tả tất cả các biến thể của hệ thống, vì vậy Ward đã cố gắng nói về hai họ phân phối chính: Debian (bao gồm cả Ubuntu) và RHEL/Fedora/CentOS. Sự nhấn mạnh là các phiên bản máy chủ và máy trạm. Các hệ thống nhúng như Android và OpenWRT cũng được trình bày, nhưng việc tìm hiểu sự khác biệt giữa các nền tảng này là việc của bạn.

Có gì mới trong phiên bản thứ hai

Ấn bản đầu tiên của cuốn sách này chủ yếu đề cập đến phía người dùng làm việc trên hệ thống Linux. Trọng tâm chính là thiết kế các bộ phận của nó và cách làm cho chúng hoạt động. Vào thời điểm đó, nhiều thành phần của hệ thống khó cài đặt và cấu hình chính xác.

Nhờ sự làm việc chăm chỉ của các nhà phát triển phần mềm và người tạo bản phân phối Linux, điều này đã thay đổi. Ward đã sửa lại tài liệu của phiên bản đầu tiên để cập nhật, đặc biệt chú ý đến quá trình khởi động của hệ thống và cách nó quản lý phần cứng, đồng thời loại bỏ các tài liệu lỗi thời (chẳng hạn như giải thích chi tiết về quy trình in) để mở rộng cuộc thảo luận về vai trò của nhân Linux trong mỗi lần phân phối. Bạn có thể tương tác với kernel thường xuyên hơn bạn nhận ra và tác giả đã lưu ý cụ thể những thời điểm điều này xảy ra.

Ward cũng sắp xếp lại cách trình bày cuốn sách cho phù hợp với sở thích và nhu cầu của độc giả hiện đại. Điều duy nhất không thay đổi là độ dài của cuốn sách.

Tác giả muốn cung cấp cho bạn thông tin bạn cần để bắt đầu nhanh chóng. Họ sẽ phải nỗ lực một chút để thành thạo, nhưng Ward không có ý định biến bạn thành "vận động viên cử tạ" để bạn có thể vượt qua cuốn sách này. Khi bạn hiểu được những điểm quan trọng được nêu ở đây, bạn sẽ dễ dàng tìm thấy thông tin chi tiết và hiểu chúng.

Tác giả đã lược bỏ một số chi tiết lịch sử có trong lần xuất bản đầu tiên, chủ yếu để các bạn chú ý. Nếu bạn quan tâm đến hệ thống Linux và mối quan hệ của nó với lịch sử của hệ thống Unix, hãy xem cuốn sách The Daemon, the Gnu và Penguin của Peter H. Salus (Reed Media Services, 2008) - nó cho biết phần mềm của chúng ta được sử dụng như thế nào.

Thông tin chi tiết về cuốn sách có thể xem tại

Cuốn sách của Brian Ward, cuốn sách đã trở thành sách bán chạy nhất ở phương Tây. Nó mô tả tất cả những điều phức tạp khi làm việc với HĐH Linux, quản trị hệ thống và các cơ chế sâu cung cấp chức năng Linux cấp thấp. Trên các trang của sách hướng dẫn, bạn sẽ có được kiến ​​thức cơ bản về cách làm việc với nhân Linux và các nguyên tắc hoạt động đúng đắn của mạng máy tính, không chỉ dựa trên các giải pháp Nguồn mở. Cuốn sách cũng đề cập đến các vấn đề về lập trình tập lệnh và xử lý ngôn ngữ C, bao gồm các chủ đề về bảo mật thông tin, ảo hóa và những thứ không thể thay thế khác.
Ai nên đọc sách:
Sự quan tâm đến thiết kế của hệ điều hành Linux có thể do nhiều lý do. Các chuyên gia công nghệ thông tin và nhà phát triển phần mềm Linux sẽ tìm thấy trong cuốn sách này hầu như mọi thứ họ cần biết để tận dụng tối đa hệ điều hành. Các nhà nghiên cứu và sinh viên, những người thường phải tùy chỉnh hệ thống cho riêng mình, sẽ tìm thấy ở đây những lời giải thích thực tế về lý do tại sao mọi thứ lại hoạt động như vậy. Ngoài ra còn có những “người giải trí” - những người dùng thích dành thời gian trên máy tính để giải trí, kiếm lợi nhuận hoặc cả hai. Bạn muốn biết tại sao một số thứ hoạt động còn những thứ khác thì không? Bạn đang tự hỏi điều gì sẽ xảy ra nếu bạn thay đổi điều gì đó? Vậy thì bạn là một trong những “nghệ sĩ giải trí”.
Các điều kiện cần thiết:
Bạn không cần phải là một lập trình viên để đọc cuốn sách này. Chỉ yêu cầu các kỹ năng cơ bản của người dùng PC: bạn phải điều hướng giao diện đồ họa (khi cài đặt và định cấu hình giao diện hệ thống), cũng như hiểu biết về các tệp và thư mục (thư mục). Bạn cũng nên chuẩn bị tìm kiếm trên Internet để có thêm tài liệu. Điều chính là sự sẵn lòng và mong muốn khám phá máy tính của bạn.

Tiêu đề: Nội bộ Linux
Tác giả: Brian Ward
Nhà xuất bản: Peter
Năm: 2016
Định dạng: PDF, FB2, EPUB
Ngôn ngữ Nga
Trang: 384
Kích thước: 12,9 MB

Nội bộ Linux / Brian Ward / 2016. Tải xuống miễn phí mà không cần đăng ký

2016-07-24T17:16:55+00:00 quản trị viênSự quản lý Hướng dẫn văn học Linux, Quản trị, Bảo mật, Brian Ward, Sách, Văn học, Sổ tay, Quản trị hệ thống, kịch bản, Tham khảo lệnh

Cuốn sách của Brian Ward, cuốn sách đã trở thành sách bán chạy nhất ở phương Tây. Nó mô tả tất cả những điều phức tạp khi làm việc với HĐH Linux, quản trị hệ thống và các cơ chế sâu cung cấp chức năng Linux cấp thấp. Trên các trang của sách hướng dẫn, bạn sẽ có được kiến ​​thức cơ bản về cách làm việc với nhân Linux và các nguyên tắc hoạt động đúng đắn của mạng máy tính, không chỉ dựa trên các giải pháp Nguồn mở. TRONG...

[email được bảo vệ] Hướng dẫn quản trị LINUX