일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2020 카카오 인턴십
- 투 포인터
- 우선순위큐
- 2020 KAKAO BLIND RECRUITMENT
- 비트마스킹
- 이분탐색
- SWEA
- 2018 KAKAO BLIND RECRUITMENT
- 최소 신장 트리
- 로봇 청소기
- 구현
- 플로이드 와샬
- 시뮬레이션
- BFS
- Spring
- 브루트포스
- GIT
- 트라이
- 조합
- 2021 KAKAO BLIND RECRUITMENT
- 투포인터
- 스택
- 플로이드와샬
- 크루스칼
- 백준
- 2019 KAKAO BLIND RECRUITMENT
- 다익스트라
- 프로그래머스
- 백트래킹
- 파이썬
- Today
- Total
목sssssss록분류 전체보기 (151)
개발조아
가상 메모리 보조 기억장치 일부를 주기억장치(메인메모리)처럼 사용하는 것 실제 메모리보다 큰 공간을 사용할 수 있다.(보조기억 장치 공간 사용) 프로세스 실행 시 필요한 부분(요구페이지)만 가상 메모리에 올리고, 그중 일부분만 물리 메모리에서 실행한다. 이후 CPU가 논리주소로 가상 메모리에 접근하여 실제 메모리에 필요한 부분을 적재한다. 이때 논리주소를 실제 물리 주소로 바꾸는게 과정이 필요한데 이것을 MMU(Memory Management Unit)가 수행한다. 메모리 할당 연속 할당(Continuous Allocattion) 프로그램을 연속인 메모리 공간에 배치 충분히 큰 연속된 메모리가 없으면 할당 불가 구현 단순 고정 분할 기법 : 메모리를 고정된 크기로 분할, 내부단편화 발생 동적 분할 기법 ..
어떤 프로세스에게 CPU를 할당할지 결정하는 작업 프로세스의 작업 처리율과 CPU 사용률을 증가시키고 오버헤드와 기아 현상을 낮춰 시스템 성능 향상을 목적으로 한다. 즉, CPU가 노는 거 없이 효율적으로 일을 계속 할 수 있도록 하는 것 CPU 스케줄링의 척도 응답 시간(Response Time) 작업이 실행되기까지 걸린 시간 반환 시간(Turn Around Time) 실행시간과 대기시간을 모두 합한 완료까지 걸린 시간 선점 스케줄링 운영체제가 프로세스에 할당된 CPU 제어권 뺏을 수 있는 방식 각 프로세스에 빠른 응답 지원하지만 ContextSwitching이 빈번하게 일어나 오버헤드가 증가 종류 SRT(Shortest Remaining Time First) 새로운 프로세스 요청이 들어온 시점에서 현..
둘 이상의 프로세스가 자원을 점유하고 있지만 서로의 자원을 필요로하여 무기한 대기에 빠진 상태를 의미한다. 발생 조건 상호 배제(Mutual Exclusion) 한 자원은 한 번에 한 프로세스만 사용할 수 있어야한다. 점유 대기(Hold and Wait) 최소 하나의 자원을 점유하고 있으면서, 다른 프로세스의 자원이 필요로 하여 대기하고 있는 프로세스가 존재해야 한다. 비선점(No Preemption) 프로세스가 점유하고 있는 자원은 사용이 끝날때 까지 강제로 뺏을수 없다. 순환 대기(Circular Wait) 프로세스의 집합이 순환 형태로 서로의 자원을 필요로 하고 있어야한다. 교착상태 예방(Prevention) 발생 조건 중 한가지를 부정하여 방지 할 수 있다. 상호 배제 부정 여러 프로세스가 자원을..
경쟁 상태(Race Condition) 공유 자원에 대해 여러 프로세스가 동시에 접근할 때, 순서에 따라 영향을 줄 수 있는 상태 동시 접근 시 자료의 일관성을 해치는 결과가 나타남 Race Condition이 발생하는 경우 커널 작업을 수행하는 중 인터럽트 발생 상황 : 운영체제가 커널모드에서 작업하다 인터럽트가 발생하여 같은 데이터를 조작하는 경우 해결방안 : 커널 모드 시 인터럽트가 발생해도 제어권이 넘어가지 않도록 한다. 프로스세가 System Call를 호출하여 커널모드로 수행 중일 때 ContextSwitching이 일어날 경우 상황 : A 프로세스가 System Call 호출하여 커널모드로 커널의 변수를 조작하다 CPU 사용시간이 다되 ContextSwitching이 일어났다. 다음 프로세스..

프로세스 : 운영체제로 부터 자원을 할당받아 메모리상에서 실행중인 작업 프로세스가 메모리에 올라갈때 운영체제로 부터 독립적인 메모리 영역을 할당 받는다. 서로 다른 프로세스들의 메모리에 접근은 불가능 Code : 코드 자체를 구성하는 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 초기화가 된 변수들 저장 Heap : 동적 할당 시 사용 Stack : 지역변수, 매개변수, 리턴값, 돌아올 주소 등 임시 저장 공간 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로세스 내에 각각의 Stack만 할당받고 나머지는 프로세스의 메모리를 공유한다. 메모리를 공유하기 때문에 동기화 문제가 발생한다. 기본적으로 프로세스 하나당 하나의 쓰레드를 할당 받는다. 쓰레드에 의해서 작업이 수..
운영체제는 컴퓨터 자원을 효율적으로 관리하고, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 여러 소프트웨어의 그룹이다. 또한 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종이다. 운영체제의 목적 처리 능력(Throughtput), 신뢰도(Reliability), 사용 가능도(Availability) 향상과 반환 시간(Turn Around Time) 단축을 목적으로 한다. 처리 능력(Throughtput) : 일정 시간 내에 시스템이 처리하는 일의 양 신뢰도(Reliability) : 문제를 정확하게 해결하는 정도 사용 가능도(Availability) : 시스템 사용이 필요할 때 즉시 사용가능한 정도 반환 시간(Turn Around Time) : 작업을 의뢰..
관련 글 링크 : https://blog.lgcns.com/2672?category=668556 알파고는 옛말? 초거대 인공지능 '하이퍼스케일'이 온다 인공지능은 빠르게 산업과 우리 생활에 파고들었습니다. 국내외 많은 기업이 인공지능을 개발하고 활용하면서 여러 서비스와 제품이 탄생했습니다. 실제로 인공지능은 과거 연구 blog.lgcns.com 하이퍼스케일 인공지능은 이름처럼 엄청난 규모의 인공지능이다. 기존 인공지능의 수백, 수천배의 이르는 거대 규모라고 한다. 기존의 인공지능은 데이터 기반으로 분석과 학습으로 답을 내놓았다면, 하이퍼스케일 인공지능은 여기서 더 진화한다. 더욱 인간의 뇌처럼 설계되어 스스로 생각하고 창작까지 한다. 그래서 사람과 자연스럽게 대화를 하거나 글을 쓰거나 심지어 프로그래밍까..
문제 링크 : https://www.acmicpc.net/problem/20207 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net 나는 누적합을 활용하였다. 달력의 시작일자에 +1 종료일자+1 에 -1을 해주었다. 해당 일자의 누적합이 사각형의 높이가 될 것이다. 그리고 1~366까지 누적합을 확인하면서 가로,세로 크기의 최대값을 갱신했다. 더보기 누적합 간단히 설명하면 아래와 같다. 입력이 7 2 4 4 5 5 6 5 7 7 9 11 12 12 12 라고 해보자. 시작일에 +1 종료일+1에 -1을 해준다 했다. 그럼 배열..