ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Android Operation System
    안드로이드 학습/Android Developer RoadMap 2023. 5. 10. 10:04
    차례 :
    1. Android Operating System
    2. Multi-User Linux
    3. File Permissions
    4. Resource isolations
    5. Process Management

    1. Android Operation System

    안드로이드는 스마트폰, 태블릿 PC 같은 터치스크린 모바일 장치 용으로 디자인된 운영 체제이자 수정된 리눅스 커널 버전을 비롯한 오픈 소스 소프트웨어에 기반을 둔 모바일 운영 체제다.

     

    또한, 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS) 등을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다

     

    안드로이드는 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 

     

    또한 안드로이드 소프트웨어 개발 키트(SDK)를 통해 응용 프로그램을 개발하는 데 필요한 각종 도구와 응용 프로그램 인터페이스(API)를 제공한다.

     

    참조 : 위키백과 

     

    >>> 말이 너무 어렵다... 제가 해석 한걸로는 그냥 안드로이드 os는

    • 리눅스 커널 기반으로 모바일용 운영체제다.
    • 여러가지 응용 프로그램도 사용 가능하다.
    • 자바와 코틀린 언어로 응용 프로그램 작성 가능하다.   

     

    2. Multi-User Linux

    Multi-User Linux는 리눅스 운영 체제가 여러 사용자를 동시에 지원할 수 있는 기능을 말합니다. 각 사용자는 고유한 로그인 자격 증명을 가진 사용자 계정을 갖고, 동일한 시스템에서 동시에 다른 작업 및 응용 프로그램을 수행할 수 있습니다.

     

    예를 들어서, 대학교 computer lab실에서 Linux 환경 기반에서 과제나 작업을 하다가 저장하고 개인 컴퓨터에서 작업을 이어서 할수 있다. 이것은 Linux는 Multi user system 방식을 채택하고 있기 때문에 서버에 접속할 수만 있다면 어디서든지 해당 OS를 사용할 수가 있다.

     

    안드로이드 운영 체제는 다중 사용자 기능을 지원합니다. 예를 들어, 단일 안드로이드 스마트폰을 여러 사용자가 공유할 수 있습니다. 이 경우, 각 사용자는 자신의 고유한 사용자 계정을 가질 수 있으며, 다른 사용자와 동시에 다른 앱 및 작업을 수행할 수 있습니다. 

     

    >>> 안드로이드에 여러 사용자가 계정을 등록을 해서 사용할 수 있는 부분을 말하는 듯 싶다. 

     

    3. File Permission

    파일 권한은 파일 또는 디렉토리에 대한 액세스 권한을 제어합니다. 안드로이드는 리눅스 운영 체제 기반으로 작동하기 때문에, 리눅스 파일 권한 시스템을 사용합니다.

     

    파일 권한은 기본적으로 세 가지 유형으로 구성됩니다. 

    • 읽기(r): 파일의 내용을 읽을 수 있는 권한
    • 쓰기(w): 파일의 내용을 수정하거나 파일을 생성, 삭제할 수 있는 권한
    • 실행(x): 파일을 실행할 수 있는 권한

     

    안드로이드에서는 특정 앱이 파일 또는 디렉토리에 액세스하려면, 해당 파일 또는 디렉토리의 권한 설정에 따라 적절한 권한을 부여해야 합니다. 이것은 보안상의 이유로 중요하며, 특정 파일 또는 디렉토리에 대한 액세스 권한을 필요로 하는 앱은 권한을 요청하는 팝업을 표시합니다.

     

    4. Resource isolations

    안드로이드는 리소스 격리(Resource Isolation)를 통해 앱들이 서로 영향을 주지 않고 독립적으로 실행될 수 있도록 보장합니다. 리소스 격리란 시스템 내에서 각 앱이 자신의 리소스에만 접근할 수 있도록 하는 것입니다. 

     

    안드로이드에서는 각 앱이 자신만의 프로세스를 가지며, 앱 간 통신을 위한 인터페이스로서 IPC(Inter-Process Communication)를 제공합니다. 이를 통해 앱들은 서로 독립적으로 실행될 수 있으며, 다른 앱의 리소스에 대한 접근 권한을 가지지 않습니다. 또한 안드로이드는 각 앱마다 고유한 사용자 ID를 할당하여 리소스 접근을 제한합니다. 

     

    예를 들어, 앱이 접근할 수 있는 파일이나 네트워크 리소스는 앱이 속한 사용자 그룹에만 허용됩니다. 이를 통해 앱들이 서로의 리소스에 접근할 수 없으며, 보안성을 높일 수 있습니다. 또한 안드로이드는 앱에 대한 제한된 권한을 부여하여, 앱이 필요로 하는 권한 이상의 권한을 가지지 않도록 합니다. 

     

    이를 통해 앱의 보안성을 높이고, 사용자 데이터의 안전성을 보장할 수 있습니다. 안드로이드의 리소스 격리는 시스템의 안정성과 보안성을 유지하는 데 매우 중요한 역할을 합니다. 따라서 개발자는 앱을 개발할 때 안드로이드의 리소스 격리에 대한 이해와 이를 고려한 설계가 필요합니다.

     

    >>> 각각의 앱별로 자신의 resource만 접근 가능하다는 얘기

     

    5. Process Management

    Process Management은 컴퓨터 시스템에서 실행되는 작업들을 관리하는 것을 말합니다. 프로세스는 실행 중인 프로그램 또는 작업이며, 시스템에서 실행되는 모든 프로세스는 시스템 자원(예: CPU, 메모리, I/O 디바이스)을 사용합니다.

     

    Process Management은 프로세스를 생성, 제거, 일시 중지, 재개 및 스케줄링하는 것을 포함합니다. 이를 통해 시스템은 여러 작업을 동시에 처리하고, 리소스 사용을 효율적으로 관리할 수 있습니다. 

     

    프로세스 관리는 운영 체제에서 핵심적인 역할을 담당하며, 운영 체제는 시스템의 상태를 모니터링하고, 리소스 할당 및 성능 최적화를 수행합니다. 이를 통해 시스템은 안정적으로 동작하고, 최대한의 성능을 발휘할 수 있습니다.

     

     

    1~5번까지 이해하려면 리눅스에 대한 더 넓은 이해가 필요할듯 싶다.

    1. Android Operating System
    2. Multi-User Linux
    3. File Permissions
    4. Resource isolations
    5. Process Management

    '안드로이드 학습 > Android Developer RoadMap' 카테고리의 다른 글

    Activities  (0) 2023.05.18
    App Components  (0) 2023.05.15
    Android Platform Archiecture  (0) 2023.05.13
    Android Package : APK, AAB (Application Fundamentals)  (0) 2023.05.09
    Android Developer Roadmap 2022  (0) 2023.05.08
Designed by Tistory.