
Senior Engineer @Qualcomm What makes a system well-engineered?
void*
Joined June 2024
- Tweets1.1K
- Following1K
- Followers5.3K
- Likes157K
This is the paper: csl.sri.com/papers/sosp81/so…
John Rushby proposed the Separation Kernel in 1981 while looking at the difficulties of designing and verifying secure systems.
The basic idea is interesting.
Imagine that we have several security-sensitive components.
Instead of starting with all of them running under one conventional security kernel, imagine putting each component on its own physically isolated machine.
A B Trusted Component
| | |
Machine A Machine B Machine C
A and B cannot magically access each other's memory or internal state because they are physically separated.
If they need to communicate or access shared resources, they do so through deliberately provided communication paths and specialized trusted components.
Rushby's idea was:
Can we preserve the security properties of this conceptually distributed system while actually running everything on a single processor?
That's the job of the separation kernel.
Conceptually:
Partition A Partition B Trusted Component
\ | /
\ | /
Separation Kernel
|
Hardware
The separation kernel should create an environment equivalent, for the relevant security properties, to the physically distributed system it is simulating.
This means information should not be able to flow between isolated components through the kernel except through the communication paths explicitly provided.
An important part of Rushby's proposal is that the separation kernel is not responsible for implementing the entire system security policy.
Specialized trusted components perform the security functions required by the system.
The separation kernel provides the isolated environment in which those components run.
This also separates the verification problem.
Instead of trying to verify one kernel that understands and enforces every application-specific security rule, we can separately reason about:
-> whether the separation kernel correctly preserves the required separation
-> whether each trusted component correctly implements its particular security function
Rushby called the verification approach Proof of Separability.
The model also goes beyond simply saying:
"Partition A cannot read Partition B's memory."
Rushby specifically discusses security-relevant issues involving instruction interpretation, flow of control and interrupt handling.
Of course, this does NOT mean the separation kernel itself cannot have bugs.
If the kernel implementation violates the separation property, an isolated component may potentially escape its boundary.
The interesting idea is therefore not simply "put applications into partitions."
It is to precisely define the separation the kernel must provide and then verify that the kernel implementation actually provides it.
A pretty interesting security architecture from 1981, especially when thinking about how we design isolated systems today.
Don't know how accurate it is, but worth sharing here.
Early Block Diagrams of the A20 P & E Core
Info is tentative since most of it is grabbed from the Geekerwan review and comparing it to last years A19 model
Block Diagrams: bit.ly/32qLLew
μarch Cheat Sheet: bit.ly/2JTplfJ
#CPU #Apple #iPhone #Tech #A20
1/4
Radia Perlman is one of those people who quietly changed how computer networks work.
You may not know her name, but her work is part of the history of Ethernet networks and routing.
In the 1980s, while working at Digital Equipment Corporation, Perlman worked on a problem that sounds simple but is very important.
What happens when a network has multiple paths between switches?
Redundant links are useful because they give the network another path if one fails.
But they can also create loops.
A network frame could keep going around the loop forever.
Perlman's solution was the Spanning Tree Protocol (STP).
STP allows network bridges and switches to discover each other, choose a root bridge and calculate a loop-free logical topology.
Some redundant links are placed into a blocking state, while the remaining links form the active spanning tree.
If the network topology changes, the tree can be recalculated.
This allowed Ethernet networks to have physical redundancy without creating forwarding loops.
Perlman also designed the routing algorithm behind IS-IS, a link-state routing protocol that allows routers to build a map of the network topology and calculate paths through it.
Her work didn't stop there.
She worked on network security, distributed systems and other networking technologies, and later contributed to TRILL, which was designed to provide Layer 2 multipath routing without relying on a single spanning tree.
What I find interesting about Radia Perlman's work is that most people never see it.
You connect your laptop to a network.
You open a website.
You expect everything to work.
Underneath that, switches and routers are running protocols and algorithms that prevent loops, discover paths and move packets through the network.
Radia Perlman didn't build a flashy consumer product.
She worked on the algorithms and protocols underneath computer networks.
And that is why she is one of the most important and underrated people in networking.
Lynn Conway has one of the most interesting stories in computing.
She helped change how modern computer chips are designed, but most people outside the semiconductor world probably don't know her name.
In the 1960s, Conway worked at IBM Research on the Advanced Computing Systems project. In 1965, she developed an approach to dynamic instruction scheduling that allowed multiple instructions to be issued out of order based on their readiness.
This became an important idea in high-performance and superscalar processor design.
Then came the part of her life that could have ended her career.
In 1968, Conway told IBM that she planned to transition. IBM fired her.
She had to start her career again, initially working as a contract programmer and later becoming a computer architect at Memorex.
In 1973, she joined Xerox PARC.
There, she worked with Carver Mead on a much simpler way to design VLSI chips. Their work introduced scalable design rules and a design methodology that made complex chip design much easier to learn and use.
They also co-authored Introduction to VLSI Systems, which became a hugely influential textbook and helped spread the new approach to universities around the world.
Conway also helped develop the rapid chip-prototyping approach that later became the basis for MOSIS.
So her career touched two very different parts of computing:
CPU architecture and VLSI chip design.
The same person who worked on ideas behind out-of-order instruction execution also helped make chip design accessible to a much larger community of engineers.
And she did all of this after being forced to restart her career because she was transgender.
Lynn Conway's story is a reminder that some of the people who changed computing aren't household names.
Their work is simply buried underneath almost everything we use today.
Qualcomm is bringing AI directly into the Adreno GPU with Adreno Neural Fusion.
New Matrix Cores run AI models inside the graphics pipeline, paired with 18MB of Adreno High Performance Memory to keep tiles, frame buffers and compute workloads close to the GPU.
Less data movement means lower latency, better efficiency and lower power for AI-enhanced rendering.
Please read the below thread for a detailed information.
Replying to @dotPavlov @OSdev_
So there are two things: NTDLL loader lock - it serializes access to the loader database, so only one thread can proceed with load library at a time. And then there is reference count of loads for each library - because of that the two threads can operate.
















