전체 글

공부와 경험의 기록!
systemd 란? 기존에 linux에서는 init 프로세스로 서비스와 프로세스를 관리했다. 현재의 최신버전 리눅스에서는 systemd 데몬으로 init 프로세스의 역할을 대체하고 있다. systemd 로 대체된 이후로 Run-Level 을 사용하지 않는다. Run-Level 대신 Target Unit을 사용한다. systemd 는 리눅스에 도입되고 있는 PID1 번 프로세스이다. 시스템 관리, 로그 관리, 서비스 관리, 초기화 스크립트 관리 등의 시스템 관리와 전반적인 작업을 수행하고 있다. init 프로세스에서 사용하던 서비스들은 스크립트 형태였던 반면, systemd로 대체되면서 이는 Service Unit으로 제공된다. 동작 중인 systemd process를 확인하는 명령어 ps -ef syst..
Interrupt 현대의 운영체제는 인터럽트에 의해 구동된다라는 말이 있을 정도이다. 프로그램을 실행하는 도중에 예기치 않은 상황이 발생하는 경우, 실행을 중단하고 발생한 상황에 대한 처리가 먼저 필요하다고 CPU에게 요청하는 것이다. CPU는 Interrupt line 을 통해 Interrupt가 발생되었는지에 대해 안다. CPU는 한 명령을 수행한 후 interrupt line을 확인한다. Timer Interrupt 한 프로그램이 CPU를 독점하는 것을 방지하기 위해서 Timer라는 하드웨어는 Timer Interrupt를 사용한다. 예를들어 무한루프, while문과 같은 경우 프로그램이 종료되지 않을 것이고, I/O를 하지도 않을 것이다. 이렇게 한 프로그램이 CPU를 독점하게 된다면 다른 프로그..
CPU Scheduling이 필요한 이유 ? 멀티프로그래밍을 지원하는 운영체제에서 효율적으로 일을 처리하기 위해서 process 스케줄링이 필요하다. single CPU에서는 오직 하나의 process만이 CPU를 사용할 수 있으며, 다른 process들은 CPU를 사용하기 전까지 대기를 한다. ( 여기서 process 스케줄링은 thread 스케줄링과 같은 의미로도 사용할 수 있다. ) 스케줄링에는 두가지 이슈가 있다. CPU Burst에 들어온 프로그램이 여러게 있는데, 누구한테 먼저 줄것인가 ? CPU를 다 쓰고 I/O를 할때까지 한 process에게 CPU를 계속 줄것인가 아니면 중간에 CPU를 뺏어서 다른 프로세스에게 넘겨줄 것인가 ? CPU를 중간에 뺏지 않는다면 긴 프로세스 하나때문에 다른 ..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT a.FOOD_TYPE, a.REST_ID, a.REST_NAME, a.FAVORITES FROM REST_INFO a JOIN (SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES FROM REST_INFO GROUP BY FOOD_TYPE ) b ON a.FOOD_TYPE = b.FOOD_TYPE AND a.FAVORITES =..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr GROUP BY 로 묶은다음에는 WHERE 절이 아니라 HAVING 절로 조건을 달아주자 !! -- 코드를 입력하세요 SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3개만 보여주고 싶을때 LIMIT 을 이용하자 !! -- 코드를 입력하세요 SELECT a.NAME, a.DATETIME FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID WHERE b.ANIMAL_ID IS NULL ORDER BY a.DATETIME LIMIT 3
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/59043 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT a.ANIMAL_ID, a.NAME FROM ANIMAL_INS a JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID WHERE a.DATETIME > b.DATETIME ORDER BY a.DATETIME
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/59046 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열 연습문제인데 처음엔 이렇게 무식하게 나열했다가 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME = 'Ella' OR NAME = 'Lucy' OR NAME = 'Pickle' OR NAME = 'Rogan' OR NAME = 'Sabrina' OR NAME = 'Mitty' ORDER BY ANI..
minjiwoo
MJ workspace