일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 김영한
- 에러핸들링
- 10026번
- inflearn
- 우아한 테크 세미나
- 이펙티브코틀린
- 운영체제
- 스프링 핵심 원리
- 스프링 입문
- 열혈 tcp/ip 프로그래밍
- C++
- Spring
- HTTP
- 제프리리처
- Window-Via-c/c++
- 토마토
- 우아한레디스
- Four Squares
- Operating System.
- Operating System
- n타일링2
- FIFO paging
- BOJ
- TCP/IP
- 윤성우 저자
- 2475번
- 열혈 TCP/IP 소켓 프로그래밍
- redis
- C#
- OS
- Today
- Total
목록분류 전체보기 (206)
나의 브을로오그으
https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net #include using namespace std; #define MAX_SIZE129 void CountOfPaper(int paper[][MAX_SIZE], int x, int y, int length, int* count); bool IsSamePaper(int paper[][MAX_SIZE], int x, int y, int length); int main() ..
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net #include #include using namespace std; #define MAX_COMPUTER101 int CountOfCompWithVirus(bool network[][MAX_COMPUTER], int computers); int main() { ios::sync_with_stdio(false); cin.tie(NULL); bool network[MAX_COMPUTER][MAX_COMP..
CPU 보호 - 한 사용자가 실수 또는 고의로 CPU 시간 독점 * 예: while (n = 1) ... : 무한루프 * 다른 사용자의 프로그램 실행 불가 (이렇게 코드가 동작하면 무한루프를 돌기 때문에 하나의 프로세스가 CPU를 독점함) - 해결법 * Timer를 두어 일정 시간 경과 시 타이머 인터럽트 * 인터럽트 > 운영체제 > 다른 프로그램으로 강제 전환 (타이머를 설정해서 (가령 100ms) 이 시간을 초과하면 인터럽트를 발생시키고, CPU는 곧바로 ISR(Interrupt Service Routine)을 실행하고, 현재 유저 프로세스를 종료하고, 다음 유저 프로그램을 실행 할 수 있도록 함.) 정리 다중 프로그램 시스템 혹은 다중 유저 시스템에서 3가지 보호, 입출력장치 보호, 메모리 보호, ..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #include using namespace std; #define MAX_STAIR300 + 1 int GetMaxScore(int* stairs, int N); int GetMax(int n1, int n2); int main() { ios::sync_with_stdio(false); cin.tie(NULL); int stairs[MAX_STAIR] = { 0, }; int N = 0, score = 0;..
이중모드(dual mode) - 한 컴퓨터를 여러 사람이 동시에 사용하는 환경 * 또는 한 사람이 여러 개의 프로그램을 동시에 사용, 한사람의 실수가 프로그램 전체에 영향을 줌 STOP, HALT, RESET 등 - 사용자 프로그램은 STOP 등 치명적 명령 사용 불가하게! * 사용자(user)모드 vs 관리자(supervisor)모드 * 이중 모드(dual mode) * 관리자 모드 = 시스템 모드 = 모니터 모드 = 특권 모드 = 커널 모드 * Supervisor, System, Monitor, Privileged, Kernel - 특권 명령 (privileged Instructions) * STOP, HALT, RESET, SET_TIMER, SET_HW ... - 레지스터에 모드를 나타내는 플래그..
다중 프로세서 시스템 (MultiProcessor System) - 병렬 시스템(parallel system) - 강한결합 시스템 (tightly-coupled system) - 장점 : Performance, cost, reliability (cpu를 여러개로 처리하기 때문에 성능 향상을 기대 할 수 있고, 일반적으로 엄청나게 비싼 cpu 한개보다는 그것보다 조금 저렴한 cpu 여러개를 사용하는게 비용적으로나 성능적으로 큰 차이가 없으므로 비용적으로 유리하다, cpu가 만약 고장나면, 단일 CPU의 경우 올 스탑 되지만, 다중 프로세서를 사용하면 하나가 고장나더라도 나머지가 정상적으로 동작하므로 신뢰성이 올라간다.) - 다중 프로세서 운영체제(Multiprocessor OS) (Linux OS도 다중 ..
컴퓨터 역사 : 1940년대 말~ - 하드웨어 발전 vs 운영체제 기술 발전 No OS - OS가 없던 시절 computer operator라는 직종의 사람들이 직접 컴퓨터를 관리하고, 프로그램을 실행시켰음. Batch Processing System (일괄처리) - resident monitor (최초의 os) - 이후에 H/W가 발전하면서 메모리의 크기가 커지고, 운영체제도 발전하기 시작했다. - 어떤 User 프로그램이 CPU -> I/O -> CPU -> I/O 작업을 교대로 할 때, I/O가 동작 하는 동안에 CPU는 아무일도 안하기 때문에 비효율 적이다. - 그래서 이렇게 하자. 프로그램을 여러개 올리자. 프로그램 1, 프로그램 2, 프로그램 3... 즉, 프로그램 1이 CPU 동작 후 I/O..
운영체제(Oeprating System)란? - 현재 상용화 운영체제들 * Window OS, Linux OS, Mac OS, Android OS, ios OS 등 - OS가 설치되어 있지 않은 컴퓨터를 키면? * 고삐없는 야생마와 같다. 컴퓨터를 키면 아무일도 일어나지 않는다. - 하드디스크에 저장, 프린터 출력, 멀티 프로세싱 등등 이것들을 다 누가해주지? * 운영체제가 해준다. 운영체제를 만드려는 이유? - 성능(Performance)을 높이고, 사용자에게 편의성(Convenience)을 제공하고, 주변장치들을 관리한다. 부팅(Booting) - 컴퓨터 구조 * 프로세서, 메모리 (ROM, RAM), 디스크 * POST (Power-On Self-Test) : 전기가 들어오면은 컴퓨터가 스스로 환경..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include using namespace std; #define MAX_SIZE101 int GetMoveCountOfMaze(int maze[][MAX_SIZE], int endX, int endY); int main() { ios::sync_with_stdio(false); cin.tie(NULL); int mazes[MAX_SIZE][MAX_SIZE] = { 0, }; int N = 0, M = 0, c..
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net #include #include using namespace std; #define MAX_SIZE65 bool IsSameValue(bool matrix[][65], int x, int y, int len); void QuadTree(bool matrix[][65], int x, int y, int len, string* result); int main() { ios::sync_wi..