Linux systems programming robert love

Linux, системное программирование, Лав Р., 2014

Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME. Эта книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как писать более быстрый и умный код. Роберт Лав четко разграничивает стандартные функции POSIX и специальные службы, которые предлагаются лишь в Linux. Во втором издании вы изучите эту операционную систему как с теоретической, так и с прикладной точки зрения.

Предисловие.

Есть старая шутка, что разработчики ядра Linux, рассердившись, могут в сердцах бросить: «Все ваше пользовательское пространство — просто тестовая нагрузка для ядра!» Говоря такое, разработчики просто пытаются умыть руки и снять с себя ответственность за любые случаи, в которых ядру не удается обеспечивать максимально эффективную работу пользовательского кода. По мнению создателей ядра, программистам, работающим в пользовательском пространстве, следует просто посторониться и исправлять собственный код, ведь проблемы могут объясняться чем угодно, но не недостатками ядра. Уже более трех лет назад один из ведущих разработчиков ядра Linux прочитал лекцию под названием «Почему пользовательское пространство — ерунда». Целью лекции было доказать, что обычно корень проблем лежит не в ядре. Выступив перед переполненной аудиторией, этот специалист привел примеры отвратительного пользовательского кода, на который практически всем пользователям Linux приходится полагаться ежедневно. Другие разработчики ядра создали специальные инструменты, демонстрирующие, как сильно пользовательские программы могут злоупотреблять оборудованием и растрачивать заряд ничего не подозревающего ноутбука.

Краткое содержание.

Предисловие.
Вступление.
Благодарности.
От издательства.
Глава 1. Введение и основополагающие концепции.
Глава 2. Файловый ввод-вывод.
Глава 3. Буферизованный ввод-вывод.
Глава 4. Расширенный файловый ввод-вывод.
Глава 5. Управление процессами.
Глава 6. Расширенное управление процессами.
Глава 7. Поточность.
Глава 8. Управление файлами и каталогами.
Глава 9. Управление памятью.
Глава 10. Сигналы.
Глава 11. Время.
Приложение А. Расширения GCC для языка С.
Приложение Б. Библиография.

Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Linux, системное программирование, Лав Р., 2014 — fileskachat.com, быстрое и бесплатное скачивание.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Linux. Системное программирование

Также данная книга доступна ещё в библиотеке. Запишись сразу в несколько библиотек и получай книги намного быстрее.

Те, кто искали эту книгу – читают

  • Объем: 448 стр.
  • Жанр:з арубежная компьютерная литература, О С и сети, п рограммирование
  • Теги:L inux, о перационные системы, р азработка программного обеспечения, с истемное администрирование, с истемное программированиеРедактировать

По абонементу вы каждый месяц можете взять из каталога одну книгу до 700 ₽ и две книги из специальной подборки. Узнать больше

Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME. Эта книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как писать более быстрый и умный код. Роберт Лав четко разграничивает стандартные функции POSIX и специальные службы, которые предлагаются лишь в Linux. Во втором издании вы изучите эту операционную систему как с теоретической, так и с прикладной точки зрения.

Читайте также:  Создать копии созданных файлов linux

Возрастное ограничение: 12+ Дата выхода на ЛитРес: 28 октября 2014 Дата перевода: 2014 Дата написания: 2013 Объем: 448 стр.

ISBN: 978-5-496-00747-4, 978-1449339531 Общий размер: 7 MB Общее кол-во страниц: 448 Размер страницы: Переводчик: Правообладатель: Питер

Книга Роберта Лава «Linux. Системное программирование» — скачать в pdf или читать онлайн. Оставляйте комментарии и отзывы, голосуйте за понравившиеся.

Источник

Linux. Системное программирование

Роберт Лав стоит у истоков создания операционной системы Linux. Он внес существенный вклад в создание ядра Linux и настольной среды GNOME.

Данная книга представляет собой руководство по системному программированию для Linux, справочник по системным вызовам Linux, а также подробный рассказ о том, как писать более быстрый и умный код. Роберт Лав четко разграничивает стандартные функции POSIX и специальные службы, которые предлагаются лишь в Linux. Во втором издании вы изучите эту операционную систему как с теоретической, так и с прикладной точки зрения.

First published January 1, 2007

About the author

Profile Image for Robert Love.

Robert Love

Senior Director of Engineering at Google Cloud building planet-scale networking.

Previously Toast, Google Search, Android, Linux kernel, book author.

Ratings & Reviews

Friends & Following

Community Reviews

Profile Image for Bokieie.

Profile Image for Foxtrot.

A good introduction to the low-level layers of Linux systems. Note that this is not a comprehensive approach to how Linux works. Prior knowledge and experience on Linux systems are advised to take the most out of this reading.

It is a really good book if you hacked your way through Linux and you feel you would be more efficient if you knew how things actually work under the hood.
It provides a good illustration of the Linux everything is a file philosophy by describing the consequences of various system calls on different kind of files (e.g. regular files or devices won’t behave similarly)

Even with this 429 pages, it is a really quick book to read. Even if it is a technical read, it doesn’t go into highly theoretical concepts and thus, it is a perfectly valid candidate for your next commute read. Expect to finish it in less than two weeks if you grab it with you while commuting.

The code illustrating the system calls are in C but the code snippets are very short and understandable for developer unfamiliar with the C programming language.

The main topics covered in this book are:
— Introduction to the process of reading/writing data from/to the disk
— Process management and signals

Читайте также:  Cisco packet tracer linux deb

Note that those topics are mainly illustrated by studying C functions of standard libraries. But again, that should not be a stop if you are not familiar with C since the snippets are short and very well explained.

A good point for this book is that it teaches you notions that will empower you to monitor Linux systems more efficiently. Especially the parts about processes and memory management.

e.g.You often encounter memory leaks on your machine and don’t know why? The book introduces you to zombie processes how they spawn and what can be done about them.

Another nice thing about this book is that it provides you with some very low-level insights on software/hardware interaction, especially the part about writing data to memory. You will learn plenty of things about the various steps of writing information to the disk. Being knowledgable on this topic proved to be very helpful to help me understand challenges related to database related topics (e.g.concurrency and consistency).

Profile Image for Arun.

I really loved Love’s Linux Kernel Development (LKD) book (I have read it couple of times) and I read this book in delirium immediately after I gobbled up the LKD book. This books can be kept as a reference on Linux system programming and one has to go to it periodically to check up facts while doing coding. In a way it is most helpful when u have a computer handy so u can type the example programs side by side while u read from the book (I didn’t do it that way!). From my own investigation there are other competent books in this space like Stephen Rago’s updated «Advanced unix programming» and «The Linux Programming Interface: A Linux and UNIX System Programming Handbook» by Michael Kerrisk (which is showing no #1 in Amazon best seller ratings) but if you like the tone/pace/depth of Love’s writing (which I do) then this is the book for ya’.

Profile Image for Paul Ivanov.

A wonderful way to dive into systems programming and start getting a handle on the standard things the kernel does for you. Though Linux is in the title, Robert Love does a good job of covering the commonalities and departures from other unix-like systems out there. Parts of the book read a bit too much like man pages (I tended to mostly skip the paragraph long descriptions of each possible errno that can be set by each new call — that’d be useful as a reference, but not on your initial read-through. On the other hand, the examples (of which there are plenty) really help in getting a concrete (and practical) understanding of what the calls do.

Profile Image for Tuấn Anh Nguyễn.

Profile Image for br.

«В наборе компиляторов GNU (DNU Compiler Connection, GCC)»

Качество перевода, количество опечаток и отсутствие редактуры удручает. По возможности избегайте книг, изданных издательством «Питер».

Profile Image for lehaleha.

It started well, became a bit boring to the end, but it’s book about API after all, not exactly action-packed topic 🙂 It does its job well.

Читайте также:  Windows and linux вместе

Profile Image for Emma.

Great book about how Linux works under the hood.
Perhaps a bit low level to be directly relevant to TC but really helped my overall understanding of Linux as an OS

Profile Image for Zvart.

Profile Image for pandapoo.

Well written book, but I was hoping to contain sections on Linux kernel interfaces and data structures.

Profile Image for Diego Pino.

I think this is one of the best books, if not the best, about systems programming in Linux (FWIW, I’m not aware of any other book in the same category). By systems programming we understand programming that requires services provided by the Linux kernel, which usually are satisfied via system calls. The book is categorized in chapters, each chapter covering a topic (I/O, threading, memory management, process management, etc) and a good share of system calls. Examples are also provided.

I have to confess it took me a while to finish this book. I think the main reason is that when I started to read it I was mainly interested in learning about a few aspects of Linux (CPU affinity, sockets and signals), but somehow I kept reading the whole book until I completed it.

I found the general explanations of each chapter interesting and I think those ones are a good read even if you’re not interested in the programming specifics. Going down on the details of something I was not really interested made me wonder sometimes of how much value it was for me, as I would forget about what I just learned rather quickly. So in hindsight, I think this book is two things: a reference book for systems programming and a general book about concepts related with an OS, specifically the Linux OS. If you’re interested, or need to learn, about the programming specifics, go ahead and read the whole chapter. If you want to refresh or broaden your knowledge about a topic, read the introductory explanations. Also, since the book is structured in chapters, it’s not necessary to read the book from cover to cover. Read simply what you need.

On the other hand, there are a few things I didn’t like about the book and perhaps could be improved in future editions. I think, as it was pointed out in other reviews, the details about error handling described for each system call are excessive. This type of information can be easily retrieved from man pages. In addition, I found the examples too much simple. Most of them consist of calls to a specific system call with some argument management. I think providing code examples that solve real-world problems could be more illustrative on how system calls can be used and could even help to spark some creativity on the learning reader.

Lastly, as the kernel keeps evolving and new aspects and new systems calls get incorporated into the Linux kernel I think a new edition of this book would be gladly welcomed.

Источник

Оцените статью
Adblock
detector