목록CS (67)
예지의 테크 로그포스 (Yeji's Tech Log Force)
Process란 운영체제가 프로그램을 실행하고 관리하는 단위, 개체를 의미한다. (Processor는 Cpu로, 헷갈리지 말 것ㅋㅋ!!) Process는 프로그램 실행코드, 데이터 영역, 스택, process control block으로 구성되어 있다. 반면 Thread는 Process처럼 별도의 실행 개체로 관리되는 것이 아니라 Process 내부에서 동시 실행(concurrent)을 지원하는 방식이다. 해당 Process가 실행 중(Running)일 때 그 프로세스 내부의 Thread들을 스케줄링하는 방식으로 동시 실행을 제공한다. Thread도 ready, running, blocked 상태를 가진다. 그러나 Thread에 suspend는 없다. Thread가 포함된 Process가 종료되거나, s..
-운영체제의 역할 1. 하나 이상의 하드웨어 리소스 활용 및 관리(프로세서, 메인 메모리 등) 2. 시스템 사용자에게 일련의 서비스 제공 3. 보조 메모리 및 I/O 장치 관리 운영체제란? 응용 프로그램 실행을 제어하는 프로그램. 애플리케이션과 하드웨어 간의 인터페이스. 컴퓨터 하드웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어의 모음이다. -운영체제가 제공하는 것 1. 프로그램 개발 환경 2. 프로그램 실행 3. I/O 디바이스 접근 (드라이버 접근) 4. 파일 접근 제어 5. 시스템 접근system access 6. 에러 감지 및 응답 7. 계정 관리 - 컴퓨터 시스템 내의 자원을 효율적으로 관리한다. - 프로그램 실행 시 오류 검사 및 복구를 지원한다. - 사용자나 ..
두 자연수의 최대공약수를 구하는 대표적 알고리즘. 특징: 자연수 A,B에서 A%B=R일 때 A,B의 최대공약수 == B,R의 최대공약수 예를 들어 A: 192와 B: 162의 최대공약수를 구할 때(GCD(192,162)) Level A B 1 192 162 2 162 30 3 30 12 4 12 6 즉, 192와162의 최대공약수는 12와 6의 최대공약수(즉, 6)과 동일하다. 따라서 재귀함수를 통해 R이 0이 아닌 동안 두 수를 나누도록 구현할 수 있다. def gcd(a, b): if a%b==0: return b return gcd(b, a%b) print(gcd(192,162))
파이썬에서 큐를 구현할 때 1. 리스트로 구현하기 2. deque라이브러리 이용 리스트로 구현하는건 시간복잡도가 더 높으니 deque을 이용하는 것이 좋다. 통상적으로 삽입은 append(), 삭제는 popleft()를 사용한다. 오른쪽으로 들어온 요소가 왼쪽으로 나간다고 생각하면 편할 것 같다. from collections import duque queue = deque() queue.append(5) queue.append(3) queue.popleft() => 3