본문 바로가기

전체 글82

[OS] 스케쥴러와 CPU 스케쥴링 1. 프로세스 스케쥴링 정의 프로세스 스케쥴링이란 CPU로부터 running 중인 프로세스를 스케쥴에 맞게 동작시키기 위한 하나의 활동 특히 멀티프로그래밍 OS에서 필수적인 요소임 비선점형과 선점형 비선점형 : 쉽게 말해 round-robin , 강제로 빼앗지 않고 자진 반납 (non-preemptive) 선점형 : 우선순위에 따른 프로세스 switching , 강제로 빼앗음 (preemptive) 프로세스 스케쥴링 큐 OS는 PCBs를 통해 프로세스 스케쥴링 큐를 관리하며 OS는 프로세스의 상태에 따라 별개의 queue를 관리하고 있으며, 같은 상태의 프로세스 PCBs들은 같은 queue에 저장이 됨 Job Queue : 현재 시스템 내에 있는 모든 프로세스 집합 (ready queue + device.. 2023. 3. 12.
[Java] 상속과 인터페이스 상속 상속에서는 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만듦으로써 중복되는 코드를 줄이고 개발시간을 단축시킨다. extends를 사용하여 자식이 부모를 선택하며 자식 객체가 생성되면 부모 객체는 먼저 생성된다 (super()가 숨겨져있음) 메소드 오버라이딩을 통하여 자식은 부모가 가지고 있는 메서드를 다르게 사용할 수 있고, final 키워드를 통해서 상속이 불가능한 클래스나 오버라이딩이 불가능한 메서드를 만들 수 있다. protected 접근 제한자는 default와 public의 중간이라고 할 수 있는데, 같은 패키지이거나 자식 객체만 사용이 가능하다. (상속에서 사용이 많이 될 것으로 생각되었다.) 타입 변환의 경우 부모타입 변수 = 자식타입객체; 로 이루어진다. 이 개념은 계속 보아도.. 2023. 3. 12.
[기초] RESTful API란 무엇일까? 1. API? Application Programming Interface 두 소프트웨어가 서로 통신하는데 필요한 일종의 약속으로,통신은 requests와 response를 통해서 이루어짐 이 약속에 대한 일련의 정의(definitions)나 규약(protocols)들이 정해져있고, Client(request) → ← Server(response) 2. REST 1) REST Representational State Transfer REpresentational : 대표적인 State : 상태의 Transfer : 전송 로이필딩(Roy Fielding)이 자신의 2000년 박사 학위 논문에 정의한 네트워크 소프트웨어 아키텍처 ‘네트워크에서 통신 구성시 이런 구조로 설계하라는 지침’ 기존에는 Network.. 2023. 3. 1.
[Java] SDK, JVM, JDK, JRE, JIT ... ? 자바를 공부하다보면 만나는 여러가지 용어들. 한번 정리해봤다. JDK, JRE, JVM은 자바 플랫폼을 구성하고 있는 3대 요소이다. 일단 세가지부터 알아보기로 한다. 일단 제일 큰 단위인 JDK부터, JDK Java Development Kit JDK를 얘기하기 전에 SDK부터 알아보자, SDK는 Software Development Kit의 약자로 우리가 흔히 쓰는 API, IDE, 각종 문서, 라이브러리, 코드샘플 및 기타 유틸리티가 포함되어 있다. JDK는 JAVA Development Kit의 약자이고 Java 환경에서 돌아가는 프로그램을 개발하는데 필요한 tool들을 모아놓은 package라고 보면 될 것 같다. 예를 들어, JRE, Java 바이트코드 컴파일러, JVM 등이 모두 포함된다. .. 2023. 2. 19.
[기초] 2의 보수에 대해 알아보자! 이진법에서 -1을 표현하려면 어떻게 해야할까요? (+2의 보수) 2진법에서 (-)값을 나타내면 어떻게 나타낼 수 있을까? 머리 속에 2의 보수의 개념이 떠다니긴 하지만 그것을 말로 설명하지 못한다면 메타인지가 제대로 안되어있다는 증거이다. (내가 그렇다..) CSAPP 책을 보면서 2의 보수에 대한 개념을 접하였으나 헷갈리기 쉬운 개념인만큼 차근차근 정리해보자 https://st-lab.tistory.com/189 2진수의 수와 음수 표현법 [1의 보수와 2의 보수] 안녕하세요. 오늘은 프로그래밍이 아닌 컴퓨터의 연산에 대해 이해해보고자 합니다. 우리가 흔히 프로그래밍을 할 때는 그나마 사람에 가까운 언어로 된 고급언어들로 작성을 하지만 실제 컴퓨 st-lab.tistory.com 위의 블로그에 매우 자.. 2023. 2. 15.
[Python] 파이썬 int의 최대값은? 목적 : 파이썬에 대한 기본적인 지식 함양 기술인터뷰를 보다가 python의 int의 범위는 어느정도 될까요? 라는 질문을 받았다. 평소 생각하지 못했던 내용이라 C언어의 4bytes로 유추해 '2의 32승의 데이터를 표현할 수 있을 것이라고 생각합니다.'로 말씀을 드렸다. 면접을 보고 다시 한번 찾아보니 파이썬은 int의 limit값이 따로 없다. 공식문서에 명확하게 나와 있다. Integers have unlimited precision. (official) In Python, value of an integer is not restricted by the number of bits and can expand to the limit of the available memory (geeksforgeeks.. 2023. 2. 14.