6
(You may have noticed
that a “foreground” priority is also defined.
This is not used in current Android;
it was in the original implementation,
but we found that the Linux scheduler
does not give enough preference to threads
based on pure priority,
so (we) switched to cgroups in Android 1.6.)
당신은 아마도 foregound 우선권 또한 정의 됐다고 알고 있을 겁니다.
이것은 현재 안드로이드에서 쓰이지 않습니다.
그것은 원래 구현에 있었습니다. 그러나 우리는 리눅스 스케쥴러가 실제 순서에 기초된 쓰레드에게
충분한 특혜를 주지 않는다는 것을 발견했습니다.
그래서 우리는 android 1.6부터 cgroups로 변경했습니다.
I have also seen a number of claims
that the basic Android design
is fundamentally flawed and archaic
because it doesn’t use a rendering thread like iOS.
나는 또한 안드로이드는 iOS 처럼 랜더링 쓰레드를 쓰지 않기 때문에
안드로이드 기초 설계는 기본적으로 잘못 됐고 구식이라는 많은 주장들을 봤습니다.
(렌더링(Rendering)은 컴퓨터 프로그램을 사용하여 모델로부터 영상을 만들어내는 과정을 말한다.)
There are certainly some advantages
to how iOS work,
but this view is too focused
on one specific detail to be useful,
There are certainly some advantages
to how iOS work,
and glosses over(얼버무리고 넘어가다)
actual similarities
in how they behave.
iOS 동작 방식이 확실히 몇 가지 이점이 있습니다.
그러나 이 관점은(this view 이런 불만들이 보는 시선?) 너무 유용한 하나의 특정 기능에 집중되어 있습니다.
그리고 이러한 관점은 그들이(iOS와 android의) 동작하는 방식의 실제 유사성에 대해 얼버무리고 넘어갑니다.
=> 이 부분 잘 모르겠어요. 올바르게 해석한게 맞나요?
8
Android had
a number of very different original design goals
than iOS did(had).
안드로이드는 원래 설계 목표는 iOS의 목표와는 매우 많은 차이점을 가졌습니다.
A key goal of Android
was to provide an open application platform, using application sandboxes
to create a much more secure(안전한?) environment
that doesn’t rely on a central authority to verify that applications do what they claim.
안드로이드의 중요 목표는 오픈 어플리케이션 플랫폼에서 제공하고 어플리케이션 샌드박스들을 사용하는 것과
(sandbox -보호된 영역에서 프로그램을 동작 시키는 것)
어플리케이션이 요구하는 동작을 중앙 권한 인증에 의존하지 않는 더 안전한 환경을 만드는 것이었습니다.
To achieve this,
it uses Linux process isolation and user IDs
to prevent each application
from being able to access the system or other application
in ways that are not controlled and secure.
이것을 성취하기 위해서 리눅스 프로세스 독립상태와 사용자 ID들을 사용합니다.
각각의 어플리케이션이 통제되지 않거나 안전하지 않은 방법들로 시스템이나 다른 어플리케이션에 접근할 수 있는 것을 예방할 수 있습니다.
9
This is very different from iOS’s original design constraints,
which didn’t allow any third party applications at all.
이것은 iOS의 기초 설계 제약들과는 매우 다릅니다.
iOS는 third party 어플리케이션들에게는 아무 것도 허락하지 않았습니다.
* third party(제 삼자 : 단말 제조사 측에서 만든 어플이 아닌..제삼자 어플)
10
An important part of achieving this security
is having a way
for individual UI elements to share the screen
in a secure way.
이런 보안을 달성하는 데 있어 중요한 부분은
각각의 UI 요소들이 화면을 안전한 방법으로 공유하도록 하는 것 입니다.
(EDIT: It has been pointed out to me
that iOS does in fact use multiple windows and multiple GL contexts.
(수정: 누군가 나에게 지적했는데, iOS가 실제로는 multiple windows와 multiple GL contexts를 사용한다고 했습니다.
Lesson to me, just don't talk about anything
that I haven't directly verified. :)
내가 직접적으로 검증되지 않은 어떤 것에 대해 말한 것이 잘못됐다면 나에게 알려(가르쳐) 주세요.
That still doesn't change things for Android, though,
where as I mention later
we simply did not have hardware and drivers
that could do multiple GL contexts until fairly recently.)
그럼에도 불구하고 Android에 대한 나의 진술은 여전히 유효합니다.
반면에 내가 아래에 언급한바와 같이
우린 단지 꽤 최근까지 multiple GL contexts를 수행할 수 있는 하드웨어와 드라이버들을 보유하지 않았을 뿐입니다.)
>> 그래서 안드로이드에 윈도우들이 있는 것이다.
응? 몬 의미?
=> 안드로이드에는 iOS 처럼 multiple GL contexts를 수행할 수 있는 하드웨어와 드라이버들을 갖고 있지 않기 때문에
윈도우들이(윈도우라는 개념? 동작 행동?) 있습니다.
This is why
there are windows on Android.
그렇기에 안드로이드에는 윈도우들이 있는 것입니다.
The status bar and its notification shade
are windows
owned and drawn by the system.
상태바와 알림창은 시스템에 의해 그려지고 소유된 윈도우들입니다.
>> 시스템이 가리키는 것은? OS? 안드로이드 시스템?
=>네 Android OperatingSystem
These are separate
from the application’s window,
so the application can not touch anything about the status bar,
such as to scrape(긁어내다??) the text of SMS messages
as they are displayed there.
이것들은 어플리케이션 윈도우와는 분리되어 있습니다.
그래서 어플리케이션들은 상태바에 손댈 수 없는데
예를 들어서 sms messages들이 거기에 표시 됐을 때 text를 긁어내는 것 같은 행동은 할 수 없습니다.
Likewise
the soft keyboard is a separate window,
owned by a separate application,
비슷한 예로
소프트키보드는 각각의 어플이 소유하고 있는 분리된 윈도우이고
and it and the application
can only interact with each other
through a well defined and controlled interface.
소프트키보드와 어플리케이션은 잘 정의되고 컨트롤된(통제된) 인터페이스를 통해서만 서로에게 상호작용을 할 수 있습니다.
(This is also why
Android can safely support third party input methods.)
또한 이것은 android 가 안전하게 third party 입력 방법을 지원할 수 있는 이유입니다.