CSE 221 review

THE, Layers
Pro:
-easy to debug
-easy to verify
-modularity abstraction
Cons:
-may nto be efficient (database may not use filesystem (FS cache),it talks to disk directly),you go the kernel,you introduce overhead
-require careful design
-ned to avoid circular dependencies

The first time to design system, it's easy to use layer design, may be the second time you don't need them.

-Synchronization Shared Memory

Nucleus
-small nucleus for supporting multiple simultaneous OS(user level process) implementation
-central abstraction is the concurrent process
-synchronization via message passing
how is is different from Virtual Machine?
-VM wants to virtual hardware, different purpose. Build different flavor of OS (batch, multi-media, real-time).

Cons and Pros of message passing
-clear, hard to mess up
-less efficient

Hydra:
-Capability(reference to an object, attached to a write, e.x: file discriptor has capability with itself, from the user-point) based
Why not using capability (next paper)?
-To delete user, you need to go through every file capability
Windows has very rich ACL model for files,much more than UNIX

Right amplification
-Use level uses system call to access device, it's in a controlled way. System call limit the operation users could operate.

Protection
explicit matrix:
domain--user
object --file
ACLs
Capabilities

Trade-offs among three:
Frequent delete files ACL is better
Capability advantage, when you try to access,it's much faster to use capability. That's why Unix uses open call first to check ACL, after that it uses capability. It's not efficient to check ACL every time. Because write/read gonna be performed many time. Open only once.


Tenex
Shades of UNIX in many places
How was sharing in Tenex?
-point to the same physical page
Share almost the same code and data
-Copy on write
How backward capability?
-Wrap all the old system call, it uses library(runtime library)

Multics
Both ACLs and capabilities
The system that motivates Unix
ACL
-easy to use and understand
-slow to check WHY?
Require special hardware
-object are mapped into memory
-Map a file into memory in oder to access


UNIX
Different from Multics,Tenex
-Don't require special hardware
-file
--clean abstraction
-portable


PLAN9
Network,
What does Plan 9 reject
-
What's it's model
-file server just does file service(no user processes)
-cpu serverrun cpu intensive jobs (similar to cloud)
-users use terminal
-routers .. route
-upgrade cpu and file server benefit all users


Pilot
Goal
--design issues for a PC OS
How is PC environment different from a time-sharing env, how is the difference reflected in Pilot?
-single user
-resources dont's have to be shared among users (check), defensive protection, don't worry about security(e.g network)
-processes cooperative more than competitive
-fairness not as much of an issue
-single address space
When hint acceptabel to time sharing system?
-requests can't be guaranteed
e.g when to page out data.

Medusa
explore structure of distributed OS
--OS partitioned (chosen, some for files)
--OS executes on one node only
--OS executes on every node

Mesa
Do a signal, other thread is not scheduled right away. Just put to the ready queue.
Why?
Performance, when I signal, I can continue, I don't need context switch.

V Kernel
message based IPC for diskless workstation
synchronize
Control & Data message, fixed size
Sol:
-operations are implemented in kernel
-raw Ethernet data link level, no protocol
-request-response nature builds a reliable system
-no per-packet ack
-File page-level transfers require the minimal number of packets
Large Files server

Sprite
network OS
-large mem
-multi-processor
-single uniform name space for files and devices
Extends Unix in three interesting ways
-single uniform name space for files and devices
-share memory among processes
-process migration(transparently from one machine to another)

Grapevine:
message service (human readable text)& registration service(authentication,naming access control)
Scalable: add more server rather than more powerful server
Transparency VS Easy to Implement
-a goal of complete transparency is impossible, and not a good decision
Message Delivery transparency (if one server is down, users could use other server to deliver message,hide low level details, users view it like a single server)
-Email System
-Decide what's transparent,

GMS
Goal: Use idle memory resources
Global Memory & Local Memory
Algo: LRU
It relies on that network is faster than disk for paging.

MicroKernel/Exokernel

VM/370
CP is an operating system that simulate copies of the machine itself

Remote Procedure Call
Complicated Calls:
-if the contents need multiple packets to fit, only the last one need ack
Simple Calls:
-received packet containing the result is considered to be an ack
Only the server needs a buffer: since multiple clients may call the same procedure, the server needs time to handle them and a buffer to stored un-handled procedures.
user--stub(pack packet)--RPC runtime(send packet)
Grapevine can be used as an authentication server

VAX/VMS

评论

此博客中的热门博文

Embedded System interview Question

MicroKernel & Exokernel 操作系统未来可能的发展

中国城市房地产分析