ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Operating Systems: Three Easy Pieces

دانلود کتاب سیستم عامل: سه قطعه آسان

Operating Systems: Three Easy Pieces

مشخصات کتاب

Operating Systems: Three Easy Pieces

ویرایش: 1.00 
نویسندگان:   
سری:  
ISBN (شابک) : 198508659X, 9781985086593 
ناشر: CreateSpace Independent Publishing Platform 
سال نشر: 2020 
تعداد صفحات: 743 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 5 مگابایت 

قیمت کتاب (تومان) : 49,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 11


در صورت تبدیل فایل کتاب Operating Systems: Three Easy Pieces به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب سیستم عامل: سه قطعه آسان نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب سیستم عامل: سه قطعه آسان

OSTEP («اوه گام»)، یا «کتاب دنباله‌دار»، نشان‌دهنده اوج سال‌ها آموزش مقدمه سیستم‌عامل‌ها برای دانشجویان و فارغ‌التحصیلان دانشگاه ویسکانسین-مدیسون برای تقریباً 20 سال است. این کتاب حول سه مفهوم اساسی برای ساخت سیستم عامل سازماندهی شده است: مجازی سازی (CPU و حافظه)، همزمانی (قفل ها و متغیرهای شرط)، و پایداری (دیسک ها، RAIDS و سیستم های فایل). مواد، اگر با کار پروژه جدی ترکیب شوند. نویسندگان، Remzi و Andrea Arpaci-Dusseau، هر دو استاد علوم کامپیوتر در دانشگاه ویسکانسین-مدیسون هستند. آنها بیش از 20 سال است که در سیستم های کامپیوتری تحقیق می کنند و از اولین کلاس سیستم عامل فارغ التحصیل خود در U.C. برکلی در سال 1993. از آن زمان، آنها بیش از 100 مقاله در مورد عملکرد و قابلیت اطمینان بسیاری از جنبه های سیستم های کامپیوتری مدرن، با تمرکز ویژه بر سیستم های فایل و ذخیره سازی منتشر کرده اند. کار آنها با جوایز متعدد بهترین مقاله شناخته شده است و برخی از نوآوری های آنها امروزه در سیستم عامل های لینوکس و BSD یافت می شود.


توضیحاتی درمورد کتاب به خارجی

OSTEP ("oh step"), or the "the comet book", represents the culmination of years of teaching intro to operating systems to both undergraduates and graduates at the University of Wisconsin-Madison Computer Sciences department for nearly 20 years.The book is organized around three concepts fundamental to OS construction: virtualization (of CPU and memory), concurrency (locks and condition variables), and persistence (disks, RAIDS, and file systems).The material, if combined with serious project work and homeworks, will lead students to a deeper understanding and appreciation of modern OSes.The authors, Remzi and Andrea Arpaci-Dusseau, are both professors of Computer Sciences at the University of Wisconsin-Madison. They have been doing research in computer systems for over 20 years, working together since their first graduate operating systems class at U.C. Berkeley in 1993.Since that time, they have published over 100 papers on the performance and reliability of many aspects of modern computer systems, with a special focus on file and storage systems. Their work has been recognized with numerous best-paper awards, and some of their innovations can be found in the Linux and BSD operating systems today.



فهرست مطالب

To Everyone
To Educators
To Students
Acknowledgments
Final Words
References
A Dialogue on the Book
Introduction to Operating Systems
	Virtualizing The CPU
	Virtualizing Memory
	Concurrency
	Persistence
	Design Goals
	Some History
	Summary
	References
	Homework
Virtualization
	A Dialogue on Virtualization
	The Abstraction: The Process
		The Abstraction: A Process
		Process API
		Process Creation: A Little More Detail
		Process States
		Data Structures
		Summary
		References
		Homework (Simulation)
	Interlude: Process API
		The fork() System Call
		The wait() System Call
		Finally, The exec() System Call
		Why? Motivating The API
		Process Control And Users
		Useful Tools
		Summary
		References
		Homework (Code)
	Mechanism: Limited Direct Execution
		Basic Technique: Limited Direct Execution
		Problem #1: Restricted Operations
		Problem #2: Switching Between Processes
		Worried About Concurrency?
		Summary
		References
		Homework (Measurement)
	Scheduling: Introduction
		Workload Assumptions
		Scheduling Metrics
		First In, First Out (FIFO)
		Shortest Job First (SJF)
		Shortest Time-to-Completion First (STCF)
		A New Metric: Response Time
		Round Robin
		Incorporating I/O
		No More Oracle
		Summary
		References
		Homework (Simulation)
	Scheduling:  The Multi-Level Feedback Queue
		MLFQ: Basic Rules
		Attempt #1: How To Change Priority
		Attempt #2: The Priority Boost
		Attempt #3: Better Accounting
		Tuning MLFQ And Other Issues
		MLFQ: Summary
		References
		Homework (Simulation)
	Scheduling: Proportional Share
		Basic Concept: Tickets Represent Your Share
		Ticket Mechanisms
		Implementation
		An Example
		How To Assign Tickets?
		Why Not Deterministic?
		The Linux Completely Fair Scheduler (CFS)
		Summary
		References
		Homework (Simulation)
	Multiprocessor Scheduling (Advanced)
		Background: Multiprocessor Architecture
		Don't Forget Synchronization
		One Final Issue: Cache Affinity
		Single-Queue Scheduling
		Multi-Queue Scheduling
		Linux Multiprocessor Schedulers
		Summary
		References
		Homework (Simulation)
	Summary Dialogue on CPU Virtualization
	A Dialogue on Memory Virtualization
	The Abstraction: Address Spaces
		Early Systems
		Multiprogramming and Time Sharing
		The Address Space
		Goals
		Summary
		References
		Homework (Code)
	Interlude: Memory API
		Types of Memory
		The malloc() Call
		The free() Call
		Common Errors
		Underlying OS Support
		Other Calls
		Summary
		References
		Homework (Code)
	Mechanism: Address Translation
		Assumptions
		An Example
		Dynamic (Hardware-based) Relocation
		Hardware Support: A Summary
		Operating System Issues
		Summary
		References
		Homework (Simulation)
	Segmentation
		Segmentation: Generalized Base/Bounds
		Which Segment Are We Referring To?
		What About The Stack?
		Support for Sharing
		Fine-grained vs. Coarse-grained Segmentation
		OS Support
		Summary
		References
		Homework (Simulation)
	Free-Space Management
		Assumptions
		Low-level Mechanisms
		Basic Strategies
		Other Approaches
		Summary
		References
		Homework (Simulation)
	Paging: Introduction
		A Simple Example And Overview
		Where Are Page Tables Stored?
		What's Actually In The Page Table?
		Paging: Also Too Slow
		A Memory Trace
		Summary
		References
		Homework (Simulation)
	Paging: Faster Translations (TLBs)
		TLB Basic Algorithm
		Example: Accessing An Array
		Who Handles The TLB Miss?
		TLB Contents: What's In There?
		TLB Issue: Context Switches
		Issue: Replacement Policy
		A Real TLB Entry
		Summary
		References
		Homework (Measurement)
	Paging: Smaller Tables
		Simple Solution: Bigger Pages
		Hybrid Approach: Paging and Segments
		Multi-level Page Tables
		Inverted Page Tables
		Swapping the Page Tables to Disk
		Summary
		References
		Homework (Simulation)
	Beyond Physical Memory: Mechanisms
		Swap Space
		The Present Bit
		The Page Fault
		What If Memory Is Full?
		Page Fault Control Flow
		When Replacements Really Occur
		Summary
		References
		Homework (Measurement)
	Beyond Physical Memory: Policies
		Cache Management
		The Optimal Replacement Policy
		A Simple Policy: FIFO
		Another Simple Policy: Random
		Using History: LRU
		Workload Examples
		Implementing Historical Algorithms
		Approximating LRU
		Considering Dirty Pages
		Other VM Policies
		Thrashing
		Summary
		References
		Homework (Simulation)
	Complete Virtual Memory Systems
		VAX/VMS Virtual Memory
		The Linux Virtual Memory System
		Summary
		References
	Summary Dialogue on Memory Virtualization
Concurrency
	A Dialogue on Concurrency
	Concurrency: An Introduction
		Why Use Threads?
		An Example: Thread Creation
		Why It Gets Worse: Shared Data
		The Heart Of The Problem: Uncontrolled Scheduling
		The Wish For Atomicity
		One More Problem: Waiting For Another
		Summary: Why in OS Class?
		References
		Homework (Simulation)
	Interlude: Thread API
		Thread Creation
		Thread Completion
		Locks
		Condition Variables
		Compiling and Running
		Summary
		References
		Homework (Code)
	Locks
		Locks: The Basic Idea
		Pthread Locks
		Building A Lock
		Evaluating Locks
		Controlling Interrupts
		A Failed Attempt: Just Using Loads/Stores
		Building Working Spin Locks with Test-And-Set
		Evaluating Spin Locks
		Compare-And-Swap
		Load-Linked and Store-Conditional
		Fetch-And-Add
		Too Much Spinning: What Now?
		A Simple Approach: Just Yield, Baby
		Using Queues: Sleeping Instead Of Spinning
		Different OS, Different Support
		Two-Phase Locks
		Summary
		References
		Homework (Simulation)
	Lock-based Concurrent Data Structures
		Concurrent Counters
		Concurrent Linked Lists
		Concurrent Queues
		Concurrent Hash Table
		Summary
		References
		Homework (Code)
	Condition Variables
		Definition and Routines
		The Producer/Consumer (Bounded Buffer) Problem
		Covering Conditions
		Summary
		References
		Homework (Code)
	Semaphores
		Semaphores: A Definition
		Binary Semaphores (Locks)
		Semaphores For Ordering
		The Producer/Consumer (Bounded Buffer) Problem
		Reader-Writer Locks
		The Dining Philosophers
		Thread Throttling
		How To Implement Semaphores
		Summary
		References
		Homework (Code)
	Common Concurrency Problems
		What Types Of Bugs Exist?
		Non-Deadlock Bugs
		Deadlock Bugs
		Summary
		References
		Homework (Code)
	Event-based Concurrency (Advanced)
		The Basic Idea: An Event Loop
		An Important API: select() (or poll())
		Using select()
		Why Simpler? No Locks Needed
		A Problem: Blocking System Calls
		A Solution: Asynchronous I/O
		Another Problem: State Management
		What Is Still Difficult With Events
		Summary
		References
		Homework (Code)
	Summary Dialogue on Concurrency
Persistence
	A Dialogue on Persistence
	I/O Devices
		System Architecture
		A Canonical Device
		The Canonical Protocol
		Lowering CPU Overhead With Interrupts
		More Efficient Data Movement With DMA
		Methods Of Device Interaction
		Fitting Into The OS: The Device Driver
		Case Study: A Simple IDE Disk Driver
		Historical Notes
		Summary
		References
	Hard Disk Drives
		The Interface
		Basic Geometry
		A Simple Disk Drive
		I/O Time: Doing The Math
		Disk Scheduling
		Summary
		References
		Homework (Simulation)
	Redundant Arrays of Inexpensive Disks (RAIDs)
		Interface And RAID Internals
		Fault Model
		How To Evaluate A RAID
		RAID Level 0: Striping
		RAID Level 1: Mirroring
		RAID Level 4: Saving Space With Parity
		RAID Level 5: Rotating Parity
		RAID Comparison: A Summary
		Other Interesting RAID Issues
		Summary
		References
		Homework (Simulation)
	Interlude: Files and Directories
		Files And Directories
		The File System Interface
		Creating Files
		Reading And Writing Files
		Reading And Writing, But Not Sequentially
		Shared File Table Entries: fork() And dup()
		Writing Immediately With fsync()
		Renaming Files
		Getting Information About Files
		Removing Files
		Making Directories
		Reading Directories
		Deleting Directories
		Hard Links
		Symbolic Links
		Permission Bits And Access Control Lists
		Making And Mounting A File System
		Summary
		References
		Homework (Code)
	File System Implementation
		The Way To Think
		Overall Organization
		File Organization: The Inode
		Directory Organization
		Free Space Management
		Access Paths: Reading and Writing
		Caching and Buffering
		Summary
		References
		Homework (Simulation)
	Locality and The Fast File System
		The Problem: Poor Performance
		FFS: Disk Awareness Is The Solution
		Organizing Structure: The Cylinder Group
		Policies: How To Allocate Files and Directories
		Measuring File Locality
		The Large-File Exception
		A Few Other Things About FFS
		Summary
		References
		Homework (Simulation)
	Crash Consistency: FSCK and Journaling
		A Detailed Example
		Solution #1: The File System Checker
		Solution #2: Journaling (or Write-Ahead Logging)
		Solution #3: Other Approaches
		Summary
		References
		Homework (Simulation)
	Log-structured File Systems
		Writing To Disk Sequentially
		Writing Sequentially And Effectively
		How Much To Buffer?
		Problem: Finding Inodes
		Solution Through Indirection: The Inode Map
		Completing The Solution: The Checkpoint Region
		Reading A File From Disk: A Recap
		What About Directories?
		A New Problem: Garbage Collection
		Determining Block Liveness
		A Policy Question: Which Blocks To Clean, And When?
		Crash Recovery And The Log
		Summary
		References
		Homework (Simulation)
	Flash-based SSDs
		Storing a Single Bit
		From Bits to Banks/Planes
		Basic Flash Operations
		Flash Performance And Reliability
		From Raw Flash to Flash-Based SSDs
		FTL Organization: A Bad Approach
		A Log-Structured FTL
		Garbage Collection
		Mapping Table Size
		Wear Leveling
		SSD Performance And Cost
		Summary
		References
		Homework (Simulation)
	Data Integrity and Protection
		Disk Failure Modes
		Handling Latent Sector Errors
		Detecting Corruption: The Checksum
		Using Checksums
		A New Problem: Misdirected Writes
		One Last Problem: Lost Writes
		Scrubbing
		Overheads Of Checksumming
		Summary
		References
		Homework (Simulation)
		Homework (Code)
	Summary Dialogue on Persistence
	A Dialogue on Distribution
	Distributed Systems
		Communication Basics
		Unreliable Communication Layers
		Reliable Communication Layers
		Communication Abstractions
		Remote Procedure Call (RPC)
		Summary
		References
		Homework (Code)
	Sun's Network File System (NFS)
		A Basic Distributed File System
		On To NFS
		Focus: Simple And Fast Server Crash Recovery
		Key To Fast Crash Recovery: Statelessness
		The NFSv2 Protocol
		From Protocol To Distributed File System
		Handling Server Failure With Idempotent Operations
		Improving Performance: Client-side Caching
		The Cache Consistency Problem
		Assessing NFS Cache Consistency
		Implications On Server-Side Write Buffering
		Summary
		References
		Homework (Measurement)
	The Andrew File System (AFS)
		AFS Version 1
		Problems with Version 1
		Improving the Protocol
		AFS Version 2
		Cache Consistency
		Crash Recovery
		Scale And Performance Of AFSv2
		AFS: Other Improvements
		Summary
		References
		Homework (Simulation)
	Summary Dialogue on Distribution
	General Index
	Asides
	Tips
	Cruces




نظرات کاربران