일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- application layer
- m:n
- 기본키 전략
- JPA
- 쉘 스크립트
- 알고리즘
- @SubscribeMapping
- 데커
- 커밋 되돌리기
- compgen
- intelij spring config
- 백준
- 컴파일 타임 상수
- 편향된 지수
- API
- 파이썬
- 쿠키
- Git
- 프로그래머스
- BindingResult
- 영속화
- 은행원알고리즘
- JDBC
- DTO
- 런타임 상수
- spring
- 무한정 대기
- allocationSize
- @Autowired
- Today
- Total
목록운영체제 (9)
둘셋 개발!
스레드란? 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 (= 프로세스 내에서 실제 작업을 실행하는 주체) 프로세스가 메모리로 로드하여 실행되는 프로그램이였다면, 스레드는 프로세스 내의 여러 작업들을 쪼개놓은 단위라고 생각하면 된다. 요즘은 cpu에 여러 코어가 있기 때문에 하나의 프로세스를 실행할 때 여러 코어에 스레드 단위로 작업 처리를 맡기면 효율을 높일 수 있다. 이렇게 프로세스를 스레드 단위로 쪼개고 스레드 단위로 cpu를 할당하는 것을 멀티스레딩 이라고 한다. 스레드 구조 (프로세스 구조를 모른다면 -----> https://lightson2323.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%ED%94%84%E..
프로세스란? 메모리에 올라와 컴퓨터에서 실행되고 있는 프로그램이다. 오늘날의 컴퓨터 구조는 폰 노이만 구조를 따른다. 폰노이만 구조는 모든 프로그램은 메모리에 올라와야 실행할 수 있다는 것이다. 따라서 저장장치에 있는 프로그램을 동작하게 하고 싶다면 메모리에 올라와야 하고 메모리에 올렸다면 실행할 수 있는 프로그램(프로세스)가 되는 것이다. 그렇다면 메모리에 어떤 형태로 프로그램이 올라와져 있는 것일까?? 프로세스 메모리 구조 우선 메모리의 구조부터 알아보자. (이미지 출처: yeahg_dev 블로그 https://velog.io/@yeahg_dev/TIL11.-C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%95%A0%EB%8B%B9-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA..
본격적인 메모리에 대해 이야기 하기 전에, 메모리를 왜 사용하기 시작했는지부터 설명해보고자 한다. 원래는 메모리라는 개념이 없었고 CPU를 포함하여 프로그램과 데이터 처리에 필요한 기능이 물리적인 회로로 구성되어 있었다. 그래서 수정및 업데이트를 하려면 회로를 다시 설계해야하는 불편함을 겪었다. 이를 해결하기 위해 폰 노이만은 아이디어를 내었다. 모든 프로그램은 메모리에 올라와야 실행할 수 있다. - 폰노이만 구조 메모리를 이용해서 프로그래밍이 가능한 컴퓨터 구조, 즉 하드웨어의 변경 없이 프로그램만 교체해서 메모리에 올리는 방식을 선택했다. 이로써 편의성이 크게 증가하였고 다양한 목적으로 사용이 가능해져 범용성이 향상되었다. 메모리는 CPU와 저장장치의 일종의 인터페이스 역할을 하는 것이다. 자바에서도..
CPU란 명령어를 해석하고 실행하는 장치로, 컴퓨터의 두뇌 같은 역할을 한다. 중앙처리 장치라고도 부른다. 작업을 처리하기 위해 연산도 하고 메모리에서 데이터도 가져온다. 그리고 이를 위해서 다른 시스템을 제어한다. (자꾸 cpu와 운영체제 개념이 머릿속에서 혼동이 된다.. cpu도 모든 시스템을 제어한다는 것이 운영체제가 자원을 관리한다는 것과 헷갈렸었다. 당연히 서로 전혀 다른 개념이지만! 정리해보자면 작업을 처리하려면 cpu를 할당받아야 하는데, cpu는 한번에 하나의 작업만 처리할 수 있기 때문에 운영체제가 cpu를 어떤 작업에 할당할지를 결정하고, cpu는 할당받은 작업을 처리하기 위해 다른 시스템을 제어하면서 연산작업을 실행한다.) CPU 구조 (이미지 출처: https://mk28.tisto..