구글 크롬 OS 설치하기
->느낌:  리눅스에 구글 크롬 설치한거네..

Virtualbox, 크롬 OS 설치 방법 소개
http://www.junauza.com/2010/02/how-to-install-google-chrome-os.html


윈도우에서 사용해보기.
<virtualbox 다운로드>
http://www.virtualbox.org/wiki/Downloads 에서 윈도우용 virtualbox 를 설치한다.
VirtualBox 4.0.8 for Windows hosts x86/amd64 에서 링크 선택, 다운로드

<크롬 다운로드>

http://getchrome.eu/download.php 에서최신판을 다운받는다.

Download Chrome OS Linux 1.2.725 RC (x86) Live CD

 

'scribbling' 카테고리의 다른 글

2010년 웹 프레임워크 트렌드 (devoxx 발표 자료)  (0) 2011.05.24
생각을 많이 하게된 어제..  (0) 2011.05.18
오픈 소스 라이센스 내용  (0) 2011.05.02
RTOS 참고 블로그  (0) 2011.04.21
그냥 들은얘기  (0) 2011.04.20
Posted by '김용환'
,

'scribbling' 카테고리의 다른 글

생각을 많이 하게된 어제..  (0) 2011.05.18
구글 크롬 OS 설치하기  (0) 2011.05.17
RTOS 참고 블로그  (0) 2011.04.21
그냥 들은얘기  (0) 2011.04.20
리눅스에서 임베디드 드라이버 추가할 때마다..  (0) 2011.04.18
Posted by '김용환'
,

RTOS 참고 블로그

scribbling 2011. 4. 21. 11:17

'scribbling' 카테고리의 다른 글

구글 크롬 OS 설치하기  (0) 2011.05.17
오픈 소스 라이센스 내용  (0) 2011.05.02
그냥 들은얘기  (0) 2011.04.20
리눅스에서 임베디드 드라이버 추가할 때마다..  (0) 2011.04.18
OS 이해  (0) 2011.04.18
Posted by '김용환'
,

그냥 들은얘기

scribbling 2011. 4. 20. 12:34


nor flash : char  device
nand flash : block  device

usb는 block device
버퍼링하다가 쓰는 시점이 달라지기 때문에 데이터가 모두 날아갈 수 있는 상황이 생긴다.

nand 에 부트로더를 올리면, 바로 실행이 불가능하다.. 다른 방법 사용
nor에 부트로더를 올리면 바로 실행이 가능하다.

nor가 nand보다 비싸다.. 

리눅스 커널은 램에서 실행이 되는데, 부트로더에 대한 이해가 필요하다.
부트로더가 먼저 커널을 실행시키는데, 어떤 nor 를 쓰느냐에 따라서 속도가 달라진다.
(즉 적재할 떄가지가 중요하다.)

요즘에 나오는 스마트폰은 flash (nand)를 사용하는데, startup 코드가 다른 구조를 가진다.
파워를 키면, 조금만한 sram 또는 nor를 두고, 분리해서 넣도록 한다.
이때부터 거기서 bootloader가 읽어와서 nand에 있는 정보를 읽어온다.


SOC  (system on chip) : 칩하나에 시스템을 운영할 것들이 들어가 있다
cpu, ram, io 가 구성되어 있다. 키보드/led는 밖에 있다.
대부분은 nor를 쓴다. kb 단위의 작은 용량이다. bootcode를 집어넣을 수 있도록 되어 있다.

그래야 device driver에 대한 감을 잡을 수 있다.

'scribbling' 카테고리의 다른 글

오픈 소스 라이센스 내용  (0) 2011.05.02
RTOS 참고 블로그  (0) 2011.04.21
리눅스에서 임베디드 드라이버 추가할 때마다..  (0) 2011.04.18
OS 이해  (0) 2011.04.18
fosdem, 동영상 자료  (0) 2011.04.12
Posted by '김용환'
,

embbed 드라이버를 추가할 때마다 새로운 function, 즉 소트프웨어 인터럽트를 개발해야 한다고 생각할 수 있다. 하지만, 디바이스 추가할때마다 새로운 디바이스 프로그램을 하기위한 라이브러리 시스템 콜 테이블 추가를 하지 않는다. file operation function을 사용하여,  그 역할을 대행하면 된다. 즉 임베디드 시스템에서는 file operation fuction을 사용한다.

'scribbling' 카테고리의 다른 글

RTOS 참고 블로그  (0) 2011.04.21
그냥 들은얘기  (0) 2011.04.20
OS 이해  (0) 2011.04.18
fosdem, 동영상 자료  (0) 2011.04.12
제임스 고슬링 구글 입사하다.  (0) 2011.03.29
Posted by '김용환'
,

OS 이해

scribbling 2011. 4. 18. 11:12


os의 근본 기능 : 멀티태스킹 (time sharing)
firmware : os없이 바로 실행될 수 있도록 개발된 것 (cpu 처리 코드-어셈블러)
embedded : cpu가 붙어있는 보드
시스템 프로그래밍 : 시스템 콜 함수를 이용해서 프로그래밍하는 것

 

Posted by '김용환'
,

한국에서는 많이 유명하지 않지만,  FOSDEM 이라고 해서, 유럽에서 열리는 컨퍼런스가 있다.

무료이고, fosdem.org 커뮤니티에서 의해서 non-comercial하게 매년 열리고 있다.

등록을 안해도 들어가서 들어가서 들을 수 있습니다.  이 커뮤니티의 목표는 Free & 오픈 소스 개발자에게 열려 있는 공간이다.

 

올해 발표한 main talks들은 다음과 같고, 흥미로운 주제들이 많이 있다.

http://www.fosdem.org/2011/schedule/main-tracks

 

대부분 동영상 자료들은 아래 싸이트에서 다운받을 수 있다.

http://video.fosdem.org/2011/

 

또한, 예전 동영상 자료들도 video.fosdem.org에서 으로 볼 수 있다.

Posted by '김용환'
,

'scribbling' 카테고리의 다른 글

OS 이해  (0) 2011.04.18
fosdem, 동영상 자료  (0) 2011.04.12
Annotated Outline of Collections Framework  (0) 2011.03.25
Apache Hadoop: Best Practices and Anti-Patterns  (0) 2011.03.25
룰라의 눈물  (0) 2011.02.04
Posted by '김용환'
,

내가 모르는 게 있었다.. 쓰는 것만 썼더니. 부족한게 많네. 공부 열심히 해야지..


http://download.oracle.com/javase/6/docs/technotes/guides/collections/reference.html

Annotated Outline of Collections Framework

The collections framework consists of:
  • Collection Interfaces - The primary means by which collections are manipulated.
    • Collection - A group of objects. No assumptions are made about the order of the collection (if any), or whether it may contain duplicate elements.
    • Set - The familiar set abstraction. No duplicate elements permitted. May or may not be ordered. Extends the Collection interface.
    • List - Ordered collection, also known as a sequence. Duplicates are generally permitted. Allows positional access. Extends the Collection interface.
    • Queue - A collection designed for holding elements prior to processing. Besides basic Collection operations, queues provide additional insertion, extraction, and inspection operations.
    • Deque - A double ended queue, supporting element insertion and removal at both ends. Extends the Queue interface.
    • Map - A mapping from keys to values. Each key can map to at most one value.
    • SortedSet - A set whose elements are automatically sorted, either in their natural ordering (see the Comparable interface), or by a Comparator object provided when a SortedSet instance is created. Extends the Set interface.
    • SortedMap - A map whose mappings are automatically sorted by key, either in the keys' natural ordering or by a comparator provided when a SortedMap instance is created. Extends the Map interface.
    • NavigableSet - A SortedSet extended with navigation methods reporting closest matches for given search targets. A NavigableSet may be accessed and traversed in either ascending or descending order.
    • NavigableMap - A SortedMap extended with navigation methods returning the closest matches for given search targets. A NavigableMap may be accessed and traversed in either ascending or descending key order.
    • BlockingQueue - A Queue with operations that wait for the queue to become non-empty when retrieving an element, and that wait for space to become available in the queue when storing an element. (This interface is part of java.util.concurrent.)
    • BlockingDeque - A Deque with operations that wait for the deque to become non-empty when retrieving an element, and wait for space to become available in the deque when storing an element. Extends both the Deque and BlockingQueue interfaces. (This interface is part of java.util.concurrent.)
    • ConcurrentMap - A Map with atomic putIfAbsent, remove, and replace methods. (This interface is part of java.util.concurrent.)
    • ConcurrentNavigableMap - A ConcurrentMap that is also a NavigableMap.
  • General-Purpose Implementations - The primary implementations of the collection interfaces.
    • HashSet - Hash table implementation of the Set interface. The best all-around implementation of the Set interface.
    • TreeSet - Red-black tree implementation of the NavigableSet interface.
    • LinkedHashSet - Hash table and linked list implementation of the Set interface. An insertion-ordered Set implementation that runs nearly as fast as HashSet.
    • ArrayList - Resizable-array implementation of the List interface. (Essentially an unsynchronized Vector.) The best all-around implementation of the List interface.
    • ArrayDeque - Efficient resizable-array implementation of the Deque interface.
    • LinkedList - Doubly-linked list implementation of the List interface. May provide better performance than the ArrayList implementation if elements are frequently inserted or deleted within the list. Also implements the Deque interface. When accessed via the Queue interface, LinkedList behaves as a FIFO queue.
    • PriorityQueue - Heap implementation of an unbounded priority queue.
    • HashMap - Hash table implementation of the Map interface. (Essentially an unsynchronized Hashtable that supports null keys and values.) The best all-around implementation of the Map interface.
    • TreeMap Red-black tree implementation of the NavigableMap interface.
    • LinkedHashMap - Hash table and linked list implementation of the Map interface. An insertion-ordered Map implementation that runs nearly as fast as HashMap. Also useful for building caches (see removeEldestEntry(Map.Entry) ).
  • Wrapper Implementations - Functionality-enhancing implementations for use with other implementations. Accessed solely through static factory methods.
    • Collections.unmodifiableInterface - Return an unmodifiable view of a specified collection that throws an UnsupportedOperationException if the user attempts to modify it.
    • Collections.synchronizedInterface - Return a synchronized collection that is backed by the specified (typically unsynchronized) collection. As long as all accesses to the backing collection are through the returned collection, thread-safety is guaranteed.
    • Collections.checkedInterface - Return a dynamically typesafe view of the specified collection, which throws a ClassCastException if a client attempts to add an element of the wrong type. The generics mechanism in the language provides compile-time (static) type checking, but it is possible to defeat this mechanism. Dynamically typesafe views eliminate this possibility entirely.
  • Convenience Implementations - High-performance "mini-implementations" of the collection interfaces.
  • Legacy Implementations - Older collection classes have been retrofitted to implement the collection interfaces.
    • Vector - Synchronized resizable-array implementation of the List interface with additional "legacy methods."
    • Hashtable - Synchronized hash table implementation of the Map interface that does not allow null keys or values, with additional "legacy methods."
  • Special Purpose Implementations
    • WeakHashMap - An implementation of the Map interface that stores only weak references to its keys. Storing only weak references allows key-value pairs to be garbage-collected when the key is no longer referenced outside of the WeakHashMap. This class provides the easiest way to harness the power of weak references. It is useful for implementing "registry-like" data structures, where the utility of an entry vanishes when its key is no longer reachable by any thread.
    • IdentityHashMap - Identity-based Map implementation based on a hash table. This class is useful for topology-preserving object graph transformations (such as serialization or deep-copying). To perform such transformations, you need to maintain an identity-based "node table" that keeps track of which objects have already been seen. Identity-based maps are also used to maintain object-to-meta-information mappings in dynamic debuggers and similar systems. Finally, identity-based maps are useful in thwarting "spoof attacks" resulting from intentionally perverse equals methods. (IdentityHashMap never invokes the equals method on its keys.) An added benefit of this implementation is that it is fast.
    • CopyOnWriteArrayList - a List implementation backed by an copy-on-write array. All mutative operations (such as add, set, and remove) are implemented by making a new copy of the array. No synchronization is necessary, even during iteration, and iterators are guaranteed never to throw ConcurrentModificationException. This implementation is well-suited to maintaining event-handler lists (where change is infrequent, and traversal is frequent and potentially time-consuming).
    • CopyOnWriteArraySet - A Set implementation backed by a copy-on-write array. This implementation is similar in nature to CopyOnWriteArrayList. Unlike most Set implementations, the add, remove, and contains methods require time proportional to the size of the set. This implementation is well-suited to maintaining event-handler lists that must prevent duplicates.
    • EnumSet - a high-performance Set implementation backed by a bit-vector. All elements of each EnumSet instance must be elements of a single enum type.
    • EnumMap - a high-performance Map implementation backed by an array. All keys in each EnumMap instance must be elements of a single enum type.
  • Concurrent Implementations - These implementations are part of java.util.concurrent.
    • ConcurrentLinkedQueue - An unbounded FIFO (first-in first-out) queue based on linked nodes.
    • LinkedBlockingQueue - An optionally bounded FIFO blocking queue backed by linked nodes.
    • ArrayBlockingQueue - A bounded FIFO blocking queue backed by an array.
    • PriorityBlockingQueue - An unbounded blocking priority queue backed by a priority heap.
    • DelayQueue - A time-based scheduling queue backed by a priority heap.
    • SynchronousQueue - A simple rendezvous mechanism utilizing the BlockingQueue interface.
    • LinkedBlockingDeque - An optionally bounded FIFO blocking deque backed by linked nodes.
    • ConcurrentHashMap - A highly concurrent, high-performance ConcurrentMap implementation based on a hash table. This implementation never blocks when performing retrievals and allows the client to select the concurrency level for updates. It is intended as a drop-in replacement for Hashtable: in addition to implementing ConcurrentMap, it supports all of the "legacy" methods peculiar to Hashtable.
    • ConcurrentSkipListSet - Skip list implementation of the NavigableSet interface.
    • ConcurrentSkipListMap - Skip list implementation of the ConcurrentNavigableMap interface.
  • Abstract Implementations - Skeletal implementations of the collection interfaces to facilitate custom implementations.
    • AbstractCollection - Skeletal Collection implementation that is neither a set nor a list (such as a "bag" or multiset).
    • AbstractSet - Skeletal Set implementation.
    • AbstractList - Skeletal List implementation backed by a random-access data store (such as an array).
    • AbstractSequentialList - Skeletal List implementation backed by a sequential-access data store (such as a linked list).
    • AbstractQueue - Skeletal Queue implementation.
    • AbstractMap - Skeletal Map implementation.
  • Algorithms - The Collections class contains these useful static methods:
  • Infrastructure
    • Iterators - Similar to the familiar Enumeration interface, but more powerful, and with improved method names.
      • Iterator - In addition to the functionality of the Enumeration interface, allows the user to remove elements from the backing collection with well defined, useful semantics.
      • ListIterator - Iterator for use with lists. In addition to the functionality of the Iterator interface, supports bi-directional iteration, element replacement, element insertion and index retrieval.
    • Ordering
      • Comparable - Imparts a natural ordering to classes that implement it. The natural ordering may be used to sort a list or maintain order in a sorted set or map. Many classes have been retrofitted to implement this interface.
      • Comparator - Represents an order relation, which may be used to sort a list or maintain order in a sorted set or map. Can override a type's natural ordering, or order objects of a type that does not implement the Comparable interface.
    • Runtime Exceptions
      • UnsupportedOperationException - Thrown by collections if an unsupported optional operation is called.
      • ConcurrentModificationException - Thrown by iterators and list iterators if the backing collection is modified unexpectedly while the iteration is in progress. Also thrown by sublist views of lists if the backing list is modified unexpectedly.
    • Performance
      • RandomAccess - Marker interface that allows List implementations to indicate that they support fast (generally constant time) random access. This allows generic algorithms to alter their behavior to provide good performance when applied to either random or sequential access lists.
  • Array Utilities
    • Arrays - Contains static methods to sort, search, compare, hash, copy, resize, convert to String, and fill arrays of primitives and Objects.
Posted by '김용환'
,

 

 

http://developer.yahoo.com/blogs/hadoop/posts/2010/08/apache_hadoop_best_practices_a/



Apache Hadoop : Best practices 와 Anti-Patterns

– Yahoo Hadoop팀의 기획자인 Arun C Murthy는 야후 개발자 블로그를 통해 잘 작성된 하둡 어플리케이션의 특성과 하둡 프레임워크를 잘 이용하기 위한 가이드와 함께 어플리케이션의 잘못 작성된 패턴도 간략히 공개.

그리드 환경에서 동작하는 어플리케이션의 패턴 중심으로 설명하였으며 주요 내용은 다음과 같다.

1. HDFS 파일 블럭 사이즈보다 작은 수천개의 파일을 하나의 맵 프로세스에서 처리하지 말 것.

2. 수초의 동작 시간을 가지는 수천개의 맵을 만들지 말 것.

3. 맵을 6,7만개 이상 만들지 말 것.

4. 큰 데이터 셋이 있을때 소수의 리듀스만 지정하지 말 것.

5. 태스크마다 수십 수백개의 카운터를 사용하지 말 것.

 

 

Posted by '김용환'
,