본문 바로가기

분류 전체보기

(21)
Linux Kernal Internal > Ch5 파일시스템과 가상 파일시스템(1) ☆★☆2016.01.13 작성☆★☆ ☆★☆참고책 _리눅스 커널 내부구조(저자_백승재, 최종무)☆★☆ 1. 파일시스템 일반 * 파일시스템 : 보조 기억장치(ex 하드 디스크) 같은 저장장치를 관리하는 소프트웨어 - 기억장치는 한정, 내부/외부 단편화 최소화 * 메모리 관리 기법과 파일시스템의 차이 : naming 기법 - 메모리 관리 기법 + Naming = 파일시스템 - 파일시스템은 사용자에게 이름이라는 속성으로 접근되는 '파일'이라는 개념 제공 - 이름 값을 입력받아 해당 데이터 처리, 리턴 * 파일시스템의 하드디스크의 정보 - 메타 데이터 : 파일의 속성 정보, 이름 데이터 블록 인덱스 등.. 저장 - 사용자 데이터 : 실제 기록하려는 내용 저장 2. 디스크 구조와 블록 관리 기법 (그림참조) htt..
Linux Kernal Internal > Ch3 태스크 관리(3) ☆★☆2016.01.07 작성☆★☆ ☆★☆참고책 _리눅스 커널 내부구조(저자_백승재, 최종무)☆★☆ 7. 런 큐와 스케줄링 - 스케줄링을 위한 수행 가능 상태의 태스크를 자료구조를 통해 관리 * 런 큐(run queue) : 리눅스에서의 스케줄링을 위한 자료구조 운영체제에 따라 1개, 여러개(CPU별 1개의 런 큐 유지) * 태스크 생성 - init_task 라는 헤더를 가진 이중 연결 리스트에 삽입 - 다중 CPU의 경우, 자식 태스크는 부모 태스크의 런 큐에 삽입(캐시 친화력↑) ​ - 대기 상태에서 깨어난 태스크는 대기 전의 런 큐에 삽입(캐시 친화력↑) + 캐시 친화력? 호출했던 것을 다시 호출할 확률 ↑(시간/공간 캐시) * 스케줄링 ① 실시간 태스크 스케줄링 - FIFO, RR : 우선 순위 ..
Linux Kernal Internal > Ch3 태스크 관리(2) ☆★☆2016.01.07 작성☆★☆ ☆★☆참고책 _리눅스 커널 내부구조(저자_백승재, 최종무)☆★☆ 5. 태스크 문맥 * system context - 태스크 정보 유지 위해 할당한 자료구조 ex) task_struct, 파일 디스크립터, 파일 테이블, 세그먼트 테이블, 페이지 테이블... * memory context - text, data, stack, heap 영역, 스왑공간... * hardware context - 문맥 교환시, 태스크 현재 실행 위치 정보 유지 * task_struct 자료 구조 변수 - /usr/src/linux-headers-3.19.0-25/include/linux/sched.h 에서 확인 가능 ① task identification - 태스크를 인식하기 위한 변수들 ex..
Linux Kernal Internal > Ch3 태스크 관리(1) ☆★☆2016.01.07 작성☆★☆ ☆★☆참고책 _리눅스 커널 내부구조(저자_백승재, 최종무)☆★☆ 1. 프로세스와 쓰레드 그리고 태스크 * 태스크(task) : 자원소유권의 단위 * 쓰레드(thread) : 수행의 단위 * 프로세스(process) : running or runnable program 동작중인 프로그램으로 정의. 동적인 객체가 프로세스가 됨. * 프로그램(program) : 디스크에 저장되어있는 수동적인 파일 형태 ≒ 실행파일. * 프로그램이 수행되기 위해서 자원을 할당 받은 것이 프로세스. 2. 사용자 입장에서 프로세스 구조 * 프로세스가 수행되기 위해서 여어 자원들(가상 주소 공간)을 커널로부터 할당 받아야 함 * 32bit CPU, 각 프로세스 4GB 가상공간(실제 물리주소x) 할..
Android Studio> Hello World! ​☆★☆2017.08.10 작성☆★☆ Android Studio는 Google에서 만든 IntelliJ IDEA 기반 안드로이드 App 개발 IDE 인데요, 저도 지금까지 이클립스를 이용해서 App 개발을 하다가 처음 접해봅니다. ​ ++ Android Studio 다운은 요기서 받을 수 있습니다~ https://developer.android.com/sdk/index.html ​ ​강의도 들을 겸 Android Studio를 이용해서 미리 첫 프로젝트를 만들어 볼 거에요. ​우선, Android Studio를 클릭해서 들어가면 Setup화면이 뜹니다. ​ ​ ​ 새로운 프로젝트 생성을 위해 'Start a new Android Studio project' 클릭! ​ ​ ​ Application name..