일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 커널 모드
- Multi-level Queue
- Non-Preemptive
- 방금 그 곡
- Stack영역
- Light Weight Process
- The DIning Philosopher Problem
- Activity
- Heap영역
- 스레드
- 문맥 교환
- 모니터(Monitor)
- 동기 비동기
- 인터락 함수
- 프로세스 제어 블록
- 스레드 동기화
- 유저 모드
- 은행원 알고리즘
- Reentrant
- 경량 프로세스
- The Banker's Algorithm
- 교착 상태
- Process Control Block
- 유저 모드의 동기화
- 프로세스
- 프로세스 상태 전이도
- 커널 모드의 동기화
- 뮤텍스(Mutex)
- 블로킹 논블로킹
- 임계 구역
목록전체 글 (36)
Blog For Me
OSI 7 계층? 네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다. 다시 말해서, 둘 이상의 장치에서 서로 연결하기 위해 일어나는 일들을 과정에 따라 7 단계로 구분한 단계라 볼 수 있다. 그리고 프로토콜은 연결을 위한 일종의 규칙이라고 볼 수 있다. OSI 7 계층으로 나눈 이유? 통신이 일어나는 과정을 단계별로 파악할 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정이 가능하기 때문이다. OSI 계층 7 단계 1. 물리 계층 (Physical Layer) 물리 계층은 하드웨어 전송 기술을 이룬다. 여기에서는 전기적, 기계적인 신호를 주고받는 역할을 하는 계층이며 전송 단위는 비트이다. 비트 0, 1의 통신 단위로 통신한다. 데이터의 종류나 오류를 제어하지 않고 단지 데이터를 전기적인 ..
OOP의 4가지 특징 1. 캡슐화(Encapsulation) 2. 상속(Inheritance) 3. 다형성(Polymorphism) 4. 추상화(Abstraction)1. 캡슐화 캡슐화는 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것으로 객체의 가장 본질적인 특징이다. 외부의 잘못된 접근으로 값이 변하는 것을 방지하기 위해 클래스 내의 변수나 함수를 감추거나 드러내는 은닉성을 지니고 있다. 객체는 캡슐화가 기본 원칙이지만 외부와의 접속을 위해 몇 부분만 공개 노출한다. 캡슐화는 public, private, protected와 같은 접근 지정자 키워드를 이용하여 실현한다. 예를 들어, 사람이라는 클래스가 있고 그 안에 뇌, 장기, 혈관, 뼈 등의 변수들이 있다고 가정해 보자. 이때, 이러한 사..
객체지향 프로그래밍이란? 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 여기서 객체라는 용어가 처음에 와닿지 않았다. 객체의 정의를 살펴보면, 클래스 모양 그래도 생성된 실체가 객체라 되어 있다. 그렇다면 클래스는 또 무엇인가? 클래스는 객체를 만들어 내기 위한 설계도 혹은 틀이라 되어 있다. 다시 말해서, 클래스는 어떠한 객체의 변수, 메소드의 집합이며 현실세계로 빗대면 연관되어 있는 속성과 행위들의 집합이라고 볼 수 있다. 예를 들어, 아이폰이라는 클래스가 있다고 하면, 아이폰이 지니고 있는 여러 특징들을 지니고 있음을 생각해 볼 수 있다. 제작사는 애플..
bfs 탐색 시작 정점 v를 방문한다. v에 인접한 모든 정점들을 방문한다. 새롭게 방문한 정점들에 인접하면서 아직 방문하지 못한 정점들을 방문한다. 인접한 정점들에 대해서 차례로 다시 너비 우선 탐색을 반복해야 하므로 선입선출의 구조를 갖는 Queue를 사용한다. bfs 탐색 예시 bfs 소스코드 class Graph{ private ArrayList edges; private boolean[] visited; public Graph(int size) { this.edges = new ArrayList(); this.visited = new boolean[size]; for(int i=0;i
파일들은 정보를 저장한다. 파일이 사용될 때, 이 정보는 반드시 접근되어서 컴퓨터 메모리에 적재되어야 한다. 파일 내의 정보에 접근하는 몇몇의 방법이 있는데, 어떤 시스템은 오직 파일 접근 방법이 한 가지밖에 없다. 반면에, IBM mainframe 운영체제와 같은 다른 시스템들은 수많은 접근 방법들을 제공한다. 순차접근 (Sequential Access) 가장 간단한 접근 방법 파일 내의 정보들이 순서대로 처리되는데, 저장되어 있는 레코드 순서로 접근한다. 이 접근 모드는 가장 일반적이며, 편집기나 컴파일러는 보통 이러한 방식으로 파일에 접근한다. 읽기와 쓰기가 파일 연산의 대부분을 차지하고 있다. 읽기 연산은 파일의 다음 부분부터 읽어 나가며 자동적으로 입출력 위치를 추적하는 파일 포인터를 증가시킨다..
그래프 순회 (graph traversal), 그래프 탐색 (graph search) 하나의 정점에서 시작하여 그래프에 있는 정점을 한번씩 방문하여 처리하는 연산 그래프 탐색 방법에는 깊이 우선 탐색(depth first search: DFS), 너비 우선 탐색(breadth first search: BFS) 가 있다. 깊이 우선 탐색 (dfs 탐색) 시작 정점 v를 결정하여 방문 정점 v에 인접한 정점 중에서 (1) 방문하지 않은 정점 w가 있으면, 정점 v를 스택에 push하고 정점 w를 방문한다. 그리고 w를 v로 하여 다시 2번의 과정을 반복 (2) 방문하지 않은 정점이 없으면, 탐색의 방향을 바꾸기 위해 스택을 pop하여 받은 가장 마지막 장문 정점을 v로 하여 다시 2번 과정을 반복 스택이 공..