일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2475번
- redis
- n타일링2
- C#
- FIFO paging
- 김영한
- Spring
- OS
- C++
- BOJ
- 윤성우 저자
- 에러핸들링
- 제프리리처
- Window-Via-c/c++
- 열혈 tcp/ip 프로그래밍
- 우아한 테크 세미나
- TCP/IP
- Operating System
- 운영체제
- 우아한레디스
- Four Squares
- 스프링 핵심 원리
- 스프링 입문
- inflearn
- 10026번
- HTTP
- 이펙티브코틀린
- 열혈 TCP/IP 소켓 프로그래밍
- 토마토
- Operating System.
- Today
- Total
목록분류 전체보기 (206)
나의 브을로오그으
프로세스 동기화 - Process Synchronization * cf. Thread synchronization - Processes * Independent vs Cooperating * Cooperating process: one that can affect or be affected by other processes executed in the system * 프로세스간 통신: 전자우편, 파일 전송 * 프로세스간 자원 공유: 메모리 상의 자료들, 데이터베이스 등 * 명절 기차표 예약, 대학 온라인 수강신청, 실시간 주식거래 - Process Synchronization * Concurrent access to shared data may result in data inconsistency - Ex..
임계구역 문제 - The Critical-Section Problem - Critical Section * A system consisting of multiple threads * Each thread has a segment of code, called critical section, in which the thread may be changing common variables, updating a table, writing a file, and so on. (임계 영역은 다중 스레드로 이루어진 시스템) (임계 영역은 스레드가 갖고있는 코드 영역으로, 공통변수, 테이블 업데이트, 파일 쓰기 등의 변화를 가하는 영역(구간)) - Solution * Mutual exclusion (상호배타): 오직 한 ..
- Thread Concurrent vs Simultaneous : Concurrent는 굉장히 빠른 속도로 여러개의 쓰레드를 일정하게 실행함으로써 동시에 실행되는 것처럼 느껴지는것. Simultaneous는 진짜 동시에 실행되는 것. 해당 내용에서는 1 개의 CPU에서 동작하는것으로 가정하기 때문에 Concurrent이다. Thread vs Process - 한 프로세스에는 기본 1개의 쓰레드 * 단일 쓰레드 (single thread) 프로그램 - 한 프로세스에 여러 개의 쓰레드 * 다중 쓰레드 (multi-thread) 프로그램 - 쓰레드 구조 * 프로세스의 메모리 공간 공유 (code, data) * 프로세스의 자원 공유 (file, vo, ...) * 비공유 : 개별적인 PC, SP, regis..
Multilevel Queue Scheduling - Process groups * System processes * Interactive processes * Interactive editing processes * Batch processes * Student processes (프로세스마다 더 중요한 프로세스들(시스템 프로세스)이 있는데 Queue를 1개를 둔다면 다른 프로세스들이 하나의 Queue에 들어가는게 조금 않맞다. 따라서 프로세스 마다 들어가는 Queue 가 다르도록 해야 조금 더 중요한 프로세스들 부터 CPU 서비스를 받을 수 있도록) - Single ready queue -> Several separate queues * 각각의 Queue에 절대적 우선순위 존재 * 또는 CPU tim..
간단한 웹 애플리케이션 개발 - 스프링 프로젝트 생성 - 스프링 부트로 웹 서버 실행 - 회원 도메인 개발 - 웹 MVC 개발 - DB 연동 - JDBC, JPA, 스프링 데이터 JPA - 테스트 케이스 작성 목표 - 스프링 기술 그자체를 배우는 것 보다는 어떻게 활용하는지에 초점을 맞춤 - 오래되거나 마이너한 기술을 과감히 빼고 트랜디한 기술로 강의
Shortest-Job-First - Example: AWT = (0 + 3 + 9 + 16) / 4 = 7msec * cf. 10.25 msec(FCFS) - Provably optimal (* 증명되어진 최적화 : 대기시간을 줄이는 방법으로써는 가장 최적화되어있다. 그러면 가장 베스트 방법이라는 건데 무조건 이걸 쓰면 될까?? 아쉽지만 밑에 말 처럼 비현실적인 방법이다. * 실제로는 Process가 실제 CPU Burst Time이 얼마인지 알 수 없다. 따라서 현실적인 방법이 아닌 이상적인 방법이다. 만약 이 방법을 적용하고 싶다면 CPU Burst Time을 예측 해서 해야한다. * 이런게 가능하려면 overhead가 적어야 한다. 과거의 작업 시간을 참고해서 예측이 가능하니까...) - Not ..
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net #include #include #include using namespace std; #define MAX_NUM_SIZE100'001 #define MAX_STRING_SIZE400'001 class AC { public: AC() { mRevIndex = 1, mStart = 0, mEnd = 0; mVec.resize(MAX_NUM_SIZE, 0); memset(mStrFunc, 0, sizeof(mStrFunc)); } bool Process()..
Context Switching(문맥전환) - Scheduler - Dispatcher (스케줄러가 선택한 process를 실행하도록, PCB에 저장된 process state, base, limit reg, pc, sp 등의 값을 현재 Processor의 SP, PC MMU의 레지스터 값 등의 context를 restore(복원)하거나 store(저장)하는 일을 Dispatcher가 함. Dispatcher는 OS내부 Process Management안에 있음.) (당연히 overhead가 있음. 부하가 있다는 말임. 자주 switching하는 작업 자체가 부하가 걸리는 작업임.) - Context switching overhead (그래서 overhead가 발생 할 수 있기에, OS설계 시 low l..
프로그램 vs 프로세스 (program vs process) - process, task, job ... - program in execution : (text + data + stack) area, pc, sp, registers, ... - 무덤 속 프로그램, 살아 움직이는 프로세스 프로세스 상태 - new, ready, running, waiting, terminated - 프로세스 상태 천이도 (process state transition diagram) - 상태 천이는 언제 발생? Process Control Block (PCB) - Task Control Block (TCB) - 프로세스에 대한 모든 정보 - process state (running, ready, waiting, termina..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #include #include #include #include using namespace std; #define MAP_SIZE26 int countOfHouseGroup(int map[][MAP_SIZE], vector& houseCounter, int N); int countOfHouse(int map[][MAP_SIZE], bool houses[][MAP_SIZE], int N, int x..