728x90
반응형

CS 92

[SQL] 프로그래머스 : 입양 시간 구하기(2)

https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCH..

[OS] Process Synchronization - 프로세스 동기화 (강의 내용)

공유하고 있는 데이터에 대해서는 데이터 일관성 문제가 발생할 수 있음 공유 변수에 대한 접근을 순서화 해줄 필요가 있음 'Consumer'와 'Producer'는 count라는 광역 변수를 공유하여 버퍼라는 데이터를 공유하는 프로세스 count라는 광역 변수를 사용하여 채우는 것 count 광역 변수를 사용하여 데이터를 소비하는 것 assembly 언어를 사용하여 표현할 수 있음 (위 Critical Section) 어느 instruction이 마지막에 실행되냐에 따라 값이 변하는 현상 : Race Condition Critical Section은 공유하고 있는 변수 사이 변경이 있을 때 많이 일어남 따라서 Critical Section에 들어가는 process는 하나만 되도록 해야함 그래서 위 과정 전..

CS/OS 2023.04.28

[OS] 4. Thread 연습문제

4.1 Provide two programming examples in which multithreading does not provide better performance than a single-threaded solution. Answer: 멀티스레딩이 단일 스레드 솔루션보다 성능이 향상되지 않는 두 가지 프로그래밍 예제를 제공합니다. 1. 단일 처리기 시스템에서의 계산 집약적인 작업 - 만약 작업이 단일 처리기 시스템에서 실행되는 계산 집약적인 작업이라면, 멀티스레딩은 성능 향상을 제공하지 않을 수 있습니다. 이 경우 CPU가 한 번에 하나의 작업만 처리할 수 있으므로 멀티스레딩은 여러 스레드 간의 문맥 전환 오버헤드만 추가할 뿐입니다. 2. 입출력 작업이 많은 작업 - 입출력 작업이 많은 작업에..

CS/OS 2023.04.16

[OS] 3. Process 연습문제

3.1 Describe the differences among short-term, medium-term, and long-term scheduling. Answer: 단기 스케줄링, 중기 스케줄링 및 장기 스케줄링의 차이점에 대해 설명해보겠습니다. 1. 단기 스케줄링 (Short-term Scheduling) - CPU가 실행할 프로세스를 선택하는 역할을 합니다. - 스케줄링 알고리즘을 사용하여 프로세스 실행을 관리합니다. - 대부분의 경우 시스템이 실행 중인 프로세스 수에 따라 수 초에서 수 밀리초까지 단위 시간이 소요됩니다. - 프로세스가 I/O를 수행해야 하는 경우, 스케줄러는 해당 프로세스를 블록킹 상태로 변경하고 I/O 작업이 완료될 때까지 다른 프로세스를 실행합니다. 2. 중기 스케줄링 (M..

CS/OS 2023.04.16

[OS] 2. Operating System Structure 연습문제

2.1 The services and functions provided by an oprating system can be divided into two main categories. Briefly describe the two categories and discuss how they differ. Answer: 운영 체제가 제공하는 서비스와 기능은 크게 두 가지 범주로 나뉘어집니다. 첫 번째 범주는 시스템 자원 관리와 관련된 기능입니다. 이러한 기능은 CPU, 메모리, 입출력 장치 및 파일 시스템과 같은 시스템 자원을 관리하며, 프로세스, 쓰레드, 파일 및 네트워크 리소스와 같은 시스템 자원을 할당하고 스케줄링합니다. 두 번째 범주는 사용자 및 응용 프로그램을 지원하기 위한 서비스와 기능입니다. 이러한..

CS/OS 2023.04.15

[OS] 1. OS Introduction 연습문제

1.1 In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. What are those problems? 다중 프로그래밍 및 시분할 환경에서 여러 사용자가 동시에 시스템을 공유합니다. 이러한 상황은 다양한 보안 문제를 초래할 수 있습니다. 그 문제들은 무엇입니까? a. What are two such problems? Answer: 1. One user can read the private data of another user - privacy. 한 사용자가 다른 사용자의 개인 데이터..

CS/OS 2023.04.15

[OS] CPU Scheduling (2) - CPU 스케줄링

간단히 Ready Queue가 여러 개 Interactive를 위한 작업은 foreground - RR Algorithm Batch를 위한 작업은 background - FCFS Algorithm Queue에는 두 가지 Scheduling 방식이 할당된다. 우선순위 스케줄링 : stavation 문제 발생 가능 Time slice : 각 CPU Time을 할당 예를 들어 RR에는 80% 시간, FCFS에는 20% 시간 할당 우선순위에 따라 process 할당 지금까지 설명했던 우선순위 스캐줄링은 starvation문제가 발생할 가능성이 있었음, 그래서 본 문제를 해결하기 위해 시간이 지남에 따라 우선순위를 좀 더 높게 하는 방식이 있었다. 이를 Feedback형태로 다양한 queue에서 process가 ..

CS/OS 2023.04.14

[OS] CPU Scheduling (1) - CPU 스케줄링

Multiprogramming 환경에서 CPU 이용률을 최대한으로 이끌어내기 위함 CPU - I/O Burst Cycle은 하나의 프로세스이다. CPU 실행과 I/O wait 과정이 반복되는 Cycle형태 I/O 처리를 진행할 때 CPU가 아무 일도 하지 않으면 이용률이 떨어진다. 그래서 CPU Scheduling을 통해 효율성을 극대화하는 것이다. CPU 이용률인데 처음에만(2ms) 많이 사용하고 그 뒤로는 I/O 작업을 하여 이용률이 떨어진다. 메모리에 ready상태로 올라와 있는 작업을 선택한 후 CPU에게 할당 process가 running -> waiting state일 때 process가 running -> ready state일 때 process가 waiting -> ready 상태일 때 종..

CS/OS 2023.04.14

[OS] - Thread

Lightweight Process라고도 불리며, CPU의 가장 작은 Unit이다. Thread ID PC Register Set Stack Space 하나의 Thread는 다른 Thread들과 Code Section Data Section Operating-System Resources 를 공유함 Process 안에 오직 하나의 Thread만 가지고 있다면 heavyweight process라고 함 그림과 같이 Thread의 개수로 구분 Process보다 작은 단위임 장점 : 하나의 쓰레드가 Block or Waiting 상태가 된다하더라도 같은 작업에서 파생된 다른 작업은 할 수 있다. 같은 작업에서 파생된 여러 쓰레드가 서로 돕다. 성능 향상 하나의 Thread가 Block당해도 다른 Thread가..

CS/OS 2023.04.12
728x90
반응형