33일차 OSI 7계층

LeeJaewon·2022년 12월 2일
0

프로그래머스 알고리즘 Lv.0
양꼬치

나는 이걸 이렇게 풀었다.

양꼬치 먹은 값 + 음료수 값 - 서비스음료
서비스음료 = 양꼬치 10인분 당 1개
그래서 음료수 갯수에서 양꼬치 인분 나누기 10의 몫을 구해서 빼주었다.

아래는 다른 사람의 풀이중 좋아요가 가장 많은 코드이다

여기서 내장함수 max가 쓰였는데 0과 service의 몫 중 큰 값을 반환해주는 것이다.


Process & Thread

키워드
1. 실행 단위 - cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념
2. (부연 설명이 없는) 프로세스 - 하나의 스레드만 가지고 있는 단일 스레드 프로세스
3. 동시성 - 한 순간에 여러가지 일이 아니라, 짧은(빠른) 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것

한 어플리케이션에 대한 두 가지 다른 처리 방식.

멀티코어 ?
멀티프로세스, 멀티스레드는 '처리방식'의 일종이기 때문에 소프트웨어 분야에 가깝고 멀티코어는 조금 더 하드웨어의 측면에 가깝다.

멀티코어와 관련된 키워드는 동시성과 병렬처리

리눅스에서는 프로세스와 스레드를 동일하게 본다.?
리눅스 커널에서는 프로세스와 스레드를 동일하게 본다.
스레드는 사용자스레드와 커널스레드로 나뉨
사용자스레드와 커널스레드는 어떤 연관관계가 존재
다대일, 일대일, 다대다 등등의 모델이 있음.
리눅스는 일대일 모델이기 때문에 하나의 사용자스레드당 커널스레드 하나가 매칭이 되어있음.

요약
1. 프로세스는 프로그램이 실행된 것이다.
2. 스레드는 한 프로세스 내에서 나뉘어진 하나 이상의 실행 단위이다.
3. 한 어플리케이션에 대한 작업을 동시에 하기 위해서는 2가지 처리 방식(멀티 프로세스, 멀티 스레드)이 있다.
4. 동시에 실행이 되는 것처럼 보이기 위해서 실행 단위는 시분할로 cpu를 점유하며 context switching을 한다.
5. 멀티 프로세스는 독립적인 메모리를 가지고 있지만 멀티 스레드는 자원을 공유한다. 그것에 따른 각각의 장단점이 있다.
6. 멀티 코어는 하드웨어 측면에서 실행 단위를 병렬적으로 처리할 수 있도록 여러 프로세서가 있는 것이다.


출처[10분 테코톡] 🌷 코다의 Process vs Thread

주말에 복습 할 것.

CS특강 - OSI 7계층

profile
한 걸음 한 걸음 꾸준히

0개의 댓글