전체 글

병아리 개발자의 메모장 📝
CS/운영체제

[OS] Lecture 5. Process Scheduling

1. 스케줄링의 목적 프로세스 스케줄링이란 여러 개의 프로세스가 시스템 내 존재 자원을 할당할 프로세스를 선택 해야 함 ⇒ 스케줄링 자원 관리 시간 분할 관리 하나의 자원을 여러 스레드들이 번갈아 가며 사용 예) 프로세서 프로세스 스케줄링: 프로세서 사용 시간을 프로세스들에게 분배 공간 분할 관리 하나의 자원을 분할하여 동시에 사용 예) 메모리 스케줄링의 목적 시스템의 성능 향상! 대표적인 시스템 성능의 지표 응답시간: 작업 요청으로부터 응답을 받을 때까지의 시간 → 사용자 대화형 시스템, real-time 시스템에 적합 작업 처리량: 단위 시간 동안 완료된 작업의 수 → 일괄 처리 시스템 자원 활용도: 주어진 시간 동안 자원이 활용된 시간 목적에 맞는 지표를 고려하여 스케줄링 기법을 선택한다. 대기시간..

CS/운영체제

[OS] Lecture 4. Thread Management

1. Thread의 정의 프로세스와 스레드 프로세스: 자원을 할당받고 제어하여 원하는 작업을 수행하는 것 스레드란? : 코드, 전역 데이터, 힙으로 구성 : 제어 정보/스택 포인터/지역 데이터/스택을 가지고 있음 하나의 프로세스 내에 여러 개 존재한다. Light Weight Process (LWP: 가벼운 프로세스 / 프로세스의 제어 부분만 가지고 있음) 프로세서 (e.g CPU) 활용의 기본 단위 구성 요소 Thread ID Register set(PC, SP 등) Stack (i.e. local data) 제어 요소 외 코드, 데이터 및 자원들은 프로세스 내 다른 스레드들과 공유 전통적 프로세스 = 단일 스레드 프로세스 스레드의 메모리 공간 스레드의 장점 사용자 응답성(Responsiveness) ..

CS/운영체제

[OS] Lecture 3. Precess Management

1. 프로세스의 개념 작업(job) / 프로그램(Program) vs 프로세스 [작업(job) / 프로그램(Program)] 실행 할 프로그램 + 데이터 (우리가 짠 프로그램) 컴퓨터 시스템에 실행 요청 전의 상태 Disk에 보관되어 있음 [프로세스] job이 시스템에 등록된 상태 (메모리를 할당받음) 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리 됨 프로세스의 정의 실행중인 프로그램 커널에 등록되고 커널의 관리하에 있는 작업 각종 자원들을 요청하고 할당 받을 수 있는 개체 프로세스 관리 블록 (PCB)을 할당 받은 개체 능동적인 개체(active entity) : 실행 중에 각종 자원을 요구, 할당, 반납하며 진행 PCB(Process Control Block) 커..

카테고리 없음

[JAVA] 자바 기초 - 입력받기

입력받기 1. nextLine() vs next() nextLine()만 개행 문자(\n)를 기준으로 입력을 받는다. next(), nextInt()등은 공백(띄어쓰기, 탭 등)을 기준으로 입력을 받는다. char bloodType = sc.next().charAt(0); String info = sc.nextLine(); // nextLine은 줄 넘김 문자가 인식되기 때문에, \r\n이 입력으로 들어온다. // info에 문자열 입력을 받기 위해서는 다음과 같이 작성 char bloodType = sc.next().charAt(0); sc.nextLine(); String info = sc.nextLine(); // 다음과 같이 순서가 바뀌는 것은 가능 String info = sc.nextLine(..

Algorithm/문제풀이

[백준/Swift] 17140 이차원 배열과 연산

📝 문제 정보 문제 출처: 백준 온라인 저지 문제 링크: 17140 이차원 배열과 연산 제출 언어: Swift 알고리즘 분류: 구현 정렬 시뮬레이션 🖊️ 풀이 복잡하지만 문제를 잘 읽고 분석하면 구현할 수 있는 문제이다. 주어진 조건 행의 개수가 더 많거나 같으면 R 연산, 열의 개수가 더 많은 C 연산 실행 연산은 각각의 수가 몇 번 나왔는지 구하여서 오름차순 정렬하여 배열에 넣는다 (우선순위 : 등장 횟수 -> 수) ( 넣는 순서 : 수 , 등장 횟수) 크기가 커진 곳은 0 으로 채운다, 수 연산 시 0은 무시한다 행 또는 열의 크기가 100 넘어가면 100개 제외한 나머지는 버린다 A[r][c] == k가 되기 위한 연산의 최소 시간 출력 100초가 지나도 안되면 -1 출력 접근 방법 1. Dict..

CS

[컴퓨터 네트워크] 응용 계층 - 웹

1. 웹 서비스 클라이언트 - 서버 모델 웹 (WWW→ World Wide Web) 서버의 TCP 포트 번호 80번으로 지정 URL (Uniform Resource Locator) 웹 서버 지칭 프로토콜, 연결하는 서버의 호스트 이름, 서버 내부의 파일 경로명으로 표현 https://www.korea.co.kr/welcome.html 프로토콜 이름 / 웹 서버 host 이름 / 서버 내부의 파일 경로명 유닉스, 리눅스 시스템에서의 웹 서버 구현 http://www.korea.co.kr/~hong // 로그인 이름 : hong // 홈 디렉토리 : /public_html/index.html 웹 서비스의 동작 원리 사용자가 웹 브라우저에 URL 입력 클라이언트는 서버 호스트 이름을 DNS 서버에 전송하여 서..

회고

블로그 옮긴 후기 (Gitblog -> tistory)

개발자를 준비하면서 알고리즘 문제 풀이를 공유하고, 배운 내용을 복습하며 다른 개발자들과 나누고자 2023년 1월부터 깃블로그를 시작했습니다. 아래는 제 이전의 블로그입니다. ⬇️ https://sumin305.github.io/ 아직 웹개발 분야는 잘 몰라 스킨을 다운 받고 블로그를 생성하여 약 4개월간 운영을 했었는데, 직접 꾸미지 않은 블로그를 운영하다보니 여러 불편함 점들이 발생하였습니다. 초보 개발자 입장에서 Gitblog 사용하는데 불편했던 점들을 나열해보겠습니다. 1. 방문자수, 방문 통계등의 기능이 없다. -> 방문 통계가 있어야 더 열심히 포스팅해야겠다는 의지가 생기더라고요!! 2. 마크다운으로만 작성할 수 있어 초기에 사용방법을 익히는데 시간이 걸린다. 3. 깃 폴더가 매우 많아 htm..

Algorithm/문제풀이

[프로그래머스/Swift] 이모티콘 할인행사

문제 정보 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출 언어: Swift 알고리즘 분류: 구현 문제 설명 카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다. 이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다. 이모티콘 플러스 서비스 가입자를 최대한 늘리는 것. 이모티콘 판매액을 최대한 늘리는 것. 1번 목표가 우선이며, 2번 목표가 그 다음입니다. 이모티콘 할인 행사는 다음과 같은 방식으로 진행됩니다. n명의 카카오톡 사용자들에게 이모티콘 m개를 할인하여 ..

ruby
A BETTER DAY