독하게 시작하는 C 제3장 표준 입/출력 도구 - 첫 번째
By 1%! 10%. | 2018년 1월 6일 |
HCI - CLI (DOS,Linux,...) 검정 화면 ->GUI 그래픽 ->UX 경험적 ---- 정보는 대부분 문자열로 표현한다.Web,HTML,XML,HTTP 등 깊이 있는 얘기 하기에 CLI가 기본. getchar()가져와라. 문자 한 글자를. 중요한 얘기.(암기) 컴퓨터 -> H/W + S/W 소프트 웨어는 시스템 소프트웨어와 응용 소프트웨어로 나뉜다. COMPUTER LAYERED(3층)(3층 전체를 C언어로 커버 가능 그만큼 C언어로 할 수 있는 범위가 넓다. 개인(Thread)이 집(Process)에 있음. 남의 집 함부로 침범 불가. -> 이 층이 유저(User).'정부' -> 이 층이 커널(Kernel)(OS)(운영체제)영토 영해 영공(하드
chsh - 리눅스에서 로그인 셸(login shell) 변경하기
By 반달가면 | 2018년 2월 2일 |
리눅스에서 chsh 명령으로 어느 셸(shell)을 사용할 것인지 설정할 수 있다. -s 옵션으로 셸을 지정해 주면 된다. 예를 들어 현재 사용자의 셸을 /bin/bash로 설정하고 싶다면 아래와 같이 입력하면 되겠다. # 현재 사용자의 shell을 /bin/bash로 설정 chsh -s /bin/bash 사용자 암호를 입력하면 셸 설정이 변경된다. 만약 루트 권한으로 특정 사용자의 셸을 설정하고 싶다면 인자에 사용자 계정을 지정하면 된다. 아래와 같이 할 수 있다. # 사용자 계정 john의 shell을 /bin/bash로 설정 sudo chsh -s /bin/bash john
Character Device Driver(캐릭터 디바이스 드라이버) - Overview
By Guillermo Austin Kim | 2017년 12월 5일 |
캐릭터 디바이스 코드를 보다가 한 가지 의문이 생겼어요.아래 코드는 캐릭터 타입 디바이스의 메이저 번호를 0으로 설정하네요. 어라?이거 잘못된 코드인가? static int pacman_probe(struct platform_device *pdev){ pr_debug("%s: %s version %s\n", __func__, DEVICE_NAME, PACMAN_VERSION); pacman_ctl.dev_num = register_chrdev(0, DEVICE_NAME, &pacman_fops); //<<-- if (pacman_ctl.dev_num < 0) { pr_err("%s: register_chrdev failed\n", __func__);
[리눅스커널][스케줄링] 컨택스트 스위칭: context_switch() 세부 코드 분석
By Guillermo Austin Kim | 2019년 3월 6일 |
컨택스트 스위칭 세부 코드 분석이전 소절에서 다룬 컨택스트 스위칭이란 다음과 같은 문장으로 정리할 수 있습니다.CPU에서 실행 중인 프로세스 정보로 채워진 CPU 레지스터 세트를 프로세스 스택 공간에 저장하고 다음에 실행할 프로세스의 레지스터 세트를 스택 공간에서 로딩해 CPU 레지스터 세트에 채우는 동작입니다. 이번에는 context_switch() 함수 분석으로 컨택스트 스위칭 코드 동작을 알아보겠습니다. 먼저 context_switch() 함수에 전달하는 인자를 확인합시다.[https://elixir.bootlin.com/linux/v4.14.70/source/kernel/sched/core.c]static __always_inline struct rq *context_switch(struct rq