programing
-
[Linux] processprograming/OS 2018. 7. 10. 10:38
안녕하세요, Einere입니다.process와 thread에 대해 배우신 분들이 많을것 같습니다.오늘은 그 중에서, process에 대해 포스팅 하려고 합니다. process concept process : an instance of running program.프로세스는 실행중인 프로그램의 한 인스턴스입니다.우리가 자주 사용하는 인터넷 익스플로러, 크롬, 워드, 한글, 롤 등등 모두, 실행을 하게 된다면 프로세스가 생성됩니다.또한 프로세스는 각자 고유한 id를 가집니다. process in memory 컴퓨터에서 프로그램을 실행시킨다면 disk에서 memory로 해당하는 data가 load됩니다.그리고 해당 process는 program counter, stack, data, text 등등의 data를..
-
[Linux] File System Implementationprograming/OS 2018. 6. 23. 21:10
안녕하세요, Einere입니다. 이번 포스팅은 과제로 수행했던 File System Implementation입니다. 가상의 Disk를 생성 후, Block단위로 읽고 쓰고 지우는 등의 동작이 가능합니다. 기본적은 file system 구성입니다. 아래는 실제로 구현한 기능들입니다.FileSysInit - file system initialize SetInodeBitMap - set specific index's value to 1 at inode bitmapResetInodeBitMap - set specific index's value to 0 at inode bitmapGetInode - get specific inode at inode listPutInode - set specific inode ..
-
[Linux] Disk Allocation Methodprograming/OS 2018. 6. 16. 18:56
안녕하세요, Einere입니다.오늘은 Disk allocation method에 대해 알아보겠습니다. 첫번째로, Contiguous Allocation입니다.이 방식은 disk상에 연속적으로 file block을 할당하는 방식입니다.만약 특정 file을 append할 때 여유공간이 없다면 충분한 공간이 있는 위치로 이동시킨 뒤 확장합니다.그리고 원래 자리의 block은 지웁니다.이렇게 block들을 옮기고 지우는 방식은 copy & paste를 하게 되는데, 그러면 필연적으로 disk access횟수가 늘어나게 되므로 매우 느립니다. 단점으로는, 읽기와 쓰기를 반복하다 보면 곳곳에 조각난 공간이 많이 발생하게 되는데, 이를 external fraction이라고 합니다.또한 file의 크기는 가변적이므로 ..
-
[Linux] Disk Schedulingprograming/OS 2018. 6. 16. 18:15
안녕하세요, Einere입니다. 오늘은 Disk scheduling에 대해 알아보겠습니다. FCFS(first come first service)입니다.process scheduling에서 사용하는 FIFO와 같습니다.IO request Q에 들어온 순서대로 처리하는 방식입니다.아주 간단한 방식이지만, 간단한 만큼 제일 안좋은 방식입니다. SSTF(shortest seek time fist)입니다. seek time이 최소인 request를 우선적으로 처리하는 방식입니다.효율적이기는 하나, seek time이 최대인 request에 대해서 starvation이 발생할 수 있습니다.(starvation : 기아, 기근. Q에 일찍 들어왔으나, 처리순서가 밀려서 실제로 scheduling되기까지 오랜 시간이..
-
[java] intellij와 tomcat을 사용할 때, webcontent 경로.programing/Language 2018. 5. 31. 16:26
안녕하세요, Einere입니다. IntelliJ와 tomcat을 이용한 웹개발시에, 서버에 파일을 업로드하기 위해 cos.jar를 사용하는데요, 이때 webcontent폴더의 경로를 알려드리겠습니다. 서버에 파일을 업로드하는 java코드와 server console입니다. 보시는바와 같이, getFilesystemName("path"); 에서 NullPointerException이 발생합니다. 처음엔 서버 콘솔창의 로그를 안보고 웹페이지에서 찍어주는 에러로그만 봐서 파일경로가 어디인지 찾느라 삽질했습니다..ㅠ sysout으로 열심히 경로 출력했는데..흑흑 여튼, 우연히 서버 콘솔창을 보니 저렇게 자세히 경로가 찍혀있었습니다. 자세히 보니 C:\Users\유저명\IdeaProjects\프로젝트명\out\a..
-
[MySQL] 3306 포트 삭제programing/Database 2018. 5. 29. 13:53
안녕하세요, Einere입니다. 오늘은 mysql의 기본 port인 3306이 이미 사용중일 때 삭제하는 방법을 알려드리겠습니다. 원래 제가 디비를 잘못 건드려서, 삭제 후 재설치 하려고 하는데 동그라미친 부분에 노란색 삼각형에 느낌표가 뜨면서 next버튼이 비활성화되어서 설치가 불가능했습니다.. 그래서 열심히 구글링 한 결과, 폴더 삭제, 서비스 중지, 레지스트리 정리가 중요한것 같았습니다. 특정 포트를 사용중인 서비스를 찾아서 종료하는 법은 clamp2x님의 포스트를 참고하세요.그리고 레지스트리 정리는.. 저는 따로 하지는 않았습니다.저같은 경우엔, mysql server폴더가 완전삭제되지 않아서 이런 에러가 발생했습니다. C:\ProgramData\MySQL의 폴더 내부를 정리해주세요.저같은 경우엔..
-
[java] Intellij에서 custom library import하기programing/Language 2018. 5. 29. 01:19
안녕하세요, Einere입니다. 오늘은 커스텀 패키지인 cos.jar를 사용해야 하는데, import에서 못찾는다고 나와서 삽질하다가 해결했습니다. 그런고로 해결법을 포스팅하려고 합니다. 보통은 WEB-INF/lib에 넣으면 자동으로 찾아서 해준다던데.. 저는 안되더라구요. 그래서 직접 path를 설정해줘야 한다고 합니다. 우선, WAS인 tomcat을 우클릭 한 뒤, Open Library Settings를 클릭합니다. Project Structure창이 뜨면, +버튼을 눌러 New Global Library에서 Java를 클릭합니다. WEB-INF/lib에 있던 cos.jar를 선택하면 끝! 앞으로 다양한 외부 library를 사용했을 때, 제대로 import되지 않는다면 이 방법을 사용해보세요.