[리눅스커널] 워크큐: 워커 자료구조인 struct worker 구조체 알아보기
By Guillermo Austin Kim | 2019년 9월 22일 |
워커를 관리하고 저장하는 자료구조는 struct worker 구조체입니다. 이번 시간에는 struct worker 구조체 세부 필드를 분석하겠습니다. struct worker 구조체 분석하기 다음은 struct worker 구조체 선언부입니다.[https://elixir.bootlin.com/linux/v4.19.30/source/kernel/workqueue_internal.h]1 struct worker {2 union {3 struct list_head entry; 4 struct hlist_node hentry; 5 };6 struct work_struct *current_work; 7 work_func_t current_func; 8 struct pool_workqueue *current
[리눅스커널] 워크큐(Workqueue) - 딜레이워크(delayed_work)는 어떻게 실행하나?
By Guillermo Austin Kim | 2018년 9월 26일 |
딜레이 워크를 실행하려면 어떤 함수를 호출해야 할까요? schedule_delayed_work() 함수를 실행하면 됩니다. 먼저 딜레이 워크를 실행하는 드라이버 코드를 예제로 열어 보겠습니다.[https://elixir.bootlin.com/linux/v4.14.43/source/drivers/mmc/host/bcm2835.c#L651]1 static2 bool bcm2835_send_command(struct bcm2835_host *host, struct mmc_command *cmd)3 {...3 if (!cmd->data && cmd->busy_timeout > 9000)4 timeout = DIV_ROUND_UP(cmd->busy_timeout, 1000) *
vmalloc - overview(1)
By Guillermo Austin Kim | 2017년 12월 6일 |
vmalloc에 대해서 리뷰를 해보려고 합니다.vmalloc이라. 이 놈도 리눅스 커널 책에서 엄청나게 많이 소개가 되고 있죠. 너무나도 좋은 글들이 있지만 vmlloc을 쓸 때를 허접하게 요약하면 아래와 같아요.1> 물리적으로 연속적이지 않은 메모리를 할당하고 싶을 때.2> 큰 사이즈의 가상 메모리 공간을 확보하고 싶을 때. 흠냐. 이게 뭔 소리지? 사실 전 머리 속에 개념이 잘 안 들어오더라구요.자, 코드 좀 살펴볼께요. 우선 vmalloc을 관리하는 핵심 변수를 소개하자면 vmap_area_list 이 분들 소개 안 할 수 없네요.LIST_HEAD(vmap_area_list); vmap을 관리하는 링크드 리스트가 vmap_area_list인데요, __insert_vmap_area 함수
리눅스(Linux) 파일관리
By JH의 컴퓨터세상 | 2019년 10월 15일 |
퍼미션(Permission) 1. r(read)읽기 8진수로 4: 파일을 읽을 수 있고, 디렉토리의 내용을 볼 수 있다. 2. w(write)쓰기 8진수로 2 : 파일에 저장 및 삭제, 디렉토리에 파일저장, 디렉토리의 이름 변경, 삭제를 할 수 있다. 3. x(excute)실행 8진수로 1: 파일을 실행, 디렉토리 access 가 가능하다.[lee@river lee]$ ls -l /etc/passwd -rw-r--r-- 1 root root 3197 5월 4 12:57 /etc/passwd 여기서 첫 번째의 root 는 이 파일에 대한 소유자를 뜻한다. 두 번째 root 이 파일에 대한 소유그룹을 뜻한다..[lee@river lee]$ groups lee bin