프로세스 (Process) 프로세서에 의해 처리되는 사용자 프로그램. 시스템 프로그램, 즉 실행 중인 프로그램을 의미한다. PCB (Process Control Block) , 프로세스 제어 블록 PCB는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳이다 각 프로세스가 생성 될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다. 프로세스 상태 전이 제출 (Submit) : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태 접수 (Hold) : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태 * Spooling : 입 출력 장치의 공유 및 상대적으로 느린 I/O 장치의 처리 속도 보완. I/O할 데이터를 직접 I/O장치에 보내지 않고 한꺼번에 나중에 I..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.# merge sort array = [6,5,3,1,8,7,2,4] def merge_sort(array): if len(array) < 2: # 원소가 하나인 경우 return array merged_array = [] mid = len(array)//2 left_array = merge_sort(array[:mid]) right_array = merge_sort(array[mid:]) l = r = 0 while l < len(left_array) and r < len(right_array): # 여기서는 작은 수 부터 정렬 if left_array[l] < right_array[r]: merged_array.append(left_array[l]) l += 1 else: merged_array.ap..
페이지 교체 알고리즘 Page Fault 가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 Page Frame을 선택하여 교체할 것인지 결정하는 알고리즘 - Page Fault : CPU가 엑세스한 가상 페이지가 주기억장치에 없는 경우이다. 해당 Page를 disk에서 주기억장치로 가져와야함 1. OPT (OPTimal replacement - 최적교체) 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체 2. FIFO (First In First Out) 가장 먼저 들어와서 가장 오래있었던 페이지를 교체 3. LRU (Least Recently Used) 최근에 가장 오랫동안 사용하지 않은 페이지를 교체 4. LFU (Lea..
가상기억장치 : 보조기억장치를 주기억장치러럼 사용하는 것 -> 가상기억장치의 일반적인 구현 방법 : 페이징 기법, 세그멘테이션 기법 페이징 기법 : 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후, 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법 - 프로그램을 일정한 크기로 나눈 단위를 Page라고 하고, 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 Page Frame이라고 함 - 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음 - 주소 변환을 위해서 Page Map Table이 필요함 세그멘테이션 기법 : 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법 ..
운영체제 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 운영체제의 기능 1. 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원을 관리 2. 자원의 스케줄링 기능 3. 사용자와 시스템 간 편리한 인터페이스 제공 4. 시스템의 각종 하드웨어와 네트워크를 관리 제어한다 5. 데이터를 관리하고 데이터 및 자원의 공유 기능을 제공 운영 체제의 목적 1. 처리 능력 향상 : 일정시간 내에 처리하는 일의 양 2. 반환시간 향상 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 3. 사용 가능도 향상 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 4. 신뢰도 향상 : 시스템이 주어진 문..
제어문 1. IF 문 DECLARE x INT := 10; BEGIN IF x > 10 THEN DBMS_OUTPUT.PUT_LINE('true'); ELSE DBMS_OUTPUT.PUT_LINE('false'); END IF; END; 2. LOOP 문 DECLARE i INT := 0; i_sum INT := 0; BEGIN LOOP i := i + 1; i_sum := i_sum + i; EXIT WHEN i >= 10; END LOOP; END; 커서 쿼리문의 처리 결과가 저장되어 있는 메모리 공간을 가리키는 포인터 SQL%FOUND : 쿼리 수행의 결과로 fetch된 튜플의 수가 1개 이상이면 true; SQL%NOTFOUND: 쿼리 수행의 결과로 fetch된 튜플의 수가 0개이면 true SQ..
https://leetcode.com/problems/fibonacci-number/ Fibonacci Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 재귀 class Solution: def fib(self, n: int) -> int: if n int: if n int: if n int: x, y = 0, 1 for i in range(n): x, y = y, x+y return x 모든 값을 저장하지 않고 변수 2개만을 이용해서 수열의 ..
1. Procedure 프로시저 (Procedure) : SQL을 사용하여 작성한 일련의 작업을 저장해두고 호출을 통해 원할 때마다 저장한 작업을 수행하도록 하는 절차형 SQL이다 데이터베이스에 저장되어 수행되기 때문에 stored procedure라고도 불린다 CREATE OR REPLACE PROCEDURE score_count(sc IN INT) IS a INT; BEGIN SELECT COUNT(*) INTO a FROM score WHERE cond >= sc; INSERT INTO total(mem_count) VALUES(a); COMMIT; END; IN : 호출 프로그램이 프로시저에게 값을 전달할 때 지정 OUT : 프로시저가 호출 프로그램에게 값을 반환할 때 지정 2. Trigger 데..