일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- leetcode
- 운영체제
- 딥러닝
- 마곡속눈썹연장
- 수학
- 프로그래머스
- 정렬
- 투포인터
- 코딩테스트
- OS
- 등촌동속눈썹연장
- Java
- 삼성
- 포스코
- 리트코드
- 다시보기
- 1차면접
- 백준
- 삼성SW역량테스트
- ai/bigdata
- 시뮬레이션
- 카카오
- 등촌동속눈썹펌
- level2
- 삼성 SW역량테스트 기출
- 추석트래픽
- 마곡속눈썹펌
- 알고리즘
- 직무면접
- BOJ
- Today
- Total
목록분류 전체보기 (71)
기록하는 습관을 들이자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lt8aw/btqJtjV3hBo/7u9pSV480lxzLj3gFWXyO1/img.jpg)
* CS(Computer Science) 스터디를 진행하며 공부하게 된 내용을 정리한 내용입니다. JVM이란? JVM이란 Java Virtual Machine의 약자로, 자바 가상 머신을 뜻하는 용어이다. JVM의 역할은 자바 프로그램을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. 일반적인 윈도우 프로그램과 Java 프로그램의 차이 Java가 OS에 상관없이 동작할 수 있도록 중계자 역할을 한다. GC(Garbage Collection)등의 기능을 제공한다. 자바 프로그램 실행 과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리 영역을 할당받는다. JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 자바 컴파일러(javac)가 자바 소스코드(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbV1cF/btqIdsuem9j/VmRpi2lS3RUlcXllXqkyZ1/img.png)
하반기 채용 공고가 점차 뜨기 시작하면서 코딩테스트를 준비하고 있는 분들이 늘고 있는 것 같아 글을 쓰게 되었습니다. 물론 저도 많이 부족하지만, 상반기 코딩테스트 준비하면서 참 힘들었고, 취준생분들 불안한 마음을 누구보다 잘 알기에,,,, 조금이나마 도움이 될 수 있지 않을까 해서 포스팅 하게 되었습니다. (고수분들 스루해주세요!!....) 일단 코딩테스트에서 자주 출제되는 유형을 정리해보면, 브루트 포스 DFS BFS 시뮬레이션/구현 DP 그리디 이분탐색 투포인터 이정도이다. 그 중에서 가장 많이 출제되는 유형을 꼽아보면, 브루트 포스 DFS BFS 시뮬레이션/구현 DP 그리디 이분탐색 투포인터 해당 유형이다. 그렇기 때문에, 해당 4가지 유형만 깊게 파고 공부하면, 웬만한 코딩테스트 합격선에는 들 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dFopQ8/btqHVmOuZV0/paqIHKySO8v1MoLbm6yJLK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 우리가 사는 집마다 고유의 주소가 있듯이 메모리 역시 주소를 통해 접근하는 저장장치이다. 우리가 사용하는 컴퓨터 시스템은 흔히 32비트 혹은 64비트 주소 체계를 사용한다. -> 32비트 주소 체계를 사용할 경우 2^32가지 서로 다른 메모리 위치를 구분할 수 있으며, 컴퓨터에서는 byte 단위로 메모리 주소를 부여하기 때문에 2^32 바이트만큼의 메모리 공간에 서로 다른 주소를 할당할 수 있다! 1. 주소 바인딩 앞 장에서 살펴보았듯이 프로그램이 실행을 위해 메모리에 적재되면 그 프로세스를 위한 독자적인 주소 공간이 생성된다. 이 주소를 논리적 주소(logical address) 혹은 가상 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbfYoR/btqH3yGSfnv/nwjpafQa0mIU14oCk3bI91/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. CPU는 프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙처리장치이다. 기계어 명령은 크게 CPU 내에서 수행되는 명령, 메모리 접근을 필요로 하는 명령, 입출력을 동반하는 명령으로 나눌 수 있다. CPU 내에서 수행되는 명령의 예: ADD 명령(레지스터 값들 더함) - 속도 빠름 메모리 접근을 수행하는 명령의 예: LOAD, STORE 명령(메모리에 있는 데이터를 읽고 쓴다) - CPU 내 명령보다는 시간이 소요되지만 비교적 빠른 시간에 수행 가능 입출력을 동반하는 명령: 특권 명령 - 운영체제가 대행 by 시스템 콜 이처럼, 사용자 프로그램이 실행되는 과정은 CPU 작업과 I/O ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZ41YJ/btqHO0FCIlb/vcMkwzHk6tu5DoHQZ7hMWk/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 프로세스의 개념 프로세스란 실행 중인 프로그램을 뜻한다. (program in execution) 프로세스가 시작해서 종료할 때까지 CPU에서 명령을 한꺼번에 수행하면 좋겠지만, 현대의 운영체제는 여러 프로세스가 함께 수행되는 시분할 시스템이다. 따라서 타이머 인터럽트에 의해 짧은 시간 동안 CPU를 사용한 후 빼앗기는 상황이 반복되기에 이전에 어느 명령까지 수행했는지 정확한 상태를 재현할 필요가 있다. -> 이 때 필요한 정보가 바로 프로세스의 문맥(context)! 보통 프로세스의 문맥(context)는 커널의 PCB에 저장된다. 2. 프로세스의 상태 프로세스의 상태는 실행(runni..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HMIPK/btqHUbzpxca/XPSrPSRWuZ15qc3m8J97GK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 프로그램의 구조와 인터럽트 우리가 사용하는 컴퓨터 프로그램의 내부 구조는 함수들로 구성된다. 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 하며, 그 주소 영역은 크게 코드(code), 데이터(data), 스택(stack) 영역으로 구분된다. ※ 코드 영역 : 프로그래머가 작성한 프로그램 함수들의 코드가 기계어 형태로 변환되어 저장되는 부분 데이터 영역 : 전역 변수 등 프로그램이 사용하는 데이터를 저장하는 부분 스택 영역 : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시 저장하는 부분 일반적으로 프로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKfJ5Z/btqHYIDdpxX/UGpS2KYaIPbcT2epKDA4GK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 1. 컴퓨터 시스템의 구조 컴퓨터 시스템의 구조는 컴퓨터 내부장치인 CPU, 메모리와 컴퓨터 외부장치인 디스크, 키보드, 프린터 등의 장치로 구성된다. 메모리 및 각종 입출력장치 등의 하드웨어 장치에는 각 장치에 관한 업무를 처리해주는 CPU인 컨트롤러가 존재. 2. CPU 연산과 I/O 연산 CPU 연산과 I/O 연산은 수행되는 곳이 서로 다르기 때문에 동시에 수행될 수 있다. I/O 연산은 입출력 장치에 붙어있는 컨트롤러가 해당 입출력 장치로부터 데이터를 읽어와 컨트롤러에 내장된 로컬 버퍼에 데이터를 임시로 저장하는 일이고, CPU 연산은 CPU가 주어진 작업을 수행하는 일이므로 독립적인 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NUiOf/btqHNwR9ti6/rZn4nikXjnlTms0hh0ZHJK/img.jpg)
※ 해당 포스팅은 이화여대 반효경 교수님 저서 [운영체제와 정보기술의 원리] 책 내용을 기반으로 작성되었습니다. 운영체제란 컴퓨터 시스템의 가장 기초적인 소프트웨어라고 볼 수 있다. 컴퓨터 시스템 내의 모든 하드웨어와 소프트웨어를 효율적으로 관리해주는 역할을 하며, 일부 프로그램이 자원 할당과 관련하여 차별받지 않도록 형평성 측면까지 고려하여 의사결정을 하는 소프트웨어라고 볼 수 있다. -> 따라서, 운영체제의 의사결정 원리를 이해하는 것은 우리 사회의 통치 개념을 이해하는 것과 같은 맥락이 될 수 있으며, 그 기반은 효율성과 형평성이다. 튜링 머신 튜링 머신은 오늘날 컴퓨터의 근간이 되는 이론적 모델이라고 할 수 있다. 현실 속 문제를 수학 및 논리적 문제로 표현하고 이를 특정 알고리즘을 이용하여 해결..
보호되어 있는 글입니다.