2014년 2월 28일 금요일

Mozilla에서 차세대 브라우저로 개발중인 Servo에 대한 소개

Servo: Inside Mozilla's mission to reinvent the web browser for the nulti-core age

http://www.zdnet.com/servo-inside-mozillas-mission-to-reinvent-the-web-browser-for-the-multi-core-age-7000026606/

=> 위 내용에 대한 요약

Servo는 기존의 브라우저들의 단점을 극복하기 위해 완전히 밑바닥부터 개발되고 있는 차세대 브라우저이다. 모질라와 삼성에 의해 개발되고 있다.

현재 주 브라우저들은 쓰레드나 멀티프로세싱을 하긴 하지만 많은 작업을 sequential하게 진행한다. 주로 layout -> rendering -> javascript 의 순이라고 보면 된다. Servo는 이 세작업을 각각의 task로 분리하여 동시에 동작시킨다.
물론 serialisation을 피할 수 없는 것도 있기 때문에 이러한 것들은 sequential하게 동작할 수 밖에 없다. 하지만, 독립적으로 할 수 있는 많은 것들(윈도우를 resize한다던지 또는 iframe의 경우라던지)이 있다. layout의 경우도 tree형태로 동작함으로서 순차적으로 진행해야 하지만 이것을 벗어나 독립적으로 동작시킬 수 있는 것도 있다. Servo는 이것을 기존의 브라우저들보더 더 강하게 parallel layout을 시도한다.
Servo는 Rust를 개발언어로 사용하기 때문에 C/C++에서와 같은 메모리 문제를 발생시키지 않는다. 이것은 보안에 매우 큰 이점을 가진다. Rust는 task 사이에 메모리를 공유하지 않고 서로간에 메시지로 통신하기 때문에 data 공유의 문제가 발생하지 않는다.

댓글 없음:

댓글 쓰기

Building asynchronous views in SwiftUI 정리

Handling loading states within SwiftUI views self loading views View model 사용하기 Combine을 사용한 AnyPublisher Making SwiftUI views refreshable r...