Computer Science
-
[OS] 프로세스 스케줄링 (Process Scheduling)Computer Science/운영체제 2020. 11. 6. 21:28
스케줄링의 목적 프로세스 스케줄링이 왜 필요한가? 우리가 사용하는 대부분의 시스템은 하나의 프로세스만을 가지고 있지 않습니다. 여러 개의 프로세스가 시스템 내 존재하는 다중 프로그래밍(Multi-Programming) 환경입니다. 따라서 자원을 나누어 사용하기 위해서 할당 할 프로세스를 선택해야 합니다. 즉 자원을 할당 할 프로세스를 선택하는 것을 스케줄링이라고 얘기할 수 있습니다. ※ 자원을 관리하는 방법 시간 분할 (Time Sharing) 관리 : 하나의 자원을 여러 스레드들이 번갈아 가며 사용 (프로세서 스케줄링) 공간 분할 (Space Sharing) 관리 : 하나의 자원을 분할하여 동시에 사용 (메모리 분할) 다시 한번 스케줄링의 목적을 정리하면, 시스템의 성능 향상을 위해서 입니다. 이러한 ..
-
[OS] 스레드 관리 (Thread Management)Computer Science/운영체제 2020. 10. 21. 14:32
프로세스(Process)와 스레드(Thread) 프로세스는 자원을 할당받고, 그 자원을 제어하여 원하는 작업을 수행합니다. 자원의 할당과 자원의 제어에서 후자 부분만을 떼어놓은 것을 스레드라고 합니다. 하나의 프로세스 안에는 여러 개의 스레드가 존재할 수 있습니다. 즉 제어는 여러개 존재할 수 있다는 것을 의미합니다. 프로세스가 할당받은 자원들은 공유하면서, 이에 대한 제어권(스레드)는 위와 같이 여러개가 존재할 수 있습니다 어떤 프로세스에게 할당된 메모리 공간이 있을 때, 위와 같이 같은 프로세스의 스레드들은 동일한 주소 공간을 공유합니다. (자원 영역인 코드, 전역 데이터, 힙 영역을 공유한다는 의미) 그리고 각 스레드마다 자신의 작업 영역을 할당받게 됩니다. 할당된 공간에서 지역 데이터를 만들고 작..
-
정보처리기사 실기 용어 정리Computer Science/IT용어 2020. 9. 29. 14:49
반정규화(비정규화) 데이터베이스의 성능 향상을 위해 중복을 허용하고 조인을 줄이는 방법이다. 정규화 관계형 데이터베이스에서 중복을 최소화하기 위해서 데이터를 구조화하는 작업이다. XML HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단어를 개선한 다목적 마크업 언어이다. 웹 상에서 구조화된 문서를 상호 교환 가능하도록 설계된 웹 표준 문서 포맷으로 메타 데이터 정의가 명확하다. JSON 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 데이터 교환 형식이다. key, value가 쌍으로 존재하며, 태그로 표현하기보다는 중괄호 등을 이용한다. 살충제 패러독스(Pesticide Paradox) 같은 테스트 케이스를 가지고 테스트를 계속해서 반복하면 내성으로 인해 결국 버그가 발견되지 않는다. ..
-
데이터베이스 격리수준Computer Science/데이터베이스 2020. 9. 24. 01:16
격리수준이란? 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것 특정 트랜잭션이 다른 트랜잭션에 변경한 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것 Oracle 트랜잭션 A가 시작된 후 update 쿼리를 날린다. 이 타이밍에 트랜잭션 B도 시작되고 select 쿼리를 날린다. 이때 트랜잭션 B의 select 쿼리의 결과는 장보고가 아닌 임꺽정이 나온다. (변경이 적용 안됨) 왜냐하면 Oracle은 데이터를 읽을 때 커밋된 것만 읽는다. (Read Commit) 트랜잭션이 종료되어 commit을 날리기 전까지 select 결과는 위와 같다. commit이 된 후 트랜잭션 B에서 select 쿼리를 날리면 드디어 장보고가 나온다. Oracle에서 데이터의 C..
-
[Oracle] Sequence 초기화 하는법Computer Science/데이터베이스 2020. 7. 18. 19:02
https://stackoverflow.com/questions/51470/how-do-i-reset-a-sequence-in-oracle How do I reset a sequence in Oracle? In PostgreSQL, I can do something like this: ALTER SEQUENCE serial RESTART WITH 0; Is there an Oracle equivalent? stackoverflow.com 오라클 DB의 인덱스를 만지다가 다음과 같은 오류를 만나게 되었습니다. sequence seq_board.nextval goes below minvalue and cannot be instantiated 평상시에 MySQL을 주로 써서 문법에 익숙치 않은 탓에 도저히 혼..
-
SOAP API VS REST APIComputer Science/IT용어 2020. 5. 26. 22:22
API(Application Programming Interface) 어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구 SOAP(Simple Object Access Protocol) 웹서비스 내의 모든 데이터는 XML로 표현됩니다. 그 데이터들과 이를 다룰 수 있는 오퍼레이션들이 WSDL로 정의되면 UDDI라는 전역적 서비스 저장소에 등록(publish)되어 누구라도 서비스를 찾을 수 있도록 공개됩니다. 공개된 웹서비스가 이용될 때, 서비스 요청자와 서비스 제공자 간에 SOAP을 이용하여 서비스를 호출하고 결과를 돌려받게 됩니다. SOAP 메시지는 아래 그림과 같이 SOAP 봉투(envelope), SOAP 헤더(header), SOAP 바디(b..
-
웹 서비스 & 웹 어플리케이션 정의Computer Science/IT용어 2020. 5. 26. 21:47
Web Service(웹 서비스) 웹 서비스에 대한 위키피디아의 정의는 다음과 같습니다. A service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web -> WWW를 이용한 디바이스와 디바이스간의 통신 서비스 A server running on a computer device, listening for requests at a particular port over a network, serving web documents (HTML, JSON, XML, images), and creating web applications services, whi..