일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- 자료구조
- 코딩
- Kafka
- Spring Boot
- Jenkins
- MVC
- 오라클
- 페이징
- Spring Cloud
- 데이터베이스
- retry
- aws
- Intellj
- 자바
- 쿼리
- 디자인 패턴
- db
- DP
- 알고리즘
- Spring Cloud Feign
- PL/SQL
- MST
- golang
- SQL
- feign
- Spring
- 운영체제
- JPA
- 클라우드
- Today
- Total
목록IT (131)
justgo_developer
■ (무방향) 그래프(Graph)G=(V,E)- V : 노드(node) 혹은 정점(vertex)- E : 노드쌍을 연결하는 에지(edge) 혹은 링크(link)- 개체(object)들 간의 이진관계를 표현- n=|V|, m=|E| ■ 방향그래프(Directed Graph) G=(V,E)-에지(u,v)는 u로부터 v로의 방향을 가짐 ■ 가중치(weighted) 그래프- 에지마다 가중치(weight)가 지정 ■ 그래프의 표현- 인접행렬(adjacency matrix) - 인접리스트(adjacency list) : 정점 집합을 표현하는 하나의 배열과 각 정점마다 인접한 정점들의 연결리스트m(edge 개수) if 방향그래프라면- 인접행렬은 비대칭- 인접 리스트는 m개의 노드를 가짐 ** 가중치 그래프의 인접행렬..
import java.util.Arrays;import java.util.Scanner; public class Main {private static Scanner sc = new Scanner(System.in);public static void main(String[] args) {int [] in = new int[4];int [] out = new int[4];int [] result = new int[4];for(int i=0;i
레드블랙트리(Red-Black Tree)- 이진탐색트리의 일종- 균형잡힌 트리 : 높이가 O(logn)- SEARCH,INSERT,DELETE를 수정함으로써 균형을 잡히도록 만듬 -각 노드는 하나의키(key),왼쪽자식(left),오른쪽자식(right),그리고 부모노드(p)의 주소를 저장- 자식노드가 존재하지 않을 경우 NIL 노드라고 부르는 특수한 노드가 있다고 가정- 따라서 모든 리프노드는 NIL노드- 루트의 부모도 NIL노드라고 가정- 노드들은 내부노드와 NIL노드로 분류 다음 조건을 만족하는 이진탐색트리 :1. 각 노드는 red 혹은 black이고,2. 루트노드는 black이고 3. 모든 리프노드(즉 NIL노드)는 black이다.4. red노드의 자식노드들은 전부 black이고(즉, red노듣 연속..
Process Switching 일어나는 경우- Interrupt- Trap- Supervisor call ■ Interrupt- Clock interrupt: 일정시간 간격으로 걸리는 인터럽트- I/O interrupt: I/O 반응때 일어나는 인터럽트- Memory fault: 메모리주소가 가상메모리에 있어서 메인메모리로 옮겨야 할때 ■ Trap- 에러 또는 예외발생 할때 ■ Supervisor call(System call)- 명백한 요청일때ex)파일 오픈 mode switching- 사용자 모드에서 커널모드로 변경할때 발생- 완전 문맥 전환이 필요하지 않아 시스템 스택 사용 process switching- 현재 실행중인 프로세스를 중단하고 새 프로세스를 실행할때 발생- 완전 문잭 전환
Process 정의- 수행중인 프로그램- 컴퓨터상에서 수행중인 프로그램의 인스턴스- processor에 할당되고 수행되는 객체 PCB(Process Control Block): 운영체제가 다중 프로세스들을 지원하고 멀티프로세싱을 위해 제공하도록 하는 주요한 도구이다.- process 요소들을 포함- 운영체제에 의해 생성되고 관리- 다중프로세스 지원 ■ Process States - Dispatcher : 한 프로세스에서 다른 프로세스로 processor를 바꾼다.■ Swappingprocessor는 입출력장치보다 빠르다. 그래서 모든 프로세스들은 기다려야한다 해결책 -> Swapping: 모든 또는 일부분의 프로세스를 메인메모리에서 디스크로 이동한다.: 좀더 메모리를 이용하기 위해스왑 했을때 blocke..
운영체제의 목적 1. 편의(Convenience)2. 효율(Efficiency)3. 진화능력(Ability to evolve) ■ Convenience 운영체제가 제공하는 서비스1. 프로그램 개발(program development)2. 프로그램 실행(program execution)3. 입출력장치 접근(Access to I/O devices)4. 파일처리(Controlled access to files)5. 시스템 접근(System access)6. 에러검출 및 응답(Error detection and response)7. 관리(accounting) ■ Efficiency- Resource Manager- 운영체제도 일반 컴퓨터 소프트웨어처럼 작동한다. ■ Ability to evolve- 하드웨어 업..
대부분 입출력장치는 processor보다 느리다.그래서 processor는 장치를 기달리기 위해 정지해야한다 . processor 이용 효율을 향상시키기 위해 Interrupt는 제공된다. Interrupt 종류- Program- Timer- I/O- Hardware failure Interrupt Handler - 입출력장치를 처리하기 위한 특정 프로그램- 운영체제의 일부분 program 수행중 interrupt가 발행하면 interrupt handler로 이동한 후 처리 한후 다시 interrupt가 발생된 지점으로 돌아와 프로그램을 다시 수행한다. Multiple Interrupt: 인터럽트 수행중 다른 인터럽트가 발생하면 무시하는방법하고 우선순위에 따라 처리하는 방법이 있다.
Instruction Execution 2가지 단계를 가진다. 1. fetches: processor는 메모리로부터 명령어를 가지고온다. 2. executes(실행하다): processor는 각 각의 명령어를 실행한다. ■ Instruction Fetch and Execute- processor는 메모리로부터 명령어를 가지고 온다.(fetch)- Program counter(PC)는 다음 fetch될 명령어 주소를 가진다.- PC는 fetch후 1 증가한다. ■ Instruction Register- fetch된 명령어는 명령어 레지스터안에 위치한다. ■ 가상머신의 특징 - opcode는 processor가 수행할 operation(연산)을 정의한다.
1. 운영체제(Operationg System) - 하나 또는 하나 이상 processor의 hardware resources 이용한다. - 일련의 서비스를 시스템 유저들에게 제공한다. - 보조기억장치와 입출력 장치를 관리한다.ex) windows, LINUX, mac OS ,android ,ios 등 2. 기본 요소- Processor :처리장치,연산처리장치,처리프로그램,데이터에 연산 조작등 몇개의 처리를 일으키는 기능을 갖는 장치나 프로그램 - Main Memory: 휘발성/ real memory or primary memory라고도 불린다.- I/O modules: secondary memory devices(hard disk) / communications equipment / terminals-..
이진검색트리(Binary Search Tree)-Dynamic set을 트리의 형태로 구현 정의-이진트리이면서 각 노드에 하나의 키를 저장- 각 노드 v에 대해서 그 노드의 왼쪽 부트리(subtree)에 있는 키들은 key[v]보다 작거나 같고, 오른쪽 부트리에 있는 값은 크거나 같다.**Binary Search Tree하고 heap은 다르다. 최소값 찾기: 왼쪽 자식이 없어야 하고 어떤 노드의 오른쪽 서브트리이면 안된다. TREE-MINIMUM(x)while left[x]≠NILdo x