전체 글

전체 글

    [자료구조] 자료구조와 알고리즘의 이해

    [자료구조] 자료구조와 알고리즘의 이해

    이번 학기에 알고리즘을 들어야 하는데 선수과목인 자료구조를 아직 듣지않아서 혼자 따로 공부해보려고 한다. 지금 공부해두면 다음학기 자료구조 들을때도 좀 더 편하지않을까 싶다 :) 책은 예전에 C++공부할때 같이 샀던 열혈자료구조(윤성우 저)로 공부하였다. 01. 자료구조와 알고리즘의 이해 01-1. 자료구조(Data Structure)에 대한 기본적인 이해 - 자료구조와 알고리즘은 무엇인가? 자료구조는 '데이터의 표현 및 저장방법'을 의미하고, 알고리즘은 이렇게 저장된 데이터로 '문제를 해결하는 방법'을 뜻한다. - 자료구조의 종류는 어떤것이 있는가? 크게 선형 자료구조와 비선형 자료구조로 나뉘게 된다. 선형 자료구조에는 리스트, 스택, 큐가 있고 비선형 자료구조에는 트리, 그래프가 있다. 01-2. 알..

    <FORM> 태그 submit시 confirm 확인하기

    게시판의 글 삭제 시 삭제 버튼을 누르면 confirm창이 뜨면서 재확인하는 작업을 구현하고 싶었다. 삭제 위와 같이 코드를 작성하고 버튼을 클릭하면 confirm에서 뭘 선택했는지 (확인/취소)와 상관없이 무조건 submit이 넘어가는 문제가 발생했다. 잘은 모르겠지만 내가 생각했을 때 1. 버튼 클릭과 동시에 submit이 바로 제출되거나 2. script에서 false를 return 할 때 submit에 대한 false가 일어나지 않음 때문일 것 같다. (혹시 아시는분은 댓글로 알려주시면 감사하겠습니다 :) ) 여튼 열심히 찾아본 결과 태그 내에서 onsubmit을 사용해 해결할 수 있었다. 삭제 처음의 script문은 그냥 지우고 onsubmit을 활용하면 confirm문의 결과에 따라 submi..

    5-1 CPU Scheduling (Concepts)

    Basic Concepts - 멀티프로그래밍을 통해 최대 CPU 활용률을 얻을 수 있다. (time sharing 기반) - 멀티프로그래밍은 job을 organaze하여 CPU가 항상 돌아가도록 한다. - CPU Burst 와 I/O Burst를 적절히 분배해야 CPU 효율성이 올라간다. CPU Scheduler (Algorithm) 1) Switches from running to waiting state (e.g., I/O request) 2) Switches from running to ready state (e.g., interrupt) 3) Switches from waiting to ready (e.g., I/O completion) 4) Terminates -> Scheduling under..

    4 Thread

    Thread - Basic unit of CPU utilization(효율성) - 같은 process내에서의 thread끼리는 자원을 공유한다 (code section, data section 등) - 자원 공유의 Benefits 1. Responsiveness(반응성) : process를 여러 스레드로 나누면 process의 일부가 block 되어도 다른 스레드로 동작 가능하다. 2. Resource sharing(자원 공유) : 효율은 높이고, 메모리 낭비는 줄인다. 3. Economy(경제적 측면) : context-switch time (PCB정보 업데이트 시간)이 소모되지 않음. 4. Scalability(확장성) : multiprocessor 구조의 이점 - Multithread process..

    3-3 IPC

    - 프로세스는 independent 하거나 cooperating 할 수 있다. - Cooperating processing의 장점 1. information sharing 정보공유 2. computation speed-up 시간 절약 3. modularity 기능화 (task를 나눔) 4. convenience 편리성 - Cooperating process를 하려면 interprocess communication(IPC)가 필요하다. IPC 모델 1. Shared memory : 프로세스들이 사용자 memory 영역을 공유한다 (OS가 관여하지 않음) 2. Message passing : 프로세스들이 kernel memory 영역을 공유한다 수 있다. 1. Shared memory - producer와 ..

    3-2 Process Scheduling

    - CPU 활용도를 극대화하기 위해 process scheduling을 한다. - process scheduling 대기열 관리 1. Job queue : 시스템 전체의 process들을 저장하는 queue 2. Ready queue : Main Memory에 저장되어 CPU에 실행되기 위해 기다리는 queue 3. Device queue : I/O process를 저장하기 위한 queue - Queueing diagram ppt 3쪽 Scheduler 종류 1. Long-term scheduler (or Job Scheduler) - 수행해야 할 잡 풀(job pool)로부터 프로세스를 선별하고 실행하기 위해 메모리에 적재한다. - job queue에서 ready queue에 적재하는 스케줄러이다. 이..

    Ubuntu root권한 얻기

    Ubuntu에는 일반사용자와 root가 나뉘어 있다고 한다. 일반사용자는 말 그대로 사용?만 가능하고 root권한을 가지고 있어야 파일을 고치고 할 수 있는듯! Ubuntu에서 root권한 얻는법 : 1. 사용자이름@사용자이름-VirtualBox:~$ 2. 사용자이름@사용자이름-VirtualBox:~$ su (su는 명령어이다) 3. 암호 : (내 암호 쳐주기, 이때 암호는 사용자에게 보이지 않는다) 3. root@사용자이름-VirtualBox:/home/사용자이름# 으로 바뀌어있음! 볼드처리한건 컴퓨터에 뜨는 글이고 파란색 글은 내가 직접치는 명령어다!