Reddit mentions: The best api & operating environments books
We found 21 Reddit comments discussing the best api & operating environments books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 12 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Starting Forth: An Introduction to the Forth Language and Operating System for Beginners and Professionals (Prentice-Hall Software Series)
- Used Book in Good Condition
Features:
Specs:
Height | 9.75 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 1.31836432676 Pounds |
Width | 1 Inches |
2. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming (Unix/C)
- Used Book in Good Condition
Features:
Specs:
Height | 9 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 7.936641432 Pounds |
Width | 0.75 Inches |
3. Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry
- Used Book in Good Condition
Features:
Specs:
Height | 9.1 Inches |
Length | 7.4 Inches |
Number of items | 1 |
Release date | February 2011 |
Weight | 1.099996456249 Pounds |
Width | 0.9 Inches |
4. Operating Systems: Internals and Design Principles, Global Edition by Stallings, William (2014) Paperback
Specs:
Height | 9.21258 Inches |
Length | 7.04723 Inches |
Weight | 2.37658318436 Pounds |
Width | 0.94488 Inches |
5. Solar Cells: Operating Principles, Technology, and System Applications (Prentice-Hall series in solid state physical electronics)
Specs:
Weight | 1.2 pounds |
6. Operating Systems Design and Implementat: Design and Implementation
- Special flatlock construction
- Tucano Anit-Slip System
- Rugged 3mm neoprene
Features:
Specs:
Height | 1.85039 Inches |
Length | 7.99211 Inches |
Weight | 2.7116856455267 Pounds |
Width | 9.99998 Inches |
7. The UNIX Programming Environment
Specs:
Height | 1.5748 Inches |
Length | 7.874 Inches |
Weight | 1.0141263389775 Pounds |
Width | 5.5118 Inches |
8. Operating System Principles (Prentice-Hall Series in Automatic Computation)
Specs:
Number of items | 1 |
Weight | 1.88 Pounds |
10. Mastering Make: A Guide to Building Programs on DOS, OS/2, and Unix Systems
- Ships fast & fresh!!
- 240 Individually wrapped chewy candies!
Features:
Specs:
Height | 9.25 inches |
Length | 7 inches |
Number of items | 1 |
Width | 0.5 inches |
11. System Programming with C and Unix
- Factory sealed DVD
Features:
Specs:
Height | 0.9 Inches |
Length | 8.9 Inches |
Number of items | 1 |
Weight | 1.01853565044 Pounds |
Width | 2.5 Inches |
12. Programming With Unix System Calls: Unix Svr 4.2
- HIGH QUILITY: The Stripped screw extractor is made of high speed steel, 4341#, the hardness is 62-63HRC.Competitors cant compete with our triple guarantee.
- EASY TO CARRY: Our stripped screw extractor are provided with plastic boxes for easy carrying.
- EASY TO USE: The 4 piece stripped screw extractor set works with any drill and any screw size or bolt. It is so simple, anyone can use it.
- EASY OUT: With screw remover, you can easily remove any stripped screw in 10 seconds or less. You'll never again be slowed down or frustrated by a stripped screw or broken bolt. If you can use a drill, you can use the Screw Remover.
- Stubborn deck screws out of redwood Even if you break off the entire head of a screw or bolt, you can still extract it right out No problem. Note: Burnishing tool end in not to be used to drill a hole.
Features:
Specs:
Height | 9.25 Inches |
Length | 7 Inches |
Number of items | 1 |
Weight | 1.984160358 Pounds |
Width | 1.25 Inches |
🎓 Reddit experts on api & operating environments books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where api & operating environments books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
I've posted this before but I'll repost it here:
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
Aside from SANS FOR508 (the course on which the cert is based) the following helped me:
Windows Registry Forensics
Windows Forensic Analysis Toolkit 2nd ed
Windows Forensic Analysis Toolkit 4th ed
The 2nd edition covers XP, the 4th covers 7/8
Digital Forensics with Open Source Tools
File System Forensic Analysis
This is a new book, but I imagine it'll help as well:
The Art of Memory Forensics
I read many of these in preparation for taking mine, but your best resource are the SANS class/books which is what the cert tests after. Having a good index is key.
There may be other classes out there that might help, but I have no firsthand experience with them, so I can't say what I recommend. All the above books, however, are amazing. Very much worth your time and money.
> Thanks for your time, my god this was longer than expected.
I suppose in the age of twitter that was a bit of a novel. For us old fogies, that's just a bit more than a post card :)
Introduction to Algorithms is the book for learning everything about algorithms. You'll learn all the standards; how to analyze them (space/time efficiency, Big-O, Big-Theta); and how to prove them; etc.
If you want to learn a great low-level language, the typical things to learn are assembly and C, but I would highly suggest learning Forth. There's tons on the web about it, but the seminal book was Starting Forth. You get all of the low-level detail of assembly, a bit of scaffolding, and you learn to build your higher level language structures as you need them. Great fun, and it's turned out to be very useful through the years, even though I never get to use it in production/release.
In short, the answer is virtual memory and the protected mode flat model that the past generations of CPU architecture and operating systems have been using.
As you may know, programs are never given full, direct access to the RAM banks; the operating system abstracts this layer away from them in the form of virtual memory. Virtual memory is basically a system whereby you can map physical memory addresses to non-physical ones the OS controls and can readily re-arrange. Thanks to virtual memory the OS can trick an application into thinking it has way more RAM than it actually has and this also enables swapping processes out to disk when the system is running out of memory because there are too many processes being run at the same time. As I pointed out before, since virtual memory is fully managed by the kernel, it can move out chunks of a program's address space to disk, a process known as "paging".
Now, back in the DOS era, virtual memory followed the real mode segmented model, which, in very simple terms meant that, even though processes could be shuffled back and forth between RAM and disk, there were no safeguards in place to prevent a process from messing up another process' memory space via a dodgy pointer pointing to a memory address beyond the scope of the faulty process.
One of the major goals of the successor to this virtual memory model, "protected mode flat model" was to allow the kernel to create a completely isolated address space for the processes it spawns and stopping a rogue program from altering other processes like before. Whenever such an attempt is made, a "segmentation fault" (SIGSEV) or "general protection fault" is raised by the kernel, which in the case of Linux, will prompt the kernel to swiftly kill the offending process.
In practical terms, this means your application won't be able to reach beyond the virtual memory address space it has been allocated (unless it's a kernel-space process, like a kernel subsystem or device driver) and can in no way communicate with other processes by reading or writing memory that belongs to them. In order to accomplish that, you'll need to make use of inter-process communication (IPC) techniques like Unix sockets, pipes, RPC, etc.
This is by no means an in-depth or 100% accurate explanation though. If you've got any follow-up questions I'm more than happy to answer them.
As for the literature, pretty much any textbook about operating system architecture will cover virtual memory to a great extent. I can recommend Operating Systems: Internals and Design Principles and Modern Operating Systems.
Here are a few more books that touch upon the topic of virtual memory:
Assembly Language Step-by-Step: Programming with Linux covers the topic of virtual memory and the different models that have evolved over time over its first few chapters.
The Linux Programming Interface: A Linux and UNIX System Programming Handbook covers this subject (and many, many more) from a Linux systems programmer perspective.
What Makes It Page?: The Windows 7 (x64) Virtual Memory Manager, in case you're interested in learning how Windows does it.
EDIT: added IPC info
Sure!
The Physics of Solar Cells by Jenny Nelson is a nice book. Very dense, a little mathy, and assumes some prior knowledege.
This book by Martin Green is the gold standard, though it is probably less accessible than Nelson's and harder to find.
It's probably necessary to have a good grasp of freshman physics, and it would certainly be helpful to understand classical electrodynamics and some solid state physics, which itself requires a little bit of quantum mechanics.
Necessary math for all of this is some calculus, some differential equations, and some linear algebra.
There may be a much friendlier resource out there; I understand if this is a formidable stack.
According to the CP/M wikipedia page, you need the following to run it:
So with the parts list above along with the UART should be enough to meet the requirements. You will need to use banked memory or a similar mechanism (since you need the bootstrap code at address 0, but CP/M needs RAM at address 0 as well). Only problem is the floppy drive, which you should be able to overcome with a Compact Flash card, an CF to IDE converter, and a IDE interface. I haven't tried this myself but I think something like this would work.
If you were interested in writing your own OS, Operating Systems by Woodhull Tanenbaum is a good book on the topic.
Books that I find very useful:
Beginning Portable Shell Scripting: From Novice to Professional
From Bash to Z Shell: Conquering the Command Line
Unix Power Tools, Third Edition
The UNIX Programming Environment
Running Linux (mine is old, but still useful)
I have bought lots of other useful books from O'Reilly.
Anything written by Michael W Lucas.
Some books on my wishlist (not sure if you're okay with math):
TAOCP
Operating System Principles
Computer and the Brain
Path to the Quantum Computer
Hey now - Slackware 96 is still the Internet's Favorite 32-bit Operating System
Huh. TIL. For the record, I'm older than the average Redditor, and I learned make about 20 years ago, from the 1994 2nd edition of "Mastering Make". Fortunately, SUFFIXES still works for
backwards compatibilityold farts like me.Edit: This one.
There is a whole book about how to not screw up in C++ called Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming. And this book does not criticize the language, just tries to be helpful.
Also http://yosefk.com/c++fqa/index.html while may be too snarky too often, has some valid points.
My recommendations then for self study:
Read all those and you will be in good shape ;)
EDIT: I hate trying to get reddit to do what I want.
System Programming Concepts for ECE 222. The book is this.
Was it this? https://www.amazon.com/Programming-Unix-System-Calls-Svr/dp/0130176745
> pure le istruzioni della carta igienica
Nah, un vero ingegnere 10x al bagno legge questo.
Allan Holub, "Enough Rope to Shoot Yourself in the Foot", 1995
http://www.amazon.com/Enough-Rope-Shoot-Yourself-Foot/dp/0070296898
A good thing for removing some "bad behavior" from your coding practice.