Library

Operating System Concepts by Abraham Silberschatz

The tenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student’s experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material....

Learning Scientific Programming with Python by Christian Hill

Learn to master basic programming tasks from scratch with real-life, scientifically relevant examples and solutions drawn from both science and engineering. Students and researchers at all levels are increasingly turning to the powerful Python programming language as an alternative to commercial packages and this fast-paced introduction moves from the basics to advanced concepts in one complete volume, enabling readers to gain proficiency quickly. Beginning with general programming concepts such as loops and functions within the core Python 3 language, and moving on to the NumPy, SciPy and Matplotlib libraries for numerical programming and data visualization, this textbook also discusses the use of Jupyter Notebooks to build rich-media, shareable documents for scientific analysis. The second edition features a new chapter on data analysis with the pandas library and comprehensive updates, and new exercises and examples. A final chapter introduces more advanced topics such as floating-point precision and algorithm stability, and extensive online resources support further study. This textbook represents a targeted package for students requiring a solid foundation in Python programming....

Research Software Engineering with Python:by Damien Irving

This book introduces the concepts, tools, and skills that researchers need to get more done in less time and with less pain. Based on the practical experiences of its authors, who collectively have spent several decades teaching software skills to scientists, it covers everything graduate-level researchers need to automate their workflows, collaborate with colleagues, ensure that their results are trustworthy, and publish what they have built so that others can build on it. The book assumes only a basic knowledge of Python as a starting point, and shows readers how the Unix shell, Git, Make, and related tools can give them more time to focus on the research they actually want to do. Research Software Engineering with Python can be used as the main text in a one-semester course or for self-guided study. A running example shows how to organize a small research project step by step; over a hundred exercises give readers a chance to practice these skills themselves, while a glossary defining over two hundred terms will help readers find their way through the terminology. All of the material can be re-used under a Creative Commons license, and all royalties from sales of the book will be donated to The Carpentries, an organization that teaches foundational coding and data science skills to researchers worldwide....

Mastering Linux Administration:by Alexandru Calcatinge

Key Features Become proficient in everyday Linux administration tasks by mastering the Linux command line and using automation Work with the Linux filesystem, packages, users, processes, and daemons Deploy Linux to the cloud with AWS, Azure, and Kubernetes Book Description Linux plays a significant role in modern data center management and provides great versatility in deploying and managing your workloads on-premises and in the cloud. This book covers the important topics you need to know about for your everyday Linux administration tasks.The book starts by helping you understand the Linux command line and how to work with files, packages, and filesystems. You'll then begin administering network services and hardening security, and learn about cloud computing, containers, and orchestration. Once you've learned how to work with the command line, you'll explore the essential Linux commands for managing users, processes, and daemons and discover how to secure your Linux environment using application security frameworks and firewall managers. As you advance through the chapters, you'll work with containers, hypervisors, virtual machines, Ansible, and Kubernetes. You'll also learn how to deploy Linux to the cloud using AWS and Azure.By the end of this Linux book, you'll be well-versed with Linux and have mastered everyday administrative tasks using workflows spanning from on-premises to the cloud. If you also find yourself adopting DevOps practices in the process, we'll consider our mission accomplished. What you will learn Understand how Linux works and learn basic to advanced Linux administration skills Explore the most widely used commands for managing the Linux filesystem, network, security, and more Get to grips with different networking and messaging protocols Find out how Linux security works and how to configure SELinux, AppArmor, and Linux iptables Work with virtual machines and containers and understand container orchestration with Kubernetes Work with containerized workflows using Docker and Kubernetes Automate your configuration management workloads with Ansible Who this book is for If you are a Linux administrator who wants to understand the fundamentals and as well as modern concepts of Linux system administration, this book is for you. Windows System Administrators looking to extend their knowledge to the Linux OS will also benefit from this book. Table of Contents Installing Linux and Setting up the Environment Linux Structure, Basic Commands, Files and Text Editors Linux Software Management Managing User Accounts and Permissions Working with Processes, Signals, Services and Disks Linux Server Setup and Remote Administration Basic Networking with Linux: TCP/IP and Network Configuration Configuring Servers: Print, Web, FTP, Samba, NFS, E-Mail, DNS, DHCP Securing Linux: AppArmor, SELinux, PAM, Cryptography, iptables, firewalls Disaster recovery, diagnostics and troubleshooting Short Introduction to Cloud Computing Working with Containers and Virtual Machines Orchestration with Kubernetes Deploying to the Cloud: OpenStack, AWS, Azure Infrastructure and Automation with Ansible ...

Software Metrics: A Guide To Planning, Analysis, And Application by Pandian C. Ravindranath

The modern field of software metrics emerged from the computer modeling and "statistical thinking" services of the 1980s. As the field evolved, metrics programs were integrated with project management, and metrics grew to be a major tool in the managerial decision-making process of software companies. Now practitioners in the software industry have a reference that validates software metrics as a crucial tool for efficient and successful project management and execution. Software Metrics: A Guide to Planning, Analysis, and Application simplifies software measurement and explains its value as a pragmatic tool for management. Ideas and techniques presented in this book are derived from best practices. The ideas are field-proven, down to earth, and straightforward, making this volume an invaluable resource for those striving for process improvement. This overview helps readers enrich their knowledge of measurements and analysis, best practices, and how ordinary analysis techniques can be applied to achieve extraordinary results. Easy-to-understand tools and methods are applied to demonstrate how metrics create models that are indispensable to decision-making in the software industry....

Simulation Modeling Handbook: A Practical Approach by Christopher A. Chung

The use of simulation modeling and analysis is becoming increasingly more popular as a technique for improving or investigating process performance. This book is a practical, easy-to-follow reference that offers up-to-date information and step-by-step procedures for conducting simulation studies. It provides sample simulation project support material, including checklists, data-collection forms, and sample simulation project reports and publications to facilitate practitioners' efforts in conducting simulation modeling and analysis projects.Simulation Modeling Handbook: A Practical Approach has two major advantages over other treatments. First, it is independent of any particular simulation software, allowing readers to use any commercial package or programming language. Second, it was written to insulate practitioners from unnecessary simulation theory that does not focus on their average, practical needs.As the popularity of simulation studies continues to grow, the planning and execution of these projects, more and more engineering and management professionals will be called upon to perform these tasks. With its simple, no-nonsense approach and focus on application rather than theory, this comprehensive and easy-to-understand guide is the ideal vehicle for acquiring the background and skills needed to undertake effective simulation projects. Features Presents step-by-step procedures for conducting successful simulation modeling and analysis Addresses every phase of performing simulations, from formulating the problem to presenting study results and recommendations Uses approaches applicable regardless of the specific simulation or software used Includes a summary of the major simulation software packages and discusses the pros and cons of using general purpose programming languages ...

How Linux Works. by Brian Ward

Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does.In this third edition of the bestselling How Linux Works, author Brian Ward peels back the layers of this well-loved operating system to make Linux internals accessible. This edition has been thoroughly updated and expanded with added coverage of Logical Volume Manager (LVM), virtualization, and containers. You'll learn: How Linux boots, from boot loaders to init (systems) How the kernel manages devices, device drivers, and processes How networking, interfaces, firewalls, and servers work How development tools work and relate to shared libraries How to write effective shell scripts  You’ll also explore the kernel and examine key system tasks inside user-space processes, including system calls, input and output, and file system maintenance. With its combination of background, theory, real-world examples, and thorough explanations, How Linux Works, 3rd Edition will teach you what you need to know to take control of your operating system. NEW TO THIS EDITION: Hands-on coverage of the LVM, journals logging system, and IPv6 Additional chapter on virtualization, featuring containers and groups Expanded discussion of systems ...

Software EngineerHaier

How can you realize MySQL's full power? With High Performance MySQL, you'll learn advanced techniques for everything from setting service-level objectives to designing sachems, indexes, and queries to tuning your server, operating system, and hardware to achieve your platform's full potential. This guide also teaches database administrators safe and practical ways to scale applications through replication, load balancing, high availability, and fail over. Updated to reflect recent advances in cloud- and self-hosted MySQL, InnoDB performance, and new features and tools, this revised edition helps you design a relational data platform that will scale with your business. You'll learn best practices for database security along with hard-earned lessons in both performance and database stability. Dive into MySQL's architecture, including key facts about its storage engines Learn how server configuration works with your hardware and deployment choices Make query performance part of your software delivery process Examine enhancements to MySQL's replication and high availability Compare different MySQL offerings in managed cloud environments Explore MySQL's full stack optimization from application-side configuration to server tuning Turn traditional database management tasks into automated processes ...

Learning C# by Developing Games with Unity: by Harrison Ferrone

Key Features Understand C# programming basics, terminology, and coding best practices Put your knowledge of C# concepts into practice by building a fun and playable game Come away with a clear direction for taking your C# programming and Unity game development skills to the next level Book Description Over the years, the Learning C# by Developing Games with Unity series has established itself as a popular choice for getting up to speed with C#, a powerful and versatile programming language that can be applied in a wide array of application areas. This book presents a clear path for learning C# programming from the ground up without complex jargon or unclear programming logic, all while building a simple game with Unity.This fifth edition has been updated to introduce modern C# features with the latest version of the Unity game engine, and a new chapter has been added on intermediate collection types. Starting with the basics of software programming and the C# language, you'll learn the core concepts of programming in C#, including variables, classes, and object-oriented programming. Once you've got to grips with C# programming, you'll enter the world of Unity game development and discover how you can create C# scripts for simple game mechanics. Throughout the book, you'll gain hands-on experience with programming best practices to help you take your Unity and C# skills to the next level.By the end of this book, you'll be able to leverage the C# language to build your own real-world Unity game development projects. What you will learn Discover easy-to-follow steps and examples for learning C# programming fundamentals Get to grips with creating and implementing scripts in Unity Create basic game mechanics such as player controllers and shooting projectiles using C# Understand the concepts of interfaces and abstract classes Leverage the power of the latest C# features to solve complex programming problems Become familiar with stacks, queues, exceptions, error handling, and other core C# concepts Explore the basics of artificial intelligence (AI) for games and implement them to control enemy behavior Who this book is for If you're a developer, programmer, hobbyist, or anyone who wants to get started with C# programming in a fun and engaging manner, this book is for you. Prior experience in programming or Unity is not required. Table of Contents Getting to Know Your Environment The Building Blocks of Programming Diving into Variables,Types, and Methods Control Flow and Collection Types Working with Classes, Structs, and OOP Getting Your Hands Dirty with Unity Movement, Camera Controls, and Collisions Scripting Game Mechanics Basic AI and Enemy Behavior Revisiting Types, Methods, and Classes Introducing Stacks, Queues and Hash Sets Exploring Generics, Delegates, and Beyond The Journey Continues ...

Introduction to Robotics: Mechanics and Control by John J. Craig

Now in its third edition, Introduction to Robotics by John J. Craig provides readers with real-world practicality with underlying theory presented. With one half of the material from traditional mechanical engineering material, one fourth control theoretical material, and one fourth computer science, the book covers rigid-body transformations, forward and inverse positional kinematics, velocities and Jacobians of linkages, dynamics, linear control, non-linear control, force control methodologies, mechanical design aspects and programming of robots. For engineers....